ネクストセット・組織ワークフロー for Office 365 とは!?

このページは、「ネクストセット・組織ワークフロー for Office 365」サービスの利用者マニュアルになります。
国産のワークフロー製品と同じ様なワークフローを、SharePointサイトやTeamsアプリにアドオンする形で実現が可能です!
Office 365とシームレスに動く、クラウド環境のワークフローになります。              → 利用規約

・Office 365と同じ環境で動くワークフロー(クラウド上で稼働するワークフローでPC・スマートフォンからでも閲覧・操作が可能)
・SharePointサイト上で運用が可能(SharePointサイトのアプリパーツで提供)
・Teams上でチーム単位での運用が可能(Teamsのカスタムアプリとして提供)
・多種多様な高度なワークフローが可能(条件分岐、代理承認、他システム連携、捺印、ディスカッション機能など、通常のワークフロー機能に加えて、複雑なワークフロー機能も実現可能です。
 
ネクストセット・組織ワークフローは、SharePointサイト、Teamsのページにワークフロー機能を埋め込み、
Office365の一機能のように動作するため、Office365ユーザー様にも違和感なくご利用いただけます。


Teamsのチーム上でご利用いただけるアプリケーションをご提供しております。
各チームのオーナーがカスタムアプリをチームに追加するだけですぐにご利用いただけます。
 
① ワークフローユーザー画面
ユーザーがワークフローを利用するためのアプリパーツです!申請、承認などすべてのアクションを行うメインの画面です。


② ワークフロー管理画面
 ワークフローの設計やダウンロードなどが可能な管理者画面のアプリパーツです。
 ひな形の作成・変更や、Office365との連携設定などは管理者画面から実施いただけます。



また、SharePointサイトに埋め込む形でご利用いただける3つのアプリパーツも提供しております。
こちらも各サイトコレクションの管理者がアプリパーツをページに埋め込むだけですぐにご利用いただけます。
 
① ワークフローアプリパーツ
 ユーザーがワークフローを利用するためのアプリパーツです!申請、承認などすべてのアクションを行うメインの画面です。


② ワークフローサマリーアプリパーツ
 ユーザーがワークフローの承認/決裁、回覧待ちの件数を確認するためのアプリパーツです。
 ポータルサイトなどに  埋め込んでご利用いただけます。


③ ワークフロー管理者アプリパーツ
 ワークフローの設計やダウンロードなどが可能な管理者画面のアプリパーツです。
 ひな形の作成・変更や、Office365との連携設定などは管理者画面から実施いただけます。


事前準備:インストール、初期セットアップ 後、アプリパーツを配置してみてください。
アプリパーツをSharePointに埋め込む詳細手順は 事前準備:SharePointサイトへのアプリパーツの配置 をご参照ください。


ワークフロー機能の5分間セットアップデモ

組織ワークフローセットアップ5分間動画


組織ワークフロー機能詳細のご紹介(60分)

組織ワークフロー機能詳細のご紹介



ワークフローのひな形テンプレートはこちら
※ワークフローの申請書ひな形が多数そろっています。ぜひご利用ください。
ワークフローのサンプル・応用テクニックはこちら(HTML、JavaScript、jQuery編)
ワークフローのサンプル・応用テクニックはこちら(ワークフローの機能編)
【組織ワークフロー】承認ルートについて.pdf     new!
 → 承認ルートの設定イメージが非常によくまとまっている資料です(お勧めです)。


ネクストセット・組織ワークフロー for Office365 の機能一覧

・ワークフロー画面設計機能(複数の種類のワークフローが作成可能です。無制限)
・組織内承認ルート設計(申請書種類毎にワークフローの申請ルートを設計する事が可能です。)
・申請→承認→承認→決裁→回覧→アーカイブ機能
・承認・決裁
・否認・差戻し機能
・ワークフローお知らせメール機能(申請や承認時に自動的にメールが飛びます。)
・コメント登録追加(承認&回覧時にコメントを登録する事が可能)
・ディスカッション機能(承認前に、事前にメンバーとQ&A的なディスカッションが可能)
・条件分岐(金額による条件分岐、選択項目による条件分岐)
・数字等の合計金額自動計算機能
・選択項目マスター機能(選択項目を事前マスターとして管理する事が可能)
・代理承認(代理承認メンバーをセットする事で、代理メンバーが一時的に承認行為が可能)
・グループ承認(メンバー全員一致、誰か一人が承認で次の申請へ)
・印鑑捺印(申請、承認、決裁すると自動的に印鑑が捺印されます。)
・添付ファイル可能(複数ファイル可能)
・入力チェック機能(数字のみ、ひらがな、カナ、文字数、必須項目、任意項目)
・管理者によるCSVダウンロード
・申請番号自動採番機能
・リードオンリーフィールド機能(自動計算フィールドや採番フィールドなどはリードオンリー)
・ワークフロー中、申請内容編集権限機能(ワークフロー中にフィールド毎に編集権限を付与可能)
・コピー新規機能(複製作成機能)
・下書き機能、作業中保存機能(申請、承認中に作業内容を保存できる機能)
・承認が必要な明細のハイライト機能(承認すべき申請書が簡単に判別可能)
・申請書作成時自動セット機能
(自分の名前やメールアドレス、役職、上長名などを自動的にセット可能)
・他のワークフローからの引継ぎ機能(例:仮払い申請→経費清算)
・SharePointサイト内のアプリパーツにて提供
  (ユーザー向けアプリパーツ、管理者向けアプリパーツ、承認件数ダイジェストアプリパーツ)
・他システムのインターフェイス(適宜カスタマイズも可能)
・多言語対応(英語、日本語、中国語、など順次対応中)
・システム仮想化機能(同じドメイン内で複数の同じシステムを複数作成可能)
 ※グループ会社毎、部署毎にワークフロー機能を別々で利用可能
・他システムとの連携用の公開APIの提供 詳細はこちら
・スマートフォン・タブレット最適化対応 詳細はこちら
・オペレーションログ機能に対応 詳細はこちら
・各種通知メール文面のカスタマイズ機能に対応 詳細はこちら
・Office365とのOpenIDConnect認証に対応 詳細はこちら
・「サテライトオフィス・通知サーバー for クラウド」連携に対応 詳細はこちら
・「Skype for Business」チャットでのディスカッション機能に対応 詳細はこちら
・一括承認/回覧機能に対応 詳細はこちら
・複数部署、役職の兼務に対応 詳細はこちら​ new!
・印鑑やステータス表記のカスタマイズ機能に対応 詳細はこちら new!
・Teamsのカスタムアプリに対応 詳細はこちら new!


目次

  1. 1 ネクストセット・組織ワークフロー for Office 365 とは!?
  2. 2 ネクストセット・組織ワークフロー for Office365 の機能一覧
  3. 3 事前準備:インストール、初期セットアップ
  4. 4 事前準備:Teamsチームへのカスタムアプリの追加
  5. 5 事前準備:SharePointサイトへのアプリパーツの配置
  6. 6 事前準備:ユーザーの操作(申請、承認)を体験してみる
    1. 6.1 ・ユーザー用アプリパーツ(ワークフローアプリパーツ)ページを開く
    2. 6.2 ・新規申請をしてみる
    3. 6.3 ・承認をしてみる
  7. 7 事前準備:Office365との連携設定を行う
    1. 7.1 ■Office365全体管理者アカウントを登録
  8. 8 事前準備:ユーザー情報を登録する
    1. 8.1 ■Office365ユーザーとの自動同期設定を行う
  9. 9 事前準備:ひな形を作成する
    1. 9.1 ■ひな形テンプレートを元にひな形を作成する
    2. 9.2 ■ひな形レイアウトの変更や制御ロジックを追加する
    3. 9.3 ■承認ルートの設定を行う
  10. 10 機能トピック:基本機能、閲覧権限編
    1. 10.1 ■承認プロセスの流れと承認アクションの種類 ~承認、決裁、回覧、否決、差し戻し
    2. 10.2 ■差し戻し・再申請機能
    3. 10.3 ■「申請書閲覧者」機能 ~ある申請書に関してだけ特権的アクセス権を付与する
    4. 10.4 ■「ワークフローグループ」機能 ~申請できる申請書をユーザーごとに制御
    5. 10.5 ■開通通知機能  ~ 承認者の開封通知を受け取る
  11. 11 機能トピック:承認ルート編
    1. 11.1  ■承認候補者を申請者や承認者が手動で追加、削除できるように設定
    2. 11.2 ■申請者自身に承認者(上長、課長、部長)を設定しておき、承認者を自動セットする方法
    3. 11.3 ■部署や役職によって承認者を自動セットする方法
    4. 11.4 ■承認グループ機能  ~ 複数の承認者をグルーピングして承認ルートにセットする方法
    5. 11.5 ■ 特定の承認者が申請書の内容を変更できる設定
    6. 11.6 ■ ファイルを添付できる設定 ~ 指定承認者が添付ファイルを編集できる
    7. 11.7 ■ 全員承認・回覧機能 ~ 承認プロセス内の全員が承認して初めて次の承認プロセスに移動
    8. 11.8 ■特定の承認候補者を除外する ~ 同一承認者が複数存在する場合に除外、申請者自身が含まれる場合に除外
    9. 11.9 ■自動承認機能 ~ 一定期間承認がない場合に自動で承認する
    10. 11.10 ■承認催促機能 ~ 一定期間承認がない場合に催促メールを送る
    11. 11.11 ■承認候補者の指定を必須とする  ~ 決裁者が必ず指定されているように制御
    12. 11.12 ■印鑑や承認ステータス(承認、回覧、決裁、否決、差し戻し)の文言カスタマイズ
  12. 12 機能トピック:レイアウト編
    1. 12.1 ■ひな形テンプレートからひな形を作成
    2. 12.2 ■採番機能 ~ 申請番号、決裁番号、その他任意の採番を実現
    3. 12.3 ■印鑑(ハンコ)を表示
    4. 12.4 ■数値の自動計算
    5. 12.5 ■申請書にディスカッション機能を追加する
  13. 13 機能トピック:マスター編
    1. 13.1 ■マスターデータのプリロード設定 ~ マスターを事前に読み込むことで高速化を実現
    2. 13.2 ■マスターの情報を選択ボックスに表示
    3. 13.3 ■参照用マスターデータを選択ウィンドウで利用
    4. 13.4 ■マスター情報の更新 ~ 入力内容をもとにマスターの値を更新する
  14. 14 機能トピック:その他
    1. 14.1 ■Office365とのOffice365認証(OpenIDConnect認証) ~ より便利&安定稼働する認証方式
    2. 14.2 サードパーティCookieの有効化について
    3. 14.3 ■「アプリケーション仮想分割」機能 ~テナント内に複数のワークフロー環境を構築
    4. 14.4 ■ユーザーのメールアドレスおよび姓名を変更する
    5. 14.5 ■スマートフォン/タブレット版ワークフローを利用する
    6. 14.6 ■印刷専用フォームの作成
    7. 14.7 ■コメント欄の追加
    8. 14.8 ■管理者による申請書の編集・削除
    9. 14.9 ■ひな形をカテゴリーに分類
    10. 14.10 ■新規申請フォームをポータルサイトのリンクから直接開く方法
    11. 14.11 ■公開API機能
    12. 14.12 ■オペレーションログ機能 ~ 文書の申請、承認、回覧などのアクションログを取得
    13. 14.13 ■画面の機能を制限する方法 ~ 一部の機能だけを使わせたい
    14. 14.14 ■文書をポップアップして開く方法
    15. 14.15 ■通知メールの文面をカスタマイズする方法
    16. 14.16 ■ひな形のバージョン管理 ~ 変更前の状態に復元する
    17. 14.17 ■「サテライトオフィス・通知サーバー for クラウド」に通知を送る
    18. 14.18 ■兼務ユーザーの設定 ~ 複数部署を兼務して申請、承認、回覧などを行う
  15. 15 機能一覧:ワークフローアプリパーツ(ユーザー用)
    1. 15.1 ■申請書の新規作成と申請
    2. 15.2 ■「申請」タブ
    3. 15.3 ■「下書き」タブ
    4. 15.4 ■「承認/決裁待ち」タブ
    5. 15.5 ■「承認/決裁済み」タブ
    6. 15.6 ■「回覧待ち」タブ
    7. 15.7 ■「回覧済み」タブ
    8. 15.8 ■代理承認者の設定
    9. 15.9 ■代理申請者の設定
    10. 15.10 ■言語の設定
    11. 15.11 ■タイムゾーンの設定
    12. 15.12 ■リッチテキスト内へのリンクの貼り付け
    13. 15.13 ■リッチテキスト内への添付画像の埋め込み
  16. 16 機能一覧:管理者画面アプリパーツ(管理者用)
    1. 16.1 ■「申請書検索」タブ
    2. 16.2 ■「申請書ひな形」タブ
    3. 16.3 ■「ユーザー情報」タブ
    4. 16.4 ■「承認グループ情報」タブ
    5. 16.5 ■「参照用マスターデータ」タブ
    6. 16.6 ■「連携設定」タブ
    7. 16.7 ​​■「申請一覧項目」タブ
    8. 16.8 ​■「その他の設定」タブ
  17. 17 機能一覧:ひな形本文用特殊クラス・タグ
  18. 18 機能一覧:承認ルート用特殊クラス・タグ
  19. 19 機能一覧:申請書本文で利用できるイベントハンドラ
  20. 20 機能一覧:公開 JavaScript API関数
  21. 21 よくある質問(FAQ)
    1. 21.1 ・リッチテキスト項目にファイルを直接ドラッグ&ドロップで張り付けることはできますか?
    2. 21.2 ・ユーザーIDを変更したのですが旧ユーザーとしてアクセスしてしまう
    3. 21.3 ・「印刷ウィンドウを開く」ボタンを押すとエラーする
    4. 21.4 ・リッチテキスト内への埋め込みが動作しません?
    5. 21.5 ・手元のパソコン、サーバーに申請書のバックアップを取ることはできますでしょうか?
    6. 21.6 ・同じ「name」のチェックボックスを複数設定するにはどうしたらよいでしょうか。
    7. 21.7 ・チェックボックスに「value」を指定してもCSVファイルに適切に反映されないのですが、どうすれば反映するようになるでしょうか?
    8. 21.8 ・ひな形の削除機能はありますか?
    9. 21.9 ・申請書の削除機能はありますか?
    10. 21.10 ・通知メールの件名に記載されている申請番号は何でしょうか?
    11. 21.11 ・「date」クラスで作成したカレンダー入力で、カレンダーから日にちを選択したときにchangeイベントが拾えません。
    12. 21.12 ・申請書を印刷すると、申請書本文が2ページ目以降に印刷される
    13. 21.13 ・回覧者にOffice365グループのメールアドレスを指定したのですが、うまくいきません。
    14. 21.14 ・「apply_no」や「final_approve_no」で、番号のリセットはできませんか?
    15. 21.15 ・消費税率変更に関する対応ポイントは?
  22. 22 今後の拡張構想・リリース予定
  23. 23 リリース履歴



事前準備:インストール、初期セットアップ

組織ワークフローをご利用いただくには、始めに下記手順でOffice365テナントにインストールを行ってください。

※従来からご利用で認証方式を「Office365認証」に切り替えられるお客様は、実施前に必ず
機能トピック:Office365認証(OpenIDConnect認証) セクションをご確認ください。



Office365全体管理者アカウントの用意

以下の作業はOffice365全体管理者アカウントで行う必要がありますので
あらかじめOffice365テナントの全体管理者のご用意をお願いします。※ライセンスの割り当ては不要です。

セットアップページで基本情報を登録

下記セットアップページにアクセスして必要情報の入力をして「次へ」ボタンをクリックしてください。

Office365全体管理者でログインして「承諾」をクリック





以上で初期セットアップ作業は完了です。




事前準備:Teamsチームへのカスタムアプリの追加

組織ワークフローはTeamsチーム上でご利用いただくことができます。以下の手順でチームにカスタムアプリを追加してください。※配置後、すぐにご利用可能です!

従来からご利用で認証方式を「Office365認証」に切り替えられていないお客様は、事前に切り替えが必要です。
機能トピック:Office365認証(OpenIDConnect認証) セクションをご確認ください。



カスタムアプリマニュフェストファイルのダウンロード
カスタムアプリのマニュフェストファイル(TeamsAppManifestWorkflow.zip)をダウンロードしてください。


チームにカスタムアプリを追加
Teamsのチームにカスタムアプリとして上記のマニュフェストファイル(ZIPファイル)をアップロードします。
まずはユーザー用画面のパーツを追加してみましょう。
※カスタムアプリはチームのオーナーが追加できます。



アップロードしたカスタムアプリをクリックしてチームに追加します。

下図のような認証するボタンが表示された場合はクリックしてください。


下図のような画面が出た場合は内容を確認の上「承諾」ボタンを押して下さい。
※テナントの全体管理者の場合は「組織の代理として同意する」チェックボックスを押すと
他のチームへのアプリ追加時に下図のダイアログが表示されなくなります。


アプリパーツ(カスタムアプリ)の設定画面が表示されるので、
追加したいパーツを選択し、必要な設定を入れてから「保存」をクリックしてください。

 
※アプリケーションIDについて
組織ワークフローではアプリケーションIDを設定することで同一テナント内で複数のワークフロー環境を構築することができます。
まずは検証用環境を作りたい場合やチームごとに別々のワークフロー環境で利用したい場合は、
例えば「TEST」などとご設定頂ければ本番環境と分離した環境で検証が可能です(詳細は 「アプリケーション仮想分割」機能 )。



以上でTeamsのチームにワークフローのガジェットが埋め込まれご利用いただけるようになります。
交通費精算などいくつかのひな形が初期セットアップされていますので、まずはユーザーアプリパーツから申請~承認などの動きを体験してみてください。
※インストールした管理者様以外のユーザーがご利用いただくためには別途、管理者画面で「ユーザー情報」の登録が必要です。



カスタムアプリの設定画面について
カスタムアプリの設定画面は追加したパーツのメニュー「設定」から開けます。

チームのメンバーに設定画面を閲覧、変更させたくない場合は、チームの設定「メンバーアクセス許可」で
メンバーにタブの作成、更新、および削除を許可します」のチェックをOFFにしてください。

管理画面について
同様に管理画面のタブも追加することで管理画面でひな形の追加や承認ルートの設定などを行うことができます。
管理者用のチームをご用意いただく形でもユーザー画面と同じチームに追加する形でも大丈夫です。




事前準備:SharePointサイトへのアプリパーツの配置

組織ワークフローをSharePoint上でご利用いただくには、SharePointサイトにアプリパーツを配置する必要があります(配置後、すぐにご利用可能です)
※SharePoint上で使用しない場合は設定不要です。

アプリパーツファイルのダウンロード
 アプリケーションファイルをダウンロードしZIPファイルから3つのアプリパーツマニフェストファイルを取り出してください。



アプリカタログサイトの作成
 SharePointにアプリを登録するには「アプリカタログサイト」を作成する必要があります。
※すでにアプリカタログサイトが作成されている場合はこの作業は必要ありません。
 
「SharePoint管理センター」⇒「アプリ」⇒「アプリカタログ」からアプリカタログサイトをクリック

 
 アプリカタログサイトが存在しない場合は以下画面が表示されますので、新規作成まはた既存選択をします。

 
 
アプリカタログへの登録
 「SharePoint管理センター」⇒「アプリ」⇒「アプリカタログ」からアプリカタログサイトを表示します。
 SharePoint用アプリの配付をクリックします

『新しいアプリ』をクリックします


 アプリケーションには3つ種類があります。順に3つともアップロードをしてください。

<ユーザー向けアプリパーツ>
 ・workflow.app ... ワークフローアプリパーツ
 ・workflow_summary.app ... ワークフローサマリーアプリパーツ
<管理者向けアプリパーツ>
 ・admin_console.app ... ワークフロー管理アプリパーツ



 3つのファイルが登録されました。

 
サイトコンテンツへのアプリ追加
ここからの作業は組織ワークフローアプリパーツを挿入したいサイトコレクションで行います!
左メニューまたは右上の設定からサイトコンテンツを表示します。


 サイトコンテンツの『アプリの追加』から組織ワークフローを追加します。
  



  サイトコンテンツに組織ワークフローのアプリが3つ追加されました。


サイトへのアプリパーツの挿入
 サイトを編集モードにして「挿入」⇒「アプリパーツ」から挿入したいアプリパーツを選択します。 



 
 組織ワークフローではアプリケーションIDを設定することで同一テナント内で複数のワークフロー環境を構築することができます。
まずは検証用環境を作りたい場合などは、例えば「TEST」などとご設定頂ければ本番環境と分離した環境で検証が可能です(詳細は 「アプリケーション仮想分割」機能 )。

※アプリケーションIDは必須です。標準とは別の環境を作りたい場合は、プリセット値「default」を別のIDに変更してください。
 
 ⇒ 


 以上で、SharePointサイトにてワークフローの各アプリパーツがご利用いただけるようになりました!
交通費精算などいくつかのひな形が初期セットアップされていますので、まずはユーザーアプリパーツから申請~承認などの動きを体験してみてください。
※インストールした管理者様以外のユーザーがご利用いただくためには別途、管理者画面で「ユーザー情報」の登録が必要です。






事前準備:ユーザーの操作(申請、承認)を体験してみる

 はじめに機能概要を把握していただくために、申請~承認の一連の流れを体験してみましょう。

・ユーザー用アプリパーツ(ワークフローアプリパーツ)ページを開く

 ワークフローアプリパーツとは、申請書を作成・送付・承認することができるアプリパーツです。
ユーザー、承認者のすべてのアクションはこのページで行います。まずは、先ほど作成したユーザーアプリパーツの画面をSharePointで表示してみましょう。



 ※初回表示時には「認証する」というリンクが表示されます。(Office 365にログインしていない場合はログイン画面が表示されます。)

 ※「認証する」リンクをクリックされますと、別画面で「認証しています」という画面が表示され、その後自動的に画面が閉じられ、以降はガジェットが正しく表示されるようになります。一度認証をおこなったユーザー様に対しては、2回目以降の表示時には「認証する」リンクは表示されません。


新規申請をしてみる

 初期セットアップ時には、「交通費精算」、「稟議書」など予め幾つかのひな形が登録されています(ひな形は管理者画面で追加、変更可能です)。
ここでは、まずこれらのひな形から一つ選択して新規申請画面をひらいてみてください。

・ひな形(例:仮払申請)を選択し「新規申請」ボタンをクリック
→ 申請画面が開きます

・「件名」や「仮払い金額」など必要な項目に入力


・「決裁ルート」で承認者を追加
 → 承認プロセスは「ひな形管理」により、非常に柔軟かつ詳細に設定出来ますが、ここでは一番シンプルに「追加」ボタンから手動で追加してみましょう。
 → 初期は、セットアップした管理者ユーザー(自分自身)が一名登録されていますのでこれを選択してください。
 ※「ユーザー情報」管理画面からユーザーを登録することで他の承認者も選択できるようになります。

・ファイルを添付してみる
 → 領収書など添付するファイルが有る場合は「添付ファイル」欄から添付できます。



・申請
 → 「申請する」ボタンをクリック
 →入力した申請書が登録され「承認待ち」の状態となります。



・通知メールを確認
 → OWAのメールボックスをご確認いただくと、第一承認者(今回は自分自身)への「承認依頼」メールが届いています。
  承認者は「承認待ち」タブで自分が承認すべき申請書の一覧を確認できますが、加えて、メールでも通知されますので
  より承認漏れを防ぐことが出来、スムーズな決裁プロセスを実現できます!
  ※また、メールに記載のリンクからも直接申請書詳細を開いて承認などを行えます。



承認をしてみる

 通知メールのリンクあるいは「承認待ち」タブから自分が承認待ちの申請書を開き、承認・否決することができます。
ここでは「承認待ち」タブから申請書を開いて承認してみましょう。

・「承認待ち」タグから申請書を開く
 →「承認待ち」タブは、自分(ログインユーザー)が承認する必要のある文書の一覧、検索が行えます。
  さきほど申請した文書が表示されていますので、クリックして開いてください。





・「承認する」ボタンをクリック
 →承認者は申請された内容や添付ファイルを確認し、問題なければ承認をします。
  また、申請を却下する場合は「否決する」、申請者や前の承認者に一度戻したい場合は「差し戻しする」こともできます。
  ここでは「承認する」ボタンを押して承認してみましょう。
 →承認や否決、差し戻し時にはコメント(メッセージ)を入力することもできます


 →承認した文書は承認待ちから「承認済み」タブに移動します。
 →申請書が「決裁」された場合は状態が「決裁済」になります。
 →申請書を開くと、承認状況やコメント(メッセージ)履歴などもご確認いただけます。


 以上で、基本的なユーザー操作の体験オペレーションは終了です。いかがでしたでしょうか?
ネクストセット・組織ワークフローには、今回体験していただいたもの以外にも、基本機能から高度な機能まで、非常に多くの機能がございます。
これ以降のセクションでは、実際に運用を開始できるまでの準備や、各機能の詳細な説明や管理者画面での設定、ひな形作成などの方法をご説明致します。
是非、御社の運用にあった申請ひな形や承認フローを構築してご利用頂ければと思います。



事前準備:Office365との連携設定を行う

 「ネクストセット・組織ワークフロー for Office 365」にて稟議書や交通費精算などの承認プロセスを運用開始するためには
ワークフロー管理者画面で、Office365連携設定、ユーザー登録、ひな形の作成、承認フローの定義が必要です。
はじめに、Office365との連携設定をおこないます。
ワークフロー管理者画面の「連携設定」タブを開いてください。

Office365全体管理者アカウントを登録

 組織ワークフローでは、お客様のOffice365環境からユーザー/グループ情報を取得し、自動でネクストセット・組織ワークフローへ取り込むことができます。
※取り込まれたユーザー、グループ情報は、「申請書閲覧者メールアドレス」のグループアドレス指定やユーザー情報の「自動同期」などの機能で利用されます。
ここでは、Office365からユーザー/グループ情報を取得するための「全体管理者」アカウントを登録します。

→ワークフローの管理者画面の「連携設定」タブで、Office365全体管理者アカウントのIDとパスワードを設定してください。



Office365ユーザー/グループ情報を取り込む

 「連携設定」タブの「最新のOffice365情報を反映」ボタンをクリックしてください。
クリックすると、次の00分ちょうどの時間にOffice365から情報のとり込み処理が実施されます。(例:現在、16:37→17:00くらいに実行)
※取り込まれた情報は内部で保持するため、画面上には表示されません。


■SharePointの認証URLを登録

※Office365認証(OpenIDConnect認証)切り替え済みのテナントでは設定不要です。
 SharePointサイトコレクションに登録した、組織ワークフローアプリパーツのURLを設定します。

これにより、承認依頼メールなどに記載されている申請書URLから文書を直接開くことができるようになります。
※本機能は仮想アプリケーションIDごとの設定になります。複数の仮想アプリケーション領域をご利用の場合は、
それぞれのアプリケーションごとに適切なサイトコレクションのアプリパーツのURLをご設定ください。



アプリパーツのURLの取得方法
 - 組織ワークフローのアプリパーツを登録したサイトページにアクセス
 -「組織ワークフロー・ネクストセット for Office 365」のリンクのURLを取得
  →「組織ワークフロー・ネクストセット for Office 365」のアイコン部分を右クリックして、「ショートカットのコピー」(IEの場合)を実行してください。

 (URL の例)
   https://yourtenant.sharepoint.com/teams/addon/work_flow/_layouts/15/appredirect.aspx?client_id=i%3A0i%2Et%7Cms%2Esp%2Eext%7Caae7e77e%2Dcf38%2D48c3%2D953b%2Dab0fae487b4b%40cb33c6f9%2D3f83%2D45f5%2Da5ae%2Da0a65aa51137&redirect_uri=https%3A%2F%2Fworkflow%2Enextset%2Ejp%2Fgadget%2Fworkflow%3F%7BStandardTokens%7D

 - コピーしたアプリパーツのURLを入力して「設定の保存」

 → 通知メールのURLから直接文書が開けるようになります
※未設定の場合、24時間ごとにSharePointの組織ワークフロー用ページを事前に開かないとメールから直接参照できなくなりますので
SharePoint認証URLの設定を強く推奨いたします。




事前準備:ユーザー情報を登録する

 「ネクストセット・組織ワークフロー for Office 365」にて稟議書や交通費精算などの承認プロセスを運用開始するためには
ワークフロー管理者画面で、Office365連携設定、ユーザー登録、ひな形の作成、承認フローの定義が必要です。
ここでは、ユーザー情報の登録を行います。ワークフロー管理者画面の「ユーザー情報」タブを開いてください。
※最初はセットアップ時にプリセットされた管理者の情報が一件入っています。

■Office365ユーザーとの自動同期設定を行う

 ユーザー情報は、CSVファイルでの手動インポートも可能ですが、Office365との自動同期設定が便利です。

・「自動同期設定」リンクをクリック
・「ユーザー情報をOffice365ユーザーと自動同期させる」にチェック
・自動同期処理を実行する時間を指定
 → Office365情報が組織ワークフローに取り込まれていない場合は処理に失敗しますので「最新のOffice365情報の反映」の処理後の時間を指定してください。
 ※ご利用ユーザーの少ない深夜の時間帯を推奨します。
・「保存」をクリック

指定時間になるとユーザー情報が最新のOffice365の情報で更新されます。
「自動同期履歴」一覧から同期のログをご確認ください。

※Office365から同期される情報は、管理画面の「その他の設定」タブの「ユーザー連携設定」で設定できます。
ひな形や承認ルートの設計によってはそれ以外の付加情報が必要になることがあります。その場合はCSVファイルでインポートしてください。
CSVファイルでのユーザー情報を管理、メンテナンスする方法は別途 「ユーザー情報」タブ をご参照ください。



事前準備:ひな形を作成する

 「ネクストセット・組織ワークフロー for Office 365」にて稟議書や交通費精算などの承認プロセスを運用開始するためには
ワークフロー管理者画面で、Office365連携設定、ユーザー登録、ひな形の作成、承認フローの定義が必要です。
ここでは、備品購入申請書、出張費精算書など、社内で実際に使用するひな形の作成を行います。ワークフロー管理者画面の「申請書ひな形」タブを開いてください。
※最初はセットアップ時にプリセットされたひな形数個が一覧に表示されている状態です。

■ひな形テンプレートを元にひな形を作成する

・元にするひな形テンプレートを決める

 ひな形は一から作成することももちろん可能ですが、組織ワークフローでは、予め多くのテンプレートが用意されていますので
その中からベースにしたいテンプレートを選び、ご利用頂くとひな形作成が非常に簡単におこなえます。
※ひな形テンプレートからのひな形作成はわずか数クリックで完了します。
 → ワークフローのひな形テンプレート一覧
 ※ワークフローの申請書ひな形が多数そろっています。ぜひご利用ください。

・申請書ひな形の新規作成画面を開く
 ベースにするひな形テンプレートを決めたらひな形テンプレートを選択し「申請書ひな形の新規作成」ボタンをクリックして、ひな形作成画面を開いてください。
ここでは例として「出張旅費精算書」を選択してみたいと思います。

 ・ ひな形テンプレートを選択
 ・
「申請書ひな形の新規作成」ボタンをクリック
  →ひな形作成画面が開きます


 ・「新規作成」ボタンをクリック
  →「出張旅費精算書」ひな形が追加されます。


  →作成したひな形はすぐにユーザーがご利用いただけます!


■ひな形レイアウトの変更や制御ロジックを追加する

・フォームレイアウトビルダーでレイアウトを編集

 ひな形のレイアウトを少し編集したい場合、あるいはひな形に高度な動きや入力チェックを加えたい場合、作成したひな形をクリックして編集します。
ひな形の編集は、HTMLとJavaScriptにて直接記述することも可能ですが、これは専門知識が必要なため大変です。
 そこで、組織ワークフローでは、GUI操作で簡単にデザインを編集できる「フォームレイアウトビルダー」をご用意しております。
特別な理由がなければ「フォームレイアウトビルダー」での編集をおすすめします。

※【重要】内容HTMLを直接編集してもレイアウトビルダーには反映されません。
また、レイアウトビルダーで編集すると直接編集した内容は失われてしまいます。
ですので、レイアウトビルダーを使う場合は、今後も含めてレイアウトビルダーのみでメンテナンスをしてください。

 ・「フォームレイアウトビルダーで編集」ボタンをクリック
  →ポップアップウインドウでレイアウトビルダーの画面が開きます。
  ※開かない場合は、ブラウザの設定で「ポップアップをブロックする」になっている可能性がございます。

 ・項目の編集
  →レイアウトビルダーで、ひな形テンプレートから変更が必要箇所の変更を行います。
  →変更した内容は「レイアウトプレビュー」タブでその場で確認できます   

 ・レイアウトビルダーの変更内容を保存
  →レイアウトビルダーのページ下部の「完了」ボタンをクリックし変更を保存してください。
   レイアウトビルダーの画面が閉じ、ひな形作成画面の「内容」が更新されます。
※この時点ではまだひな形自体は保存されていません。ここで画面を閉じると変更内容は失われてしまいますのでご注意ください。


 ・ひな形の「保存」
  →ひな形編集画面の下部にある「保存」ボタンをクリックしてひな形への変更を保存してください。


■承認ルートの設定を行う

・承認ルートビルダーで承認ルートの定義を行う

 ひな形テンプレートには予め、一般的な承認ルートが設定されており、申請者自身が承認者を選択して追加できるようになっております。
ただ、実際に運用するワークフローでは、部署やひな形の種類、あるいは申請内容(金額など)によって、細かく承認プロセスを制御する必要がございます。
 組織ワークフローでは、レイアウトビルダーと同様、
GUI操作で簡単に承認ルートを設計、編集できる「承認ルートビルダー」をご用意しており、
シンプルなルートも複雑なルートも非常に簡単かつ柔軟に設定できるようになっております。

→ 承認ルートビルダーのイメージは 承認ルートビルダーの説明動画(5分) をご参照ください(マニュアルはこちら)。

※【重要】承認ルートHTMLを直接編集しても承認ルートビルダーには反映されません。
また、承認ルートビルダーで編集すると直接編集した内容は失われてしまいます。
ですので、承認ルートビルダーを使う場合は、今後も含めて承認ルートビルダーのみでメンテナンスをしてください。


 ・「承認ルートビルダーで編集」ボタンをクリック
  →ポップアップウインドウで承認ルートビルダーの画面が開きます。
  ※開かない場合は、ブラウザの設定で「ポップアップをブロックする」になっている可能性がございます。


 ・承認ルートビルダーの変更内容を保存
  →承認ルートビルダーのページ下部の「完了」ボタンをクリックし変更を保存してください。
   承認ルートビルダーの画面が閉じ、ひな形作成画面の「内容」が更新されます。
※この時点ではまだひな形自体は保存されていません。ここで画面を閉じると変更内容は失われてしまいますのでご注意ください。


 ・ひな形の「保存」
  →ひな形編集画面の下部にある「保存」ボタンをクリックしてひな形への変更を保存してください。



・承認ルート設計の流れ

 ワークフローの承認ルートの設計は、組織体系や申請書の性質、入力内容(金額、申請種別)などにより非常に多くのパターン、ケースがあるかと思います。

 ~例~
  ・10万円未満の精算の場合 …  申請 → 上長(承認) → 課長(決裁) → 上長(回覧)
  ・10万円以上の精算の場合 …  申請 → 上長(承認) → 課長(承認) → 部長(決裁) → 上長(回覧)

 弊社ワークフローでは、

  ・申請者あるいは途中の承認者が、手動で承認者を設定する方法
  ・申請者自身のユーザー情報に承認者情報(上長、課長、部長、、、)を予め設定しておき、それを利用し自動セットする方法
  ・申請者の部署や役職にもとづいて承認者を自動セットする方法(例:申請者と同じ部署で、役職が「部長」のユーザーをセット、など)

 など、いろいろな方法で承認ルートを定義、制御できます。

 具体的な設定方法の詳細は「機能トピック:承認ルート編」に記載がございますので、ご参照いただきまして
 実際の運用に適した承認ルートを構築してみてください。





機能トピック:基本機能、閲覧権限編


■承認プロセスの流れと承認アクションの種類 
~承認、決裁、回覧、否決、差し戻し

 組織ワークフローでは、申請された文書に対して「承認」、「回覧」、「決裁」といったアクションが可能です。
また、承認者、決裁者は内容を見て申請者や承認者に対しての差し戻しや、申請自体を却下(否決)もできます。

 ~例~
  ・10万円未満の精算の場合 …  申請 → 上長(承認) → 課長(決裁) → 上長(回覧)
  ・10万円以上の精算の場合 …  申請 → 上長(承認) → 課長(承認) → 部長(決裁) → 上長(回覧)

 承認タイプの設定は、承認ルートビルダーを開いて「承認/回覧」列から行います。

 ・承認
  → 一般的な承認アクションです(デフォルト)。申請者の上長やその上の課長、部長などが内容を確認し承認を行います。
   承認された文書は、次の承認プロセスに移り、明示的に指定された決裁者が承認するか、全承認プロセスをまわり終わると決裁扱いとなります。
   承認すると、次の承認、回覧プロセスのメンバーに承認依頼メールが送信されます。
 ・決裁
  → 承認プロセスに明示的に決裁と指定すると決裁プロセスになります。
   申請された文書は、
明示的に指定された決裁者が承認するか、全承認プロセスをまわり終わると決裁扱いとなります。
   決裁も承認の一種ですが、決裁されると、文書ステータスが「決裁済」となり、決裁番号や決裁日が発番されます。


 ・回覧
  → 文書を承認するのではなく、ただ閲覧するためのプロセスです。申請文書を開き「回覧する」ボタンをおすことで回覧済みとなり、次の承認プロセスに移ります。
 ・差し戻し
  → 承認者、決裁者が申請文書の内容を判断して、申請者あるいは自分より前のプロセスの承認者に差し戻しをすることが出来ます。
   差し戻された文書は、内容を修正し再申請(再承認)できます。また、差し戻されたユーザーにはその旨を通知するメールが送られます。
 ・否決
  → 承認者、決裁者が申請文書の内容を判断して却下するアクションです。申請書が否決されると、文書ステータスは「否決済」となり、再申請をすることは出来ません。
   また、申請者に否決通知メールが送られます。なお、回覧者は否決することは出来ません。
  → 否決を禁止するオプションもございます(
承認プロセスごとに指定可能)。(例:課長は否決NG、部長はOK、などの制御で利用)


■差し戻し・再申請機能

 ここでは、承認者が前のステップの承認者や申請者に申請を差し戻す機能をご案内します。
差し戻された申請者あるいは承認者は、内容の変更などを行い、再申請、再承認することがきます。
 
・ひな形で「差し戻し」機能を有効設定

 → 「差し戻し機能を有効にする」にチェック
  …承認者が申請書を開くと「差し戻し」ボタンが表示されるようになります。


 ※ 特定のプロセスの承認者に対して、差し戻しアクションを禁止したい場合は、承認ルートビルダーで「差し戻しはできない」をチェックしてください。


 
・申請書差し戻しの手順、イメージ
 → コメント(メッセージ)を入力(差し戻し時は必須)
 → 「差し戻し」ボタンをクリック
 
 → 差し戻し先を選択して「差し戻しする」をクリック
  …すると、差し戻し処理されます
  
  …差し戻し完了
   →状態は「差戻済」になります。

   →閲覧印として「差戻」を表示

   →履歴にコメント(メッセージ)付きで表示

  ・差し戻し再申請
  …申請一覧から該当の申請書を開く
  …必要な内容変更を行い、「差し戻し再申請をする」をクリック
   ※コメント(メッセージ)も入力可能


  →再申請完了

 
~注意点~
・差し戻しができるのは決裁前の申請書です。決裁済みの申請書は差し戻しできません。
・マスターを更新する公開関数「SateraitoWF.appendUpdateMasterData」で、差し戻し時にマスターを更新できる機能はございません。
・指定プロセスの承認者や申請者に対して差し戻しが出来ない制御をおこなうオプションはございません。

~参考オプション~
・差し戻し直前ハンドラ「workflow_doc_before_remand_handler
・差し戻し再申請直前ハンドラ「workflow_doc_before_resubmit_handler
・差し戻し禁止プロセス指定「no_remand」(指定ステップの承認者は差し戻しを実行できない、という指定)

「申請書閲覧者」機能 ~ある申請書に関してだけ特権的アクセス権を付与する

 申請文書を閲覧できるのは、原則として、申請者および承認ルートに含まれるユーザーのみ(代理申請者、代理承認者も含む)です。
ただ、例えば承認フローに関係なく「経費申請書だけは経理担当者に全ての申請書を見れるようにしたい」といったケースがございます。
組織ワークフローでは、「申請書閲覧者メールアドレス」の設定によりひな形単位に、指定したユーザーに「全申請書の閲覧・エクスポート」を許可することができます。

管理者画面の「申請書ひな形」タブで「申請書閲覧者メールアドレス」の項目にユーザーのメールアドレスを登録

 →申請書閲覧者メールアドレスにはOffice365のグループアドレスも指定可能です。
  ※「Office365連携設定」画面でOffice365全体管理者アカウントの登録が必要です。また、設定の反映にはしばらく時間がかかる場合がございます。




 →登録されたユーザーの画面にだけ、「申請書検索」というタブ画面が追加されます。
  このタブ画面では、許可されたひな形の申請書だけ全申請書が表示されます。



「ワークフローグループ」機能 ~申請できる申請書をユーザーごとに制御

「この申請書は営業部の人間だけ使うものなので、全社員の申請画面に見えている必要はない」
といった要件は、「申請書ひな形」と「ユーザー情報」に「ワークフローグループ」を設定することで実現することができます。

 
・ステップ1: ひな形に「ワークフローグループによる制限」を設定
 → 申請書ひな形画面の「ワークフローグループによる制限」に、グループを示す文字列を設定します。
  ※半角スペース区切りで複数指定可能です(例:営業G 資産管理G)。
       ここでは、営業グループを示す「営業G」と設定してみます。



・ステップ2: ユーザーに「ワークフローグループ」を設定
 →「ユーザー情報」タブにて、上記ひな形を使って良いユーザーにだけ「ワークフローグループ」に「営業G」と設定します。
  ※半角スペース区切りで複数指定可能です(例:営業G 資産管理G)。


以上の設定にて、このひな形は特定ユーザーの新規申請ひな形一覧にだけ表示されるようになります。



■開通通知機能  ~ 承認者の開封通知を受け取る

申請した文書を部長や社長などが閲覧したかどうかの確認を行うことができます。
通知設定をONにすると、該当承認者が文書を見ただけで、メールあるいは画面上で閲覧したかどうかを確認できます。

 例えば、部長承認のプロセスなど、申請者などに開封通知設定を行わせて良い承認プロセスに対して「
ok_to_open_notification」あるいは「ok_to_open_notification_process_number」属性を設定すると、申請者や指定承認者が開封通知をOn/Offできるようになります。
(詳細は機能一覧:ひな形本文用特殊クラス・タグを参照)。


開通通知設定を行うと、下図のようなアイコンが表示され、クリックすることで開封通知をONにできます!
※下図は「黒田」部長と「安倍」部長が申請書を閲覧した際に通知を受ける設定、のイメージです。

 
 
閲覧されたことが、通知メール及び画面上で確認できます。
 
・「黒田」部長が開封した状態 

 
・開封通知メール




機能トピック:承認ルート編

ここでは、ワークフローのメイン機能でもあります、承認ルートの設定について便利な機能をいくつかご案内します。
始めに是非、【組織ワークフロー】承認ルートについて.pdf をご参照ください。
基本的な考え方やイメージが非常によくまとまっている資料です(お勧めです)。


 ■承認候補者を申請者や承認者が手動で追加、削除できるように設定

 承認ルートビルダーの「承認者追加ボタンの表示」、「承認者追加(部署指定)ボタンの表示」機能で
 承認者の追加、削除ボタンを表示出来ます。
 ※ボタンは各承認プロセスごとに、誰に対して表示するかも細かく制御できます。

   
  ↓↓




■申請者自身に承認者(上長、課長、部長)を設定しておき、承認者を自動セットする方法

 「ユーザー情報」タブで、承認者1~20(boss_email_1~20)に、ユーザー自身からみた上長、承認者を設定しておくことで
 申請書作成画面を開いたタイミングで、申請者の承認者情報から自動で承認者をセットすることが出来ます。








■部署や役職によって承認者を自動セットする方法

 「ユーザー情報」タブで、部署1~5(department_1~5)、役職(job_title)に、組織情報をセットしておくことで
 申請書作成画面を開いたタイミングで、申請者の組織や役職に基づいた承認者を自動でセットすることが出来ます。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

■承認グループ機能  ~ 複数の承認者をグルーピングして承認ルートにセットする方法

 「承認グループ情報」タブで複数の承認者をまとめた承認グループを作成しておくことで
ユーザー情報(アドレス、部署、役職、、)に依存しない形での承認者の設定が可能です。※「承認グループ情報」機能の詳細はこちら

・承認グループ情報を登録
 → 一つのグループには最大で30名の承認者が登録できます。

・承認ルート設定の「承認グループから指定」で承認グループIDを指定
 → 承認ルートビルダーの「承認者の指定条件」で設定します。
  ※直接HTMLを編集する場合は「approver="
group:G001"」のように指定します(詳細はリファレンスをご参照ください)。


・申請書の作成画面を開くと、登録された承認者がセットされています。


・ユーザー情報の「承認者1~20」に承認グループIDをセットする方法
 → ユーザー情報の「承認者1~20」にメールアドレスではなく承認グループIDを指定することでも利用可能です。

 特定の承認者が申請書の内容を変更できる設定

 組織ワークフローでは、標準では、申請後、承認者・回覧者は申請内容を編集することは出来ません。
これを、承認プロセスごとに、承認者が指定項目の内容を編集できるような設定が可能です。

 例:課長、部長、経理部長の順に承認するルートで、部長のみ申請書の「出張内容」項目を変更可能に、など

 この場合、部長承認のプロセスの「項目名で指定」に「shucho_naiyo」のように対象項目の名前(name値)を追加します。
 (※複数のフィールドを修正可能にしたい場合、半角スペースで列挙)

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓



※ 申請者が入力できない項目を作成し、その項目を承認者が修正できるようにしたい、かつ承認者の修正を申請者が確認したいため、
非表示項目としたくない、という場合、項目に「disabled」を付けることで「申請者が入力できない承認者変更可能項目」を作成することができます。
例)
<input type="text" name="shucho_naiyo" disabled >



 ファイルを添付できる設定 ~ 指定承認者が添付ファイルを編集できる

通常、添付ファイルは申請者のみ、アップロードすることが可能ですが
承認のプロセスに「ok_to_attachfile」を追加することで、指定フローの承認者も、添付ファイルをアップロードすることができるようになります。

<input type="text" name="process" number="1" disp="課長決裁" approver="boss_email_1"  ok_to_attachfile >

※編集可能な承認者は、申請者やほかの承認者がアップロードした添付ファイルの削除も行うことができます。
(これを制御することはできません)
※承認済みになったのち(承認プロセスが進んだ後)は添付ファイルを編集することはできません。 

 全員承認・回覧機能 ~ 承認プロセス内の全員が承認して初めて次の承認プロセスに移動

 組織ワークフローでは、標準では、承認プロセス内のだれか一人が承認(回覧)をすると、その承認プロセスは処理済み扱いとなり、次の承認プロセスに移動します。
これを、全員が承認(回覧)して初めて次のプロセスに移動するように設定できます。
 
<input type="text" name="process" number="2" approver="" need_all_approve_to_go_next >


■特定の承認候補者を除外する ~ 同一承認者が複数存在する場合に除外、申請者自身が含まれる場合に除外

・申請者と同じ承認者を除外したい場合

 組織ワークフローでは、workflow_approver_setting」オプションを指定することで
承認フロー内に同一承認候補者が複数出てきた場合などに、ルールに基づいて重複している承認者を除外することができます。
※これは承認ルートではなく、ひな形本文に記述します。

先頭(承認プロセス番号の小さいほう)を残したい場合(デフォルト)
<input type="hidden" name="workflow_approver_settingexclusion_duplicate_approvers exclusion_option="minimum" />
・末尾(承認プロセス番号の大きいほう)を残したい場合
<input type="hidden" name="workflow_approver_settingexclusion_duplicate_approvers exclusion_option="maximum" />


<<イメージ>>

・重複あり(標準)



・排他制御設定その1(小さい方を残す)

                                                                                          
・排他制御設定その2(大きい方を残す)
 



 
また、承認ルートの各プロセスに以下のオプションを指定することで
重複承認者削除をおこなうプロセスを細かく制御することが可能です!
※オプションを組み合わせて使用することもできます。

 
・「指定プロセスの承認者は重複削除チェックの対象外となる」オプション ~「is_not_exclusion_duplicate_approvers」
 …指定プロセスの承認者は重複削除チェックの対象外となり、内容にかかわらず削除されなくなります。

 
・「グループで重複チェックを行う」オプション ~「exclusion_approvers_category」
 …重複チェックを行うプロセスをグループ分けすることができます。


 下の例では、
   ・cat1…承認、決裁プロセス
   ・cat2…回覧プロセス
 のようにグループ分けして、それぞれ別々に重複チェックを行っています。
 
<<例>>
 
<table class="detail" width="80%">
<tr>
<td class="detail_name" width="30%">上長決裁</td>
<td class="detail_value" width="70%">
<input type="text" name="process" number="1" approver="boss_email_1|boss_email_2" exclusion_approvers_category="cate1" >
</td>
</tr>
<tr>
<td class="detail_name" width="30%">課長決裁</td>
<td class="detail_value" width="70%">
<input type="text" name="process" number="2" approver="boss_email_1|boss_email_2" exclusion_approvers_category="cate1" >
</td>
</tr>
<tr>
<td class="detail_name">部長決裁</td>
<td class="detail_value">
<input type="text" name="process" number="3" approver="boss_email_1|boss_email_2" final_approve   exclusion_approvers_category="cate1" is_not_exclusion_duplicate_approvers>
</td>
</tr>
<tr>
<td class="detail_name">総務部長回覧</td>
<td class="detail_value">
<input type="text" name="process" number="4" approver="boss_email_1|boss_email_2" approve_type="look"  exclusion_approvers_category="cate2">
</td>
</tr>
<tr>
<td class="detail_name">総務部内回覧</td>
<td class="detail_value">
<input type="text" name="process" number="5" approver="boss_email_1|boss_email_2" need_all_approve_to_go_next approve_type="look"  exclusion_approvers_category="cate2" >
</td>
</tr>
<tr>
<td class="detail_name">上長回覧</td>
<td class="detail_value">
<input type="text" name="process" number="6" approver="boss_email_1|boss_email_2" approve_type="look" ok_to_remove  exclusion_approvers_category="cate2">
</td>
</tr>
</table>
 

 


・申請者と同じ承認者を除外したい場合

 「exclusion_same_as_submitter_approvers」オプションにより、承認候補者内に申請者自身が含まれる場合に、除外することが出来ます。
※「exclusion_duplicate_approvers」と同時に設定することも可能です。
※代理申請者は除外対象外です。

<input type="hidden" name="
workflow_approver_settingexclusion_same_as_submitter_approvers  />
 

 
・「指定プロセスの承認者は申請者と同じであっても削除チェックの対象外となる」オプション ~ 「is_not_exclusion_same_as_submitter_approvers」
 …指定プロセスの承認者は申請者と同じであっても削除チェックの対象外となり、内容にかかわらず削除されなくなります。
  

<<例>>
 
<table class="detail" width="80%">​
<tr>
<td class="detail_name" width="30%">上長決裁</td>
<td class="detail_value" width="70%">
<input type="text" name="process" number="1" approver="boss_email_1|boss_email_2" is_not_exclusion_same_as_submitter_approvers >
</td>
</tr>
</table>

■自動承認機能 ~ 一定期間承認がない場合に自動で承認する

 組織ワークフローでは、一定期間承認がない場合に、自動で承認処理を行う「自動承認」の機能があります。
自動承認の設定は、承認プロセスごとに行えます。


■承認催促機能 ~ 一定期間承認がない場合に催促メールを送る

 組織ワークフローでは、一定期間承認がない場合に、確認のメールを送信できる「承認催促機能」の機能があります。
承認催促機能の設定は、承認プロセスごとに行えます。


■承認候補者の指定を必須とする  ~ 決裁者が必ず指定されているように制御

 例えば、決裁者の指定漏れがないようになどの目的で、承認プロセスごとに承認候補者を必須とする制御をすることが出来ます。



■印鑑や承認ステータス(承認、回覧、決裁、否決、差し戻し)の文言カスタマイズ

承認者によるアクション(承認、回覧、決裁、否決、差し戻し)の印鑑や承認状況表示の文言を変更することができます。
(例:回覧→受付、決裁→認可 など)
※文書一覧の表示、申請者のアクション、ボタン表記、その他一部のアクションや表示は対応していません。


<<例>>
 
<table class="detail" width="80%">​
<tr>
<td class="detail_name" width="30%">上長決裁</td>
<td class="detail_value" width="70%">
<input type="text" name="process" number="1" class=""  final_approve  approver=""  approve_disp="受付" final_approve_disp="認可" reject_disp="却下" remand_disp="やり直し" >
</td>
</tr>
</table>




機能トピック:レイアウト編

■ひな形テンプレートからひな形を作成

 管理者の方が申請書を作成する時に利用可能な、ワークフローひな形集を公開中です。 →テンプレート一覧はこちら
管理者ガジェット内で、申請書ひな形作成部分で、ひな形を選択し、新規作成ボタンを押してください。

テンプレート一覧はこちら

採番機能 ~ 申請番号、決裁番号、その他任意の採番を実現

 組織ワークフローでは、「apply_no」、「final_approve_no」、「serial_no」といった特殊クラスを使用することで
申請書に、申請番号や決裁番号を任意の採番体系で付与することが出来ます。

・文書番号 ~ フィールド名「doc_no」
 新規申請時に自動で採番される番号です。※文書番号の指定は、ひな形内に1つのみ可能です。
 申請書には、フィールド名「doc_no」の項目を設定することで自動で「
YYYYMMDD+4桁連番」の一意の番号を付与することが出来ます。



・申請番号 ~ クラス「apply_no」
 採番体系が固定の「doc_no」に対して、採番体系を自由に定義できる申請番号です。「doc_no」と同様に新規申請時に自動で採番されます。
 ※申請番号の指定は、ひな形内に1つのみ可能です。




・決裁番号 ~ クラス「final_approve_no」
 決裁時に自動で採番される番号です。※決裁番号の指定は、ひな形内に1つのみ可能です。

・シリアル番号 ~ クラス「serial_no」
 申請や承認アクションにかかわらず、任意の採番体系で番号を付与することも出来ます。シリアル番号はひな形内にいくつでも設定できます。


■印鑑(ハンコ)を表示

 ネクストセット・組織ワークフローでは、申請書に印鑑(ハンコ)を表示することが出来ます。
印鑑を表示するには、下のようなcanvasタグを設定します。
 
<canvas process="auto" width="72" height="72" style="border:solid 1px silver; float:left;"></canvas>



ワークフロー画面では下のように表示されます。



特定の承認プロセスだけ印鑑を表示

 特定の承認プロセスだけ印鑑を表示することも可能です。
 
・申請の印鑑

<canvas process="
submitted" width="72" height="72" style="border:solid 1px silver; float:left;"></canvas>

※複数配置することで差戻し再申請の印鑑も表示できます。
 
・特定の承認フローの印鑑
 → process_number でフロー番号を指定します。

<canvas process_number="1" width="72" height="72" style="border:solid 1px silver; float:left;"></canvas>
<canvas process_number="2" width="72" height="72" style="border:solid 1px silver; float:left;"></canvas>
<canvas process_number="3" width="72" height="72" style="border:solid 1px silver; float:left;"></canvas>

    
右から左へ印鑑を順に表示

 印鑑が右から左へ押されるように表示するには、以下のような書き方になります。
 
 <canvas process="auto" width="72" height="72" style="border:solid 1px silver; float:right;"></canvas>

・未使用印鑑欄に斜線を引くオプション

 オプション「with_diagonal_line」を指定すると未使用(印鑑が押されない枠)に斜線を引くことができます。
 <canvas process_number="1" width="72" height="72" style="border:solid 1px silver; float:right;" with_diagonal_line></canvas>
・未使用印鑑欄を非表示にするオプション

 オプション「hide_if_not_rendered」を指定すると未使用(印鑑が押されない枠)を非表示にできます。
 <canvas process_number="1" width="72" height="72" style="border:solid 1px silver; float:right;" hide_if_not_rendered></canvas>

■数値の自動計算

 数値入力項目について、自動で加減乗除をおこなうよう設定することができます。
 
以下の例では、
項目「合計金額(税込み)」には、単価 × 税率の値が表示されます。
これはクラス「multi」と設定「fields="sale_price tax_rate"」によって設定されたものです。



 ※注意点) クラス「multi」による計算は、デフォルトでは小数点以下の端数を切り捨てて結果をセットします。
小数計算、切り上げ、四捨五入は「decimal_place」、「round_type」のオプションで設定可能です。

申請書にディスカッション機能を追加する

 クラス「q_and_a」を用いたdivタグを埋め込むことにより、申請書にディスカッション機能を追加することができます。
<div class="q_and_a" name="shonin_joken" ></div>


 
 承認者の画面には、質問欄が入力できる状態でディスカッションコーナーが表示されます。
「質問送信」ボタンをクリックすると、質問が書き込まれると同時に申請者にメール通知がおこなわれます。

 
                         
                       
 申請者の画面には、質問に対する回答が入力できる状態でディスカッションコーナーが表示されます。
「回答送信」ボタンをクリックすると、回答が書き込まれると同時に質問者にメール通知がおこなわれます。


 ディスカッション機能を埋め込むクラス「q_and_a」には非常に多くのオプション設定項目があり、柔軟な設定が可能です。
詳細は「機能一覧:ひな形本文用特殊クラス・タグ(タグリファレンス)」「DIVクラス q_and_a」欄をご参照ください。





機能トピック:マスター編

 組織ワークフローでは、「参照用マスター」を使って、ひな形内に表示する項目や値をコントールすることが出来ます。
例えば、出張費区分、金額など、頻繁にかわる値をひな形内に直接記述すると、メンテナンスが大変です。
そのような場合、参照用マスターに出張費マスターを作成しておき、その値を動的に選択ボックスなどに表示することができます。

マスターデータのプリロード設定 ~ マスターを事前に読み込むことで高速化を実現

設定されたマスターデータを新規申請書で参照するとき、マスターデータは新規申請書画面を開いた後でロード処理が実行され、
ロード完了時にマスターを参照しているコンボボックス等に表示されます。(遅延ロードによって表示されます)

 アプリパーツを表示してから1回目のマスターデータロードが終わると、マスターデータはクライアント側にキャッシュされ、
以降は新規申請書画面を開いた場合はマスターデータはキャッシュされたものが利用され、即座に表示されます。(遅延ロードは発生しません)
 
 何らかの理由で申請書が参照しているマスターデータを遅延ロードさせることなくすぐ参照したい場合、
以下のタグを申請書ひな形にの「内容」に追加しておくことで申請書を開く前にマスターデータのロード処理を先におこない、
マスターデータのロード後に新規申請書画面や承認画面が開きます。
 
<input type="hidden" name="workflow_template_setting" preload_master_codes_on_new_doc="busho_master nitto_master" 
preload_master_codes_on_existing_doc="nitto_master" >

  preload_master_codes_on_new_doc
 ... 新規申請画面表示時にプリロードするマスターのマスターコードを指定します。複数ある場合は、半角スペースで区切って列挙します。
  preload_master_codes_on_existing_doc
 ... 申請済文書表示時にプリロードするマスターのマスターコードを指定します。複数ある場合は、半角スペースで区切って列挙します。
 
例1) 新規画面と承認画面両方で日当マスター(nitto_master)をプリロードします。
   <input type="hidden" name="workflow_template_setting" preload_master_codes_on_new_doc="nitto_master
preload_master_codes_on_existing_doc="nitto_master">
 
例2) 日当マスター(nitto_master)と職掌マスター(shokusho_master)をプリロードします。
   ※複数のマスターをプリロードする場合、半角スペースで区切って列挙します。
   <input type="hidden" name="workflow_template_setting" preload_master_codes_on_new_doc="nitto_master shokusho_master">

<<注意点>>
プリロードするマスターは「キャッシュを使用してマスター読み込みを高速化する」をONにしておく必要があります(2017.08/27)。
・数万件など、大量データを含むマスターの場合は、プリロードすると読み込みが遅くなる場合があります。その場合は、プリロード設定を解除してください。
・プリロードをしないと動かない機能がございます。例:
SateraitoWF.getMasterData

マスターの情報を選択ボックスに表示

 管理画面の「参照用マスターデータ」に登録したマスターデータを利用して選択項目を作成することができます。
まず「参照用マスターデータ」にマスターの作成とデータの投入をしておきます。
※データは適宜メンテナンスして頂ければひな形に反映されますので、後から整備してもOKです。


申請書ひな形にはこのデータを参照するコンボボックスを作成することができます。

<select name="koutsuhi_shurui" class="master_list" master_code="koutsu_kikan_master"></select>

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓


参照用マスターデータを選択ウィンドウで利用

 上記はコンボボックスを使って一つの項目を設定した例になりますが、選択ウィンドウを使って一度に複数フィールドへ値を設定することができます。
例えば、参照用マスターデータとして下のような「商品マスター」(shohin_master)を登録しておきます。


 クラス「sateraito_master_select」を使って、マスター選択ウインドウを開くためのボタンを配置します。

<!-- 商品選択ボタン -->
<input type="button" class="sateraito_master_select" master_code="shohin_master" assign="data_key:shohin_code;attribute_1:shohin_name;attribute_2:unit_price;attribute_3:unit_name" col_width="data_key:0;attribute_1:100;attribute_2:50;attribute_3:50" window_width="300" value="商品選択"><br>

<input type="hidden" name="
shohin_code">
商品名:<input type="text" name="shohin_name" readonly><br>
単価:<input type="text" name="unit_price" readonly><br>
単位:<input tyle="text" name="unit_name" readonly><br>


申請書画面は下のようになります。

・商品選択ボタンをクリックすると商品マスターの選択ダイアログが表示されます。
・商品を選択すると申請書の4つのフィールド(一つは隠しフィールド)に選択した値がセットされます。



※クラス「clear_button」を使うと、さらに4つのフィールドをクリアするボタンを追加することができます。
※ダイアログからの選択入力値をもとに計算している項目が定義されていた場合(「単価」フィールドをもとにして「数量」フィールドを掛けあわせて「金額」を算出するような場合等)、マスターから値を選択したタイミングで自動で再計算されます。

マスター情報の更新 ~ 入力内容をもとにマスターの値を更新する

公開関数「SateraitoWF.appendUpdateMasterData」を使うことで、マスターのレコードの値を更新することができます。
詳しくは、 機能一覧:公開 JavaScript API関数 およびをご参照ください。
入力内容をもとにマスターの値を更新する も併せてご参照ください。



機能トピック:その他

■Office365とのOffice365認証(OpenIDConnect認証) ~ より便利&安定稼働する認証方式

このたび、より便利かつ安定してサービスをご利用いただくためにOffice365認証(OpenIDConnect認証)に対応いたしました(2016.11.04)。
(従来の認証方式は、PC版…SharePointとのOAuth2.0認証、スマートフォン版…SMTP認証 or ネクストセット・シングルサインオン認証)

従来からご利用のお客様
以下の手順で切り替えを行っていただけます。注意点をご確認の上、ぜひ切り替えをご検討ください。

□OpenIDConnect認証のメリット

・SharePoint認証で稀に発生していた
SharePointの不具合による認証エラーを回避し安定した認証をご提供
・スマートフォン版で従来あった、ネクストセット・シングルサインオンをご利用 or Exchange Onlineライセンスが必要(SMTP認証のため)という要件が不要になり、
 Office365をご利用のテナント全てでご利用可能に

注意点
Office365認証にする前に、各ブラウザの設定でサードパーティCookieを有効にする必要があります(サードパーティCookieの有効化について)。
・Office365認証では、SharePointサイトコレクションの管理者であっても管理画面にアクセスできなくなります。
管理者を追加したい場合は、各アプリケーションの管理画面で、管理者を追加してください。
(初期管理者は後述のセットアップ作業を行った全体管理者です)


切り替え方法
・セットアップ
事前準備:インストール、初期セットアップ の手順で初期セットアップを行ってください。

・認証方式の切り替え
 管理画面の「その他の設定」タブで「Office365で認証する」のチェックを有効にしてください。

以上で認証方式の切り替えが完了です。
※設定画面からいつでも従来の認証方式に戻せます。

サードパーティCookieの有効化について


 OpenIDConnect認証では、ブラウザの「サードパーティCookie」の有効化が必要です。
IE、Safariをご利用の場合は規定値が無効になっている場合があります(Chrome、FireFox、
Microsoft Edgeは規定で有効です)。

- Google Chrome
 「設定」→「プライバシー」→「コンテンツの設定」→「サードパーティのCookieとサイトデータをブロックする」のチェックを外す

- FireFox
 「ツール」→「オプション」→「プライバシー」→「履歴」→「記憶させる履歴を詳細設定する」を選択
 →「サードパーティCookieの保存」を「常に許可」


- Microsoft Edge
メニューの「設定」→「プライバシーとセキュリティ」→「Cookie」欄で「Cookieをブロックしない」を選択


- Internet Explorer
 「インターネットオプション」→「プライバシー」→「設定」→「詳細設定」→「サードパーティのCookie」を「承諾する」


□信頼済みサイトについて

※Internet Explorer / Microsoft Edge をご利用のお客様は、
信頼済みサイトに

・https://*.nextset.jp
・https://login.microsoftonline.com
・https://<御社テナント>.sharepoint.com (例:https://nextsetdemo.sharepoint.com or https://*.sharepoint.com)
 ※アドオンのアプリパーツを埋めんでいるSharePointページのURLでご確認いただけます。
・https://outlook.office.com

を追加してください。
※原則として以下の4つは同じゾーンへの登録を推奨としていますので、セットでご登録をお願いします。
※メニューバーの『ツール』 ⇒ 『インターネットオプション』 ⇒ 『セキュリティ』 ⇒ 『信頼済みサイト』 ⇒ 『サイト』をクリックすると信頼済みサイトの設定画面を表示できます。





「アプリケーション仮想分割」機能 ~テナント内に複数のワークフロー環境を構築

 ワークフローシステムでは、一つのOffice365テナント内に複数のワークフローシステムをインストールした状態を実現することが可能です。
ワークフローシステムの全てのアプリパーツの設定項目に、「アプリケーションID(APPLICATION ID)」という項目があります。


 この項目に標準(default)とは別のIDを指定すると、標準のアプリパーツとはまったく別のワークフローシステムとして動作します。
また、違う種類のアプリパーツ(管理者アプリパーツ、ユーザー用アプリパーツ、件数サマリーアプリパーツ)で「アプリケーションID」に同じ値を設定すると、同じワークフローシステム用のアプリパーツとして動作します。
 
「別のワークフローシステムとして動作する」を具体的に言いますと、アプリケーションIDが違うアプリパーツ同士では、

   ・申請を申請・閲覧することができません(検索しても別アプリケーションIDの文書は出てこない)
   ・管理者画面の全ての設定項目がアプリケーションIDごとに設定する必要があります
(文書ひな形、ユーザー情報、参照用マスターデータ、その他設定もそれぞれ設定する必要があります)
 ※ユーザー情報は、他のアプリケーション(たとえば標準のもの)のユーザー情報を使用する設定も可能です(管理者アプリパーツの「ユーザー情報タブ」で設定可能)。

 例えば、「default」のアプリパーツを「全社用ワークフローシステム」として全ユーザーを対象とする(ユーザー情報にOffice365全ユーザーを登録する)一方で、
アプリケーションIDに「EIGYOBU」と設定したアプリパーツを「営業部用ワークフローシステム」として営業部ユーザーを対象とする(ユーザー情報に営業部のユーザーだけ絞り込んでユーザーを登録する)といった事が可能です。

※ アプリケーションIDに指定可能な文字は、半角の「アルファベット、数字、ハイフン(-)、アンダーバー(_)」のみになります。
 ただし、先頭の文字にはアルファベットのみ指定可能です。


ユーザーのメールアドレスおよび姓名を変更する

 Office365上でユーザーアカウントを変更した場合、組織ワークフロー側でも変更手続きをしていただく必要がございます。
以下の手順で、組織ワークフローの

  ・認証情報のクリア
  ・既存申請書のメールアドレス、姓名の変更

を行うことができます。

・管理者アプリパーツの「ユーザー情報」タブの「ユーザーアドレス・姓名の変更」リンクをクリック


 
・「変更前のメールアドレス」、「現在のメールアドレス」を入力
 ※同時に「姓」、「名」も更新したい場合は、姓名もご入力ください。


・「変更処理開始」ボタンをクリック
 認証情報、各申請文書の一括変更処理が開始されます。
 処理にはしばらく時間がかかりますので「ユーザー情報変更履歴」で適宜状況をご確認ください。
 
 ~注意点~ 
 ※アプリケーションIDによる仮想化を実施している場合は、アプリケーション毎に行っていただく必要がございます。
 (認証情報はどのアプリケーションから行ってもクリアされます)
 ※「ユーザー情報」タブのユーザー情報はこの処理では変更されません。別途メンテナンスして頂く必要がございます。
 ※時間がたっても「ステータス」が「処理中」あるいは「エラー」のままの場合や「失敗文書」がカウントされている場合は、
  しばらくたってから再度同じ変換処理を行ってみてください。
 ※認証情報を新しいアドレスに適切に変更するため、Office365側でユーザーIDを変更してから実施するようにしてください。
 ※認証情報は1時間程度キャッシュされることがございます。

 ※ユーザーID変更の処理をしても旧ユーザー扱いでのアクセスが続く場合、
  SharePointサイトコレクションの権限ユーザーを新しいIDで再登録することで改善する場合がございます。
  詳しくは ユーザーIDの変更がSharePointアプリパーツの認証に反映されない場合の対処方法 をご参照ください。


■スマートフォン/タブレット版ワークフローを利用する

 ネクストセット・組織ワークフローではスマートフォン、タブレット(Android、iPhone/iPad、、)に特化したインタフェースをご用意しております。
   


ログイン認証について

スマートフォン版のワークフローはOffice365で認証しますので、通常のOWAなどのアクセスと同じ画面でログインできます。

~認証方式を「Office365認証(推奨)」に切り替えていないお客様へ~

以前からご利用のお客様で、認証方式を
Office365認証(推奨)に切り替えていない場合、ログイン画面が表示され、
該当Office365アカウントのメールアドレスとパスワードにて直接認証します
その際、認証の仕組みとして使用している「SMTP認証」を利用するため、該当ユーザーに対してExchange Online Licenseが必要となります。
 また、Office365のSMTP認証処理の都合上、ログインに少し時間がかかります。ご了承ください。
(シングルサインオンによる認証をする場合は除きます)



スマートフォン版ワークフローのご利用設定

 スマートフォン版ワークフロー画面をご利用いただく前に、管理画面の「スマートフォン設定」タブで簡単な設定を行います。

 ・シングルサインオン利用設定

  Office365へのログインを「ネクストセット・シングルサインオン for Office 365」にて行っている場合は、
 「ネクストセット・シングルサインオンを利用してログインする」にチェックを入れてください。
 これにより、スマートフォン版ワークフローへのログイン時にシングルサインオンのID、パスワードで認証できます。


※実際にはシングルサインオンの画面が表示されません。


 ・通知メール設定

  承認依頼、決裁通知などのメール文面に、スマートフォン版ワークフローで直接開くことができる申請書詳細へのリンクを表示します。
 特に問題がなければチェックしていただくことを推奨します。




 ・スマートフォン版のアクセスURL

  スマートフォン版サイトのURLです。ブックマークしてご利用ください。

 ・新規申請画面に直接アクセスする方法

 スマートフォン版でもPC版と同様に新規申請画面に直接アクセスするURLをご用意しております。
 ポータルサイトなどに「交通費申請」などのリンクを貼ってご利用いただけます。

 https://workflow.nextset.jp/<テナント>/mobile/index.html#docsubmit/<アプリケーションID>/<ひな形内部ID>

 ~例~
 https://workflow.nextset.jp/nextsetdemo/mobile/index.html#docsubmit/default/template-201609130812421crRR7SXwMFJ0r78





スマートフォン専用レイアウトの作成(高度な機能)

 通常、スマートフォンで表示した場合でも、パソコンと同じレイアウトで申請書が表示されますが
ひな形管理の「スマートフォンのHTML」を使うことで、スマートフォン専用のレイアウトで申請書を表示することが出来ます。
※パソコン用のHTMLと、項目のnameやJavaScriptの処理なども全て合わせる必要があります。またレイアウトビルダーには対応していないこともあり
基本的には設定不要です。



■印刷専用フォームの作成

 ワークフロー内で使用する申請ひな形レイアウトとは別に、印刷専用のレイアウト(HTML)を作成することができるようになりました。
印刷専用レイアウトは最大5つまで作成でき、申請者、承認者は「印刷ウインドウを開く」際にどのレイアウトで印刷するかを選ぶことができます。

 →「印刷ウインドウを開く」リンクの横に印刷レイアウト選択ボックスが表示されるようになります。


 
・ひな形管理の「印刷用フォーム」でレイアウトを作成  
 
 印刷用レイアウトは、HTML全体を記述します。
また、申請書の項目を埋め込むことができる専用のタグも用意されており、HTMLレイアウト内に申請書の項目を自由に配置できます。
※ワークフローの各クラスや公開関数などは利用できませんのでご注意ください。 
 
・印刷フォームタイトル… ユーザーの選択するプルダウンに表示されます(未設定だと選択ボックスに表示されません)。
・本文… <html>~</html> までのHTML全体を記述します。 

 本文には、[$$  と $$] で項目名(name値)をかこったタグを指定することで、申請書の該当項目の実際の値を埋め込むことができます。
 
 ~例~
 <span>[$$ tel_no $$]</span>    ⇒    03-1111-1111 
 また、以下の特殊なタグも使うことができます。
 ・[$$ __STAMP_AUTO__ $$] … 印鑑領域を表示   ※「<canvas process="auto" ></canvas>」に該当
 ・[$$ __STAMP_SUBMITTED__ $$] … 印鑑領域を表示   ※「<canvas process="submitted" ></canvas>」に該当
 ・[$$ __STAMP_PROCESS_1__ $$] … 印鑑領域を表示   ※「<canvas process_number="1" ></canvas>」に該当 (数字部分には承認プロセス番号が入ります)
 
 ※ひな形テンプレート「見積書」に印刷用フォームのサンプルがございますのでご参考にしてみてください。

・プレビュー… プレビューボタンを押すことで、作成途中でも表示時のイメージを確認できます。
・デフォルト選択… チェックしたフォームを申請書画面で初期選択します
・標準の印刷レイアウトを無効にする… 標準の「印刷ウインドウを開く」を表示しない設定です。印刷専用フォームのみ使わせたい場合に便利です。
 

■コメント欄の追加

 ひな形設定の「コメント機能」のチェックをオンに設定すると、投稿文書の一番下側にコメントを追加する部分が表示されるようになります。
※コメントは承認、回覧状況にかかわらず、申請書を閲覧できるユーザーであればだれでも投稿できます。

 投稿文書の一番下に「コメント」という欄が表示され、コメントの追加およびファイルの添付をおこなうことができます。
(コメントの入力とファイルを添付後、「コメント」または「コメント+申請者にメール通知」ボタンをクリックします。)
追加されたコメントの「返信」をクリックすると、既に付いているコメントの下にツリー状にコメントを追加することができます。

「コメント+申請者にメール通知」をクリックした場合は、下図のようなメールにて申請者に通知されます。



管理者による申請書の編集・削除

管理者は管理者用ガジェットで申請データの編集、削除をすることができます。
「申請書検索」タブで編集したい申請書を開き「編集する」ボタンを押すと、編集モードで申請書を開きます。
※読み取り専用(readonly)項目や一部の項目は変更できません。

・申請書の編集

・「編集する」ボタンをクリック


・編集可モードで申請書が開くので、内容を編集し、「更新する」ボタンをクリック


・コメントも記載可能




・申請書の削除

・「申請書検索」タブを開く
・削除したい申請書にチェック
・「チェックした申請書を削除」をクリック


ひな形をカテゴリーに分類

申請書ひな形が多くなってくると、ユーザーは申請時になかなか目的のひな形を見つけられなくなってきます。
その場合「ひな形管理」で「カテゴリー」を設定すると、ユーザーはひな形選択時に、カテゴリーをたどることで目的のひな形を簡単に利用することができるようになります。

・ひな形管理でカテゴリーを設定
 ※カテゴリーはスラッシュ「/」で区切ることで2階層以上も指定できます。
  例: 社内用/経費関連
 ※複数のカテゴリーに所属させたい場合はパイプ「|」で区切ってください。
  例: 社内用/経費関連|申請書関連



・新規申請時のひな形選択画面でひな形をカテゴリーから選択
 ※カテゴリーを選択すると、右側のひな形選択ボックスに該当カテゴリーのものだけが表示されるようになります。






■新規申請フォームをポータルサイトのリンクから直接開く方法

 組織ワークフローでは通常、SharePointアプリパーツ内からひな形を選択して「新規申請」画面を開きますが
以下のリンクから任意のひな形の申請画面を直接開くこともできます。
ポータルサイトから直接申請ページにアクセスさせたい場合などに便利です。

    https://workflow.nextset.jp/<<お客様テナントID>>/<<仮想アプリケーションID>>/docsubmit/<<ひな形内部ID>>

    - お客様テナントID:Office365のデフォルトドメイン「xxxxx.onmicrosoft.com」の「xxxxx」部分
    - 仮想アプリケーションID:仮想アプリケーションIDを指定している場合はセット(それ以外は「default」と指定)
    - ひな形内部ID:ひな形管理にてご確認いただけるひな形の内部IDです(例:template-xxxxxxx)

 ~例~
    https://workflow.nextset.jp/nextsetdemo/default/docsubmit/template-20120430133603aYcz8gxWkFBBMROI

    

・オプション ~初期セット値、代理申請者、連携元文書IDなど
 以下のオプションもご利用できます。上記URLに各
パラメータをつけてリクエストしてください。
 ※オプションをつける場合は、GETでもOKですがPOSTを推奨します

- default_value:初期セット値
…フォームに初期セットする値を指定したい場合に指定。キーと値のセットをJSON形式の文字列でセットしてください。
   ~例~
    {"doc_title":"出張のため交通費清算", "total_price":"25000", "memo":"※大阪出張につき交通費を清算します。"}
- concurrent_user:兼務申請者
…自分が兼務している別ユーザーとして申請をする場合に指定
- ghost_writer:代理申請者
…別ユーザーの代理申請をする場合に指定(兼務申請者を指定している場合は、兼務申請者の代理申請者を指定可能)
- relative_doc_id:関連付け元文書
別の申請済み文書に関連付ける形で申請したい場合に元文書の内部文書IDを指定(例:doc-xxxxxxxxxxxx)
- max_accept_count:同一の関連付け元文書から最大いくつ申請可能とするか
※詳細は「
SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate」関数のリファレンスを参照
- check_duplicate_group_key:同一ひな形で複数の制御用ボタンを配置したい場合にそれぞれの制御を区別するための一意の値を指定
※詳細は「SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate」関数のリファレンスを参照
- hl:デフォルト言語コード(例:en、zh-CN、、)
…表示したい言語を指定する場合に使います。※ユーザーに言語が設定されている場合はそちらを優先します。

公開API機能

組織ワークフローでは、ネクストセット・組織ワークフローの機能を外部システムから連携、利用するための、HTTPSベースのAPIを公開しています。
申請、承認、否決などのアクションだけでなく、ひな形や申請データ、申請・承認履歴の取得、添付ファイルのアップロード、ダウンロードなど、ワークフローの機能がAPI経由で利用できます。

詳しくは、組織ワークフロー公開API をご参照ください。

■オペレーションログ機能 ~ 文書の申請、承認、回覧などのアクションログを取得

 ユーザーがいつどのような申請をしたか、どの文書を閲覧したか、または承認者がいつどの文書に対して承認、決裁などを行ったか、といった
申請文書に対するアクションをログに出力することができます。
取得したログは管理画面の「オペレーションログ」タブで参照することができます。また、簡単な検索やCSVエクスポートも可能です。
※オペレーションログは1年間分保存され、それ以降は削除されます。設定方法はこちら



画面の機能を制限する方法 ~ 一部の機能だけを使わせたい

管理者画面、ユーザー画面は、アプリパーツのカスタムプロパティで、タブごとに表示・非表示を切り替えることが可能です。
たとえば、「申請書ひな形」、「申請一覧項目」タブだけを表示する管理画面ページを用意することで
オペレータに「ユーザー情報」、「その他の設定」などを見せることなく、ひな形のメンテナンスのみ行っていただくことができます。
※ページ自体のアクセス権限は、SharePointページの権限で制御してください。
※カスタムプロパティがない場合はアプリパーツを最新バージョンにアップしてください。





文書をポップアップして開く方法

ユーザー用アプリパーツのプロパティで、「文書をポップアップウィンドウで表示」にチェックすることで
申請一覧の文書や新規申請ボタンをクリックした際に文書をアプリパーツ内ではなく別ウインドウで開くことができるようになります。
※カスタムプロパティがない場合はアプリパーツを最新バージョンにアップしてください。




通知メールの文面をカスタマイズする方法

ワークフローでは、申請通知、決裁通知など様々なタイミングで通知メールが送られます。
管理者画面の「その他の設定」→「通知メール設定」でそのメールの件名および本文の文面を変更することができます。
また文面には[$$ __SUBMIT_DATE__ $$]といったタグで申請や承認などの情報を埋め込むこともできます。
(仮想アプリケーションIDごとの設定です)

□メール文面のカスタマイズ方法
・「メール文面のカスタマイズを有効にする」をチェック
 件名および本文が編集できるようになります。


・言語を選択
 メール文面のカスタマイズは各言語ごとに行うことができます。
 ※最初は「標準設定」にて各言語共通の文面を登録することをお勧めします。

・文面を編集
 件名や本文の文面を編集します。各通知メールごとに下のタグも使用できます。

・設定を保存
 「設定を保存」でカスタマイズした文面が保存されメール送信時に使用されます。

・標準文面を読み込む
 「標準文面を読み込む」ボタンを押すと元の文面に近いテンプレートを読み込むことができますので
 そこから改めて文面を整備することができます。

□使用できるタグ
 ※通知メールによって使えるタグに制限があります。

・メール宛先
 ※全通知メールで使用出来ます。
 - 送信先(メールアドレス/名前):[$$ __TO_EMAIL__ $$] / [$$ __TO_NAME__ $$]

・文書情報
 ※全通知メールで使用出来ます。
 - ひな形名:[$$ __TEMPLATE_NAME__ $$]
 - 件名:[$$ __DOC_TITLE__ $$]
 - 文書番号:[$$ __DOC_NO__ $$]
 - 申請番号 or 文書番号:[$$ __APPLY_NO_OR_DOC_NO_WITH_PARENTHESES__ $$] 
 ※申請番号「apply_no」がない場合は文書番号「doc_no」をセットします。どちらもない場合は空、値がある場合は、かっこ[ ] で囲って表示します。

・申請情報
 ※全通知メールで使用出来ます。
 - 申請日時:[$$ __SUBMIT_DATE__ $$]
 - 申請番号:[$$ __APPLY_NO__ $$]
 - 申請者(メールアドレス/名前):[$$ __AUTHOR_EMAIL__ $$] / [$$ __AUTHOR_NAME__ $$]
 - 代理申請者(メールアドレス/名前):[$$ __GHOST_WRITER_EMAIL__ $$] / [$$ __GHOST_WRITER_NAME__ $$]  ※代理申請時のみ

・承認/回覧情報
 ※承認依頼、回覧依頼メール、、で使用できます。
 - 承認/回覧者(メールアドレス/名前):[$$ __CANDIDATE_EMAIL__ $$] / [$$ __CANDIDATE_NAME__ $$]
 - 承認期限:[$$ __APPROVE_EXPIRE_DATE__ $$]
 - 経過日数:承認依頼から「[$$ __LEFT_DAYS__ $$]」日経過

・決裁/否決情報
 ※決裁通知、否決通知メール、、で使用できます。
 - 決裁日時:[$$ __FINAL_APPROVE_DATE__ $$]
 - 決裁番号:[$$ __FINAL_APPROVE_NO__ $$]
 - 決裁/否決日時:[$$ __FINAL_APPROVED_OR_REJECTED_DATE__ $$]
 - 決裁/否決者(メールアドレス/名前):[$$ __FINAL_APPROVER_OR_REJECTOR_EMAIL__ $$] / [$$ __FINAL_APPROVER_OR_REJECTOR_NAME__ $$]

・コメント情報
 ※コメント投稿メール、、で使用できます。
 - コメント投稿者:[$$ __COMMENT_CONTRIBUTOR_NAME__ $$]
 - コメント内容:[$$ __COMMENT_DETAIL__ $$]

・開封通知情報
 ※開封通知メール、、で使用できます。
 - 開封日時:[$$ __DOC_OPEN_DATE__ $$]
 - 開封者:[$$ __DOC_OPENER_EMAIL__ $$]([$$ __DOC_OPENER_NAME__ $$])

・ディスカッション情報
 ※質問投稿通知、回答投稿通知メール、、で使用できます。
 - 質問番号:[$$ __QUESTION_NO__ $$]
 - 質問内容:[$$ __QUESTION_DETAIL__ $$]
 - 質問者(メールアドレス/名前):[$$ __QUESTIONER_EMAIL__ $$] / [$$ __QUESTIONER_NAME__ $$]
 - 回答者(メールアドレス/名前):[$$ __ANSWERER_EMAIL__ $$] / [$$ __ANSWERER_NAME__ $$]
 - 回答内容:[$$ __ANSWER_DETAIL__ $$]

・その他
 ※承認依頼、回覧依頼、差戻通知、、など、各種通知メールで使用できます。
 - メッセージ:[$$ __DOC_COMMENT__ $$](承認、否決、差戻し、取下げ理由)
 - 文書更新内容:[$$ __UPDATE_DETAIL__ $$]
 - 文書URL: [$$ __DOC_DETAIL_URL__ $$]
 - 文書URL(スマホ用): [$$ __DOC_DETAIL_URL_FOR_SP__ $$]

・ひな形の内容
 ※フィールド名(inputのname値)を使って [$$ sale_price $$] のように申請書の任意の項目を埋め込むこともできます(フィールド名の場合は「__」は不要です)。
(メール文面のカスタマイズはひな形ごとにはできませんので、共通項目で表示したいものがあればご利用ください)
ひな形ごとにメール文言を設定できるようになりました(2017.11.02 new!)

  ひな形ごとに文面を変更したい場合は、下のプルダウンでひな形を選択して下さい。
 ※ひな形にメール文面が設定されていない場合は「共通文言設定」が使われます。



ひな形のバージョン管理 ~ 変更前の状態に復元する

・自動履歴保存機能

ワークフローのひな形はバージョン管理機能により、履歴が自動的に保存されます(最大10世代まで保存)。
また、ひな形保存時に「ひな形の履歴コメント」欄にコメントを記載することもできます。




・変更前の状態に復元する

ひな形を間違えて変更してしまった場合等でも簡単に以前のバージョンに戻すことができます。

ひな形管理から対象のひな形を開いて、戻したいバージョンの「このバージョンに戻す」リンクをクリックしてください。画面上に指定バージョンの情報が表示されます。
内容を確認して、最終的に更新する場合は、ひな形自体の「保存」をしてください。
※旧バージョンに戻した場合も、ひな形のバージョン自体は新しい番号がふられます。
※削除したひな形は復旧できませんのでご注意ください。

・申請書がどのバージョンのひな形で申請されたかを確認する

管理画面の「申請書検索」から申請書を開くと申請に使われたひな形のバージョンを確認することができます。


また「申請一覧項目」タブで一覧表示項目として「ひな形バージョン」を追加することもできます。
※こちらは管理画面、ユーザー画面共通の設定です。




■「サテライトオフィス・通知サーバー for クラウド」に通知を送る

サテライトオフィス・通知サーバー for クラウド」を使って、LINE WORKSなどのチャットボットに通知を送ることができます。

管理画面の「その他の設定」→「プッシュ通知設定」→「通知サーバー」で
以下の設定を入れることで、承認通知、決裁通知などの各種通知を「通知サーバー」経由で
LINE WORKS、Skype for Businessのチャット、IFTTTなど、様々なサービスに送ることができます。
※利用可能なサービスや詳細については「通知サーバー」のヘルプページをご参照ください。

サテライトオフィス・通知サーバーに送信する: チェック
テナントID: セットアップした通知サーバーのテナントID
ビジネスルールID: 通知サーバーで作成した、ワークフロー用の「ビジネスルール」の「ルールID」をセット



□ サテライトオフィス・通知サーバー文言設定

通知文面の変更も可能です。
文面には[$$ __SUBMIT_DATE__ $$]といったタグで申請や承認などの情報を埋め込むこともできます。
※詳しくは「メール文面のカスタマイズ方法」セクションをご参照ください。



■兼務ユーザーの設定 ~ 複数部署を兼務して申請、承認、回覧などを行う

ワークフローでは、ユーザーに「兼務者」を指定することで、本務(本人)だけでなく、
兼務の部署、ユーザーとしても、申請や承認、回覧などのアクションを行う「兼務」の機能がご利用いただけます。

兼務として申請する場合、申請者情報としても兼務ユーザーの情報が使われます。
また承認ルートも、兼務ユーザーの上長、部署、役職などに基づいた承認者が自動セットされますので
非常に簡単、かつ柔軟に兼務によるワークフローを実現していただけます。

■兼務ユーザーの登録
管理画面の「ユーザー情報」タブからCSVインポートにて「兼務ユーザー」を登録してください(CSVのカラム名:concurrent_users)。
兼務は、最大5兼務まで登録できます。

兼務ユーザーは「ユーザー」のレコードとして存在する必要がありますが、必ずしもログイン可能な実アカウントとして存在する必要はありません。
例えば「user_kenmu1@yourdomain.com」など、兼務部署用のユーザーを登録してご利用いただけます。



※ユーザー情報の「自動同期」をしている場合は、架空ユーザーレコードが削除されないように、
「その他の設定」→「ユーザー連携設定」→「連携項目」で「ユーザーの削除は行わない」にチェックを入れておいてください。




■兼務として申請する

本務(ログインユーザー本人)ではなく兼務ユーザーとして申請するには、
「新規申請」ボタンの右の▼から「兼務申請する」をクリックし、兼務申請者を選択してください。


兼務として申請する場合、申請者情報や承認ルートも兼務ユーザーの設定で自動セットされます。



■兼務者あての申請書の承認、回覧を行う
兼務ユーザーの承認待ちや回覧待ちなどの文書は、本人のものと同様に「承認待ち」、「承認済み」などの各申請一覧画面でご確認いただけます。
必要な文書を開いて承認などの処理を行ってください。
(本人宛と兼務ユーザー宛の文書の区別はありません)

■兼務者あての通知メールについて
兼務ユーザー宛ての承認依頼/回覧依頼などの通知メールは、本務ユーザーには送信されません。
メール送信先を本務ユーザーにしたい場合は「ユーザー情報」にて、
兼務ユーザーの「送信用メールアドレス」(CSVカラム名:primary_email)に本務ユーザーのアドレスをセットしてください。




機能一覧:ワークフローアプリパーツ(ユーザー用)

 ワークフローアプリパーツとは、申請書を作成・送付・承認することができるアプリパーツです。

 
申請書の種類を選んで「新規作成」ボタンをクリックすることにより、申請書を作成、申請実行することができます。
また、自分へ承認申請が送られた申請書を開き、承認・否決することができます。

ユーザー画面はタブごとに表示・非表示を切り替えることが可能ですので
たとえば承認をしないユーザー用に「申請」、「下書き」タブだけを表示するページを作るといったことも可能です。
詳しくはこちら → 画面の機能を制限する方法 ~ 一部の機能だけを使わせたい

■申請書の新規作成と申請


 画面左上のコンボボックスより、申請したい申請書を一つ選択し、「新規作成」ボタンをクリックします。
申請書の新規申請画面が表示されますので、申請内容を入力して「申請する」ボタンをクリックすることにより第一承認者へ申請書が送付されます。
また、「下書き保存」ボタンをクリックすると、申請書は送付されずに「下書き」タブに保存されます。
 

「申請」タブ

 「申請」タブには、自分が申請した申請書が一覧表示されます。申請書名または題名をクリックすると、申請書詳細画面が表示されます。
 

「下書き」タブ

 「下書き」タブには、申請せずに下書き保存した申請書が表示されます。

「承認/決裁待ち」タブ

 「承認/決裁待ち」タブには、自分へ送付され、まだ承認が済んでいない申請書が一覧で表示されます。
申請書は2種類の色で表示されており、下記の意味になります。
 
  ・青い字で表示される申請書  --->  自分が承認する段階に来ている申請書
  ・薄い灰色で表示される申請書  --> 自分が「将来の承認者」として登録されているが、まだ自分が承認する段階に至っていない申請書
 
申請書を開き、承認または否決すると申請書は「承認/決裁済み」タブへ移動します。
申請を否決する場合、申請書画面の一番下のメッセージ欄に何かコメントを入力することが必須となっています。

「承認/決裁済み」タブ

 「承認/決裁済み」タブには、承認済みの申請書が一覧で表示されます。
承認プロセスが「複数人承認」の「複数の承認者のうち誰かが承認すればOK」である場合、自分が承認しなくても他の承認者が承認することにより申請書が「承認/決裁済み」に移動します。
 
例えば、
 
  第一承認者  Aさん
  第二承認者  Bさん、Cさん(どちらかが承認すればOK)
 
という申請書の場合、Bさんの「承認/決裁済み」タブには「Bさん承認分」と「Cさん承認分(Bさんのところにも来たけれど、Cさんが承認してしまったもの)」の両方が表示されます。
タブのなかの「自分の承認分のみ」チェックボックスをオンにすることで、このうち「Bさん承認分」のみが表示されるようになります。(自分が承認したものだけが表示されるようになります)

「回覧待ち」タブ

 「回覧待ち」タブには、自分へ回覧申請で送付された申請書が一覧で表示されます。
申請書を開き、「回覧して閉じる」ボタンをクリックすると申請書は回覧済み状態になり「回覧済み」タブへ移動します。

「回覧済み」タブ

 回覧申請で送付された申請書で「回覧して閉じる」した申請書が一覧表示されます。
 
※各タブの「CSVエクスポート」ボタンについて
   各タブに「CSVエクスポート」というボタンがありますが、こちらは一度に最大1000行のデータがエクスポートされるかたちになります。
  申請日の条件を指定しない場合は申請日順で直近1000件が、申請日の条件を指定した場合は、条件の日付内で日付の大きい順に1000件がCSVファイルでエクスポートされます。
  直近1000件に含まれない古いデータでも、日付の条件を指定することによりエクスポートすることが可能です。

代理承認者の設定

 例えば「自分が夏季休暇のときだけ自分に送付された申請書について他の人が承認できるようにしたい」場合、自分の「代理承認者」を指定することができます。
代理承認者を指定するには、画面右上「設定」をクリックし、「代理承認者メールアドレス」に自分の代理として承認できるよう指定するユーザーのメールアドレスを指定します。

 
例えば、Aさんが自分の代理承認者としてBさんを指定したい場合、Aさんの「設定」画面でBさんのメールアドレスを「代理承認者メールアドレス」として登録します。複数の代理承認者を指定する場合、スペースで区切って指定します。
Bさんが代理承認者として指定された場合、Bさんの画面には「承認/決裁待ち(代理)」というタブが表示され、Aさん宛て承認申請書一覧が表示されます。BさんはAさん宛て申請書を承認できるようになります。

代理申請者の設定

 自分の代理として、他の人が申請書を申請できるようにしたい場合、画面右上「設定」をクリックして表示されるユーザー設定画面より自分の「代理申請者」を登録することができます。
 例えば、Aさんの長期休暇中に、Bさんが申請をかわりにおこなう、といったようなケースでご利用いただけます。

 
・代理申請の設定と動作
  Aさんが、代理申請者としてBさんを設定した場合、
  Bさんの画面で
は「新規申請」ボタンの右に▼マークが表示され、「代理申請する」メニューが表示されます(代理申請を許可しているひな形が選択されていない場合はクリックできません)。

  
代理申請の場合、BさんはAさんになりすましてAさんとして申請でき、 承認ルートはAさんから見た承認ルートへと申請書が送付されます(実際はAさんとして申請しているため)
 
  代理申請者は、Aさんのワークフロー画面右上の「設定」リンクから設定できるほか、
  管理者画面の「ユーザー情報」タブ画面からのCSVインポートからも設定することができます(「ghost_writers」列で設定します)
  複数の代理申請者を登録したい場合、半角スペースで区切って列挙して下さい。
  
 
  

 
・決裁/否決時のメールについて
  通常申請書が決裁または否決された場合、申請者にその旨の結果メールが送られますが、
  代理申請した申請書の場合、「代理で申請したユーザー」と「本来のユーザー」の二人に対して、決裁/否決の結果メールが送信されます。
 
・ひな形設定上の注意点
   代理申請については、管理者によって代理申請が許可された申請書のみ、代理申請が可能になっています。(代理申請者であっても、代理申請可能な申請書だけが代理申請できます)
(管理者画面の「申請書ひな形」の設定画面)

 

■言語の設定

 ワークフロー画面の文言を、日本語、英語、中国語などの言語に変更できます。
 ※認証前のページなど、一部標準のままの部分もございます。
 
・英語の画面イメージ
 

■タイムゾーンの設定

 タイムゾーンを変更することでワークフロー画面の日時の表示を指定したタイムゾーンで表示できるようになります。
 ※自動承認などシステムの処理時間が変更されるわけではございません。

 

■リッチテキスト内へのリンクの貼り付け


 文書のなかのリッチテキストへ、添付ファイルや他文書のアイコン付きリンクを貼り付ける事が可能です。
 
・添付ファイルのリンクをリッチテキスト内に貼り付ける手順
 
  1. 文書の新規作成画面の一番下の添付ファイル欄にて、ファイルをいったん添付します。
   添付が完了したら、「このファイルへのリンクをコピー」をクリックします。
   「ファイルへのリンクをクリップボードにコピーしました」というメッセージが表示されます。
 
  2. リッチテキスト内でCtrl+Vを押します。クリップボードにコピーされた添付ファイルへのリンクが貼り付けられます。
 
 
※ご注意) 「このファイルへのリンクをコピー」機能は、Flashがオフになっているブラウザでは機能しません。
リッチテキスト内リンクの貼り付けが動作しない場合、ブラウザのFlashプラグインが動作するかどうかご確認下さい。

■リッチテキスト内への添付画像の埋め込み


 文書のなかのリッチテキストへ、添付した画像ファイルを埋め込み表示する事が可能です。
・リッチテキスト内へ添付ファ像を埋め込む手順

  1. 文書の新規作成画面にて、画像ファイル(JPEG, PNG, GIFファイル)を添付します。添付が完了したら、
  「画像ファイルのリッチテキスト内表示用リンクをコピー」をクリックします。
 
  2.リッチテキスト内でCtrl+Vを押します。クリップボードにコピーされた画像ファイルの表示用リンクが貼り付けられ、
  リッチテキスト内に添付した画像が表示されるようになります。
 
※ご注意) 「画像ファイルのリッチテキスト内表示用リンクをコピー」機能は、Flashがオフになっているブラウザでは機能しません。
リッチテキスト内への貼り付けが動作しない場合、ブラウザのFlashプラグインが動作するかどうかご確認下さい。

​​​

機能一覧:管理者画面アプリパーツ(管理者用)

ワークフロー管理者画面アプリパーツは、 システム内全申請書からの検索、申請書ひな形の作成、ユーザー承認者情報の登録、
参照用のマスターデータの作成がおこなえるアプリパーツです。 


 
管理者画面アプリパーツは、以下のどれかに該当するユーザーが利用する事ができます。

  ・初期セットアップを行ったOffice365全体管理者
  ※Office365認証(OpenIDConnect認証)切り替え前の環境ではサイトコレクション管理者権限を持つユーザーです。
  ・「その他の設定」タブ画面にて「追加で管理者画面使用を許可するユーザー/グループ」に設定されたユーザー
      --> 「初期セットアップ管理者に加えてワークフローの管理者画面(特定のアプリケーションID)の利用を許可したい」ユーザーは、こちらにご指定下さい。

 これ以外のメンバーが本アプリパーツを開いた場合は、エラーメッセージが表示され管理者画面アプリパーツは利用する事はできません。



管理者アプリパーツはタブごとに表示・非表示を切り替えることが可能ですので
たとえば「申請書ひな形」タブだけを表示することで、ひな形作成専用オペレータ用の画面を用意することもできます。
詳しくはこちら → 画面の機能を制限する方法 ~ 一部の機能だけを使わせたい

 
 

■「申請書検索」タブ


 「キーワード」「日付(開始日と終了日指定)」「申請書の種類」を指定して「検索」ボタンをクリックすると、条件にマッチした申請書が一覧表示されます。
管理者画面で検索可能な申請書は、システム内の全ての申請書になります。
 
  ・検索ボタン
指定した日付と選択したひな形の条件により、システム内の全ての申請書を検索・一覧表示します。(最大1000件)
  ・CSVエクスポートボタン
指定した日付と選択したひな形の条件により、システム内の全ての申請書から申請書をCSVファイルのかたちでエクスポートします。(最大1000件)
CSVの項目(列)がひな形によって違ってくるという事情から、ひな形の選択は必須となります。
また、このボタンは表示された申請書の一覧のチェックとは関係なしに指定した条件から申請書を検索し、CSVエクスポートします。
申請日の条件を指定しない場合は申請日順で直近1000件が、申請日の条件を指定した場合は、条件の日付内で日付の大きい順に1000件がCSVファイルでエクスポートされます。
直近1000件に含まれない古いデータでも、日付の条件を指定することによりエクスポートすることが可能です。
  ・チェックした申請書を削除ボタン
一覧に表示させた申請書のチェックボックスをチェックし、このボタンにより申請書の削除をおこなうことができます。いったん削除した申請書は復旧できませんので、ご注意下さい。 

 

「申請書ひな形」タブ



 ワークフロー内で利用できる申請書のひな形を作成することができます。
申請書のひな形はHTML形式で作成し、HTML Formで利用するタグ(input, select, option, textarea)を入力項目として定義することができます。

 
※ ひな形の新規作成をおこなう場合、ゼロから作成することもできますが、テンプレートを利用して作成することもできます。
  ・「※テンプレートを使わずに作成」
内容や承認ルートに関して空欄の状態でひな形の新規作成画面が開きます。
  ・「パソコン設置依頼書」等のテンプレートを選択し、作成
選択したテンプレートの内容や承認ルートが自動セットされた状態で、ひな形の新規作成画面が開きます。
作成したい内容に近いテンプレートを選択して、修正することにより、かんたんに申請書ひな形を作成することができます。
 

※「ひな形のバージョン管理」セクションも併せてご確認ください。

※ ひな形の削除

 ひな形の詳細ページから「このひな形を削除」ボタンにより不要なひな形を削除することができます。

※削除されたひな形は復元できませんのでご注意ください!

※削除されたひな形を使用して申請された申請データは引き続き、回覧や承認などが可能ですが、
「コピーして再作成」など、最新のひな形情報が必要な一部の機能はご利用頂けません。

 
 <申請書ひな形詳細画面>

  ・題名
申請書の題名(申請書の種類)を指定します。
 ・カテゴリー
申請書にカテゴリーを設定することができます。カテゴライズすることで、ユーザーは多くの申請書から簡単に目的のひな形を選択し申請することができます。 詳細
  ・内容
申請書本文を定義するhtml文を記入します。
  ・承認ルート1~30
承認ルートを定義するhtml文を記入します。承認ルートを複数設定すると、ユーザ-が複数の承認ルートのうち一つを選択できるようになります。
  ・表示
定義した申請書を、一般ユーザーに表示/非表示にするかを設定します。(デフォルトは表示、チェックすると管理者だけに表示されます)
  ・代理申請
この申請書の代理申請(他のユーザーにかわって申請をおこなう)を許可するかどうかを設定します。(デフォルト不許可
  ・ワークフローグループによる制御
この申請書を表示する「ワークフローグループ」を設定することができます。
ワークフローグループを設定すると、ユーザー情報の定義でそのワークフローグループに所属するユーザーのみ、「新規に申請できる申請書の一覧」に申請書が表示されます。
※半角スペース区切りで複数指定可能です
(例:営業G 資産管理G)。
  ・初期表示
申請書を開いたときに「アプリパーツの大きさいっぱいに申請書を表示」するかどうかを設定します。
  ・申請書変更通知メール
申請した申請書が、承認者により一部内容が修正された時に、申請者にその旨のメールが自動通知されます。(デフォルト動作)
この設定「申請書の変更通知メールを送信しない」をチェックすると、この修正時通知メールが送られなくなります。
  ・差し戻し
このひな形で、承認者による、申請者あるいは前のステップの承認者への差戻し機能を有効にするかどうかを指定します。 
  ・コピーして再作成
コピーして再作成(自分が過去に申請した申請書から再度新規の申請書を作成する)をおこなう際に、もとの申請書の決裁ルートもコピーして新しい申請書を作るかどうかを指定することができます。
  ・申請書閲覧者メールアドレス
「経費申請書だけは経理担当者に全ての申請書を見れるようにしたいが、そのほかの申請書は見れるようにはしたくない」といった場合に利用します。
この項目にメールアドレスを登録すると、登録されたユーザーは、「このひな形の申請書についてだけ」ワークフローシステム内の全ての申請書を見ることができるようになります。
  ・回答督促メール
申請書内に「質問・回答コーナー(q_and_aクラス)」を設置した場合のみ有効です。
承認者の登録した質問に対して何日間か回答がない場合、申請者に回答を促すメールを自動送信します。
  ・下書き保存
「「下書き保存」を開くときに最新のひな形設定を使用して決裁ルートを再構築する」にチェックを入れると
下書き保存された文書を開いた際に、最新の承認候補者を取得して上書きします。
※古い組織構成の承認者を使わせたくない場合に便利です。
※承認ルートHTMLの承認プロセス単位に「draft_with_approvers」というオプションを指定することでプロセスごとに上書きしない例外対応も可能です。
(詳細は
下書保存を開いた際に最新の定義で承認候補者を上書きする を参照)。​
  ・添付ファイル:添付ファイル欄を表示しない
この設定をオンにした場合、申請書に添付ファイル欄が表示されなくなります。 
  ・添付ファイル:添付ファイルを必須とする
この設定をオンにした場合、申請書に添付ファイルがないとエラーになり、申請できなくなります(ファイルの添付を必須とする)。
  ・申請書の取り下げ
 このひな形の申請書について、申請書の取り下げができる範囲を指定します。なお、申請書を取り下げすることができるのは、申請者本人のみとなります。
・「申請書の取り下げはできない」  ...  申請書の取り下げはできません。
「差し戻された申請書のみ取り下げ可能」  ...  申請者に差し戻された申請書のみ取り下げできます。
「承認/回覧前の申請書を取り下げ可能」  ...  申請直後の、承認や回覧が一つもおこなわれていない申請書のみ、取り下げすることができます(第一承認プロセスに差し戻された場合も含みます)。 
  ・申請書の削除
 このひな形の申請書について、申請書の削除ができる範囲を指定します。なお、申請書を削除することができるのは、申請者本人のみとなります。
・「申請書の削除はできない」  ...  申請書の削除はできません。
「取り下げした申請書のみ削除可能」  ...  自分自身で取り下げた申請書のみ削除可能です。
「承認/回覧前の申請書を削除可能」  ...  申請直後の、承認や回覧が一つもおこなわれていない申請書のみ、削除することができます(第一承認プロセスに差し戻された場合も含みます)。
・「決裁前(承認/回覧中、否決済)の申請書まで削除可能」  ... 承認がおこなわれた申請書で、「決裁」状態になっていない申請書まで削除することができます。
「決裁済みの申請書まで削除可能」  ...  申請後、承認、決裁まで終わった申請書まで削除することができます。(申請者が作成したすべての申請書を削除することが可能です)​

・コメント機能:
   「申請書にコメント追加機能を許可する」をオンに設定すると、掲示板投稿の下側にコメント欄が表示されます。詳細は、「コメント欄の追加」をご参照下さい。

  ・CSVエクスポート:
このひな形の申請書のCSVエクスポートを無効にする」をオンに設定すると、ユーザーガジェットでこのひな形のCSVエクスポートを禁止します。
  ※この設定に関わらず、管理者ガジェットおよび連携ツールなどでのエクスポートは可能です。
  ・一括承認設定:
申請書一覧画面から一括承認/回覧を可能とする」をオンにすると、「承認待ち」、「回覧待ち」、「承認/回覧待ち(代理)」タブで複数の申請書を選択して一括で承認できるようになります。
  一括承認を有効にしたひな形を選択して「検索」すると「一括承認」ボタンがアクティブになりますので、承認、回覧したい文書をチェックして一括承認を行ってください。
  ※チェックした文書がログインユーザーの承認待ち、回覧待ちではない場合、その文書の処理はスキップされます。処理は非同期で行われます。
  ※一括承認/回覧処理は、文書画面が開かないため、ひな形内のクラスやハンドラ、JavaScriptでの処理が行われません(自動承認と同様)。有効にする際はご注意ください。

 

「ユーザー情報」タブ

 「ユーザー情報」タブ画面では、ワークフローを利用するユーザーをCSVファイルをアップロードすることにより登録します。本画面より登録していないユーザーは、ワークフロー画面を開こうとしても利用できない旨のメッセージが表示されます。
ユーザー情報には、個々のユーザーから見た承認者を20名まで登録することができます。
 
例えば、Aさんの上長を「承認者1」に、上長の上長を「承認者2」に登録するようなかたちで利用することができます。ここで登録された個々のユーザーの承認者は、申請書作成時に承認ルートを定義するのに利用することができます。(詳細は、「申請書ひな形の作成」の「承認ルートに設定するhtml」を参照下さい)
 
また、ここに登録した氏名・部署名・役職や追加属性を申請書に自動表示させることもできます。(詳細は「機能一覧:ひな形本文用特殊クラス・タグ(タグリファレンス)」の「クラス job_title」等をご参照下さい)

 
<ユーザー情報CSVファイル 項目詳細>

    command
IU(Insert or Update、追加または更新), I(Insert、追加), U(Update、更新), D(Delete、削除)のいずれかの値をセットします。この値により、ユーザー情報を追加/更新/削除するのかを決定します。
    email
ユーザーのメールアドレスをセットします。ユーザー情報を変更するうえでのキー項目になります。command=IUの場合、emailが一致する情報を上書きします。command=Dの場合、emailが一致するユーザー情報を削除します。
     family_name
ユーザーの名前(姓)をセットします。
     given_name
ユーザーの名前(名)をセットします。
     department_1
部署1(事業所)をセットします。
     department_2
部署2(部署)をセットします。
     department_3
部署3(課・グループ)をセットします。
     department_4
部署4をセットします。
    department_5
部署5をセットします。
    job_title
役職名をセットします。
     boss_email_1~20
承認者1~20のメールアドレスをセットします。
    employee_id
社員番号をセットします。
     user_attribute_1~5
追加属性1~5をセットします。
    workflow_groups
ワークフローグループをセットします。複数設定する場合は、半角スペースで区切って設定します。
     deputy_approvers
代理承認者のメールアドレスをセットします。複数設定する場合は、半角スペースで区切って設定します。
     ghost_writers
代理申請者のメールアドレスをセットします。複数設定する場合は、半角スペースで区切って設定します。
     concurrent_users
兼務者のメールアドレスをセットします。複数設定する場合は、半角スペースで区切って設定します(5兼務まで指定可能)。
兼務者を設定したユーザーは本務(本人)だけでなく兼務者としても申請、承認、回覧などを行えるようになります。
     language
ユーザの言語をセットします。ユーザは設定された言語でワークフローシステムをご利用いただけます。

<<対応言語一覧>>

・en…英語
・cn…中国語
・ko…韓国語
・pt…ポルトガル語
   ・
   ・
・ja…日本語(デフォルト)

※認証前のページなど一部の文言は切り替わりません。

    timezone
ユーザのタイムゾーンを指定します。申請日や承認日などを指定したタイムゾーンの日時で表示することができます。
タイムゾーンを変更することでワークフロー画面の日時の表示を指定したタイムゾーンで表示できるようになります。
※自動承認などシステムの処理時間が変更されるわけではございません。

⇒ 対応タイムゾーン一覧はこちら

    primary_email
ユーザーID(email)ではなく別のアドレスに通知メールを送りたい場合に指定します。
※指定すると、emailにはメールは送信されなくなります。ユーザーIDとメールアドレスが異なる場合にご指定ください。
※なお、「連携設定」タブでOffice365とユーザー連携をしている場合は標準でOffice365のプライマリアドレスに送信されます。

 <画面リンク/ボタン説明>

    「CSVファイルからのインポート」リンク
ユーザー情報CSVファイルをインポートするダイアログ画面を表示します。この画面から、ユーザー情報CSVをシステムにインポートすることができます。
    「CSVエクスポート」ボタン
システムに登録されているすべてのユーザー情報を、CSVファイルの形式でエクスポートします。 
  「全ユーザー分CSVファイル作成」ボタン
ユーザー情報に何も登録されていない状態でも、Office 365ユーザーとして登録されているユーザー全員分のCSVファイルを作成します。(email, family_name, given_nameのみセットされたCSVになります)
          ダウンロード用CSVの作成には時間がかかるため、CSVファイルが作成された時点でダウンロード用URLを記したメールが作成者に送付されます。
    「自動同期設定」リンク
ユーザー情報を手動登録せず、一日一回のバッチ処理にてOffice 365ユーザーと同期登録するよう設定することができます。
※「Office 365連携設定」でOffice365の管理者アカウントの登録が必要です。
 

 
例えば「自動同期バッチ開始時間」に「2」と登録して同期をオンに設定すると、一日一回夜2時に以下の処理をおこなうバッチ処理が実行されます。
  ・Office 365本体よりユーザー一覧を取得し、組織ワークフロー側にないユーザーがあった場合、そのユーザーのユーザー情報を新規作成します。
  ・Office 365本体よりユーザー一覧を取得し、組織ワークフロー側だけ存在する(Office 365からは削除された)ユーザーがあった場合、組織ワークフローの当該ユーザー情報を削除します。
  ※両方に存在するユーザーについては、何もおこなわれません(上書き処理はおこなわれません)。

自動同期によるユーザー情報登録では、メールアドレスと名前(姓)、名前(名)だけで登録がおこなわれ、それ以外の欄(ワークフロー機能で主に使用される「承認者1~20」等)はすべて空の状態で登録されます。
この場合、自動同期で新規登録されたユーザーがワークフロー機能を利用する場合に、ユーザー情報の「承認者」が未登録のため承認ルートに承認者が自動セットされない、といった事態が起こりえますので注意が必要です。​

  「ユーザーアドレス・姓名の変更」リンク
Office365でユーザーID(メールアドレス)を変更した場合に、このリンクから、旧アドレスと新アドレスを設定していただくことでワークフロー内の既存申請データや認証情報を新しいユーザー情報に変換することができます。
※「ユーザー情報」や「申請書ひな形」内のメールアドレスは別途手動で更新をお願いします。

 
    「他アプリケーションID参照設定」リンク
このアプリケーションIDではユーザー情報を持たず、他のアプリケーションID内に登録されたユーザー情報を利用する場合にこちらから設定をおこないます。

 
 

「承認グループ情報」タブ

 「承認グループ情報」タブ画面では、複数の承認者をまとめた「承認グループ」を登録することができます。
承認グループは、組織の部署構成やユーザー情報の所属部署や役職と切り離して登録できるため、複数の部署、役職を兼務している場合や、
部署にまたがったプロジェクトに参加している場合など、非常に柔軟な承認ルートの設計、構築が可能となります。
※ひとつの承認グループには、承認者を最大30名まで登録することができます。 
 
<承認グループ情報CSVファイル 項目詳細>

     command
IU(Insert or Update、追加または更新), I(Insert、追加), U(Update、更新), D(Delete、削除)のいずれかの値をセットします。この値により、承認グループ情報を追加/更新/削除するのかを決定します。
     group_id
承認グループのIDを定義します(半角英数字記号)。承認グループのキー項目になります。
     approvers
承認グループに所属する承認者アドレスの一覧です。ユーザー情報に登録したユーザーの「email」を指定してください。最大30名までセットできます(半角スペース区切り)。
     updated_date
承認グループの登録、変更日時です(読み取り専用項目です)。
     comment
管理用のメモ欄です。


 <画面リンク/ボタン説明>

    「CSVファイルからのインポート」リンク
承認グループ情報CSVファイルをインポートするダイアログ画面を表示します。この画面から、承認グループ情報CSVをシステムにインポートすることができます。
    「CSVエクスポート」ボタン
システムに登録されているすべての承認グループ情報を、CSVファイルの形式でエクスポートします。 




「参照用マスターデータ」タブ


 「参照用マスターデータ」タブ画面では、申請書のなかで利用できるマスターデータを登録することができます。
例えば、「備品マスター」をこの画面で登録しておき、申請書側では「備品を選択」するようにすることができます。

 
  ・参照用マスターデータの新規作成方法
    1. 「参照用マスターデータ」タブ画面にて、「マスターの新規作成」ボタンをクリックします。
    2. 「マスターの新規作成」画面が表示されますので、申請書ひな形でマスターを呼び出すための識別名「マスターコード」やその他の項目を入力し、「新規追加」ボタンをクリックします。
    3. 以上で参照用マスターの定義が作成されます。
    4. 次に、CSVファイルのアップロードにより、データを登録することができます。CSVファイルのフォーマットは以下のようになります。



<項目詳細>

  command
IU(Insert or Update), I(Insert), U(Update), D(Delete)のいずれかの値をセットします。
  master_code
マスターデータを定義するときに指定した「マスターコード」をセットします。 
  data_key
マスターデータのキー項目の値をセットします。command=IUの場合、値がデータとして存在した場合は上書きし、存在しない場合は新規データとして追加します。command=Dの場合、値が一致するデータを削除します。 
  attribute_1から50
各データの項目の値をセットします。
  comment
備考欄として利用する項目です。この値はデータとして使うことはできません。また、ワークフロー管理者ユーザーがこの画面(およびこの画面からダウンロードしたCSVファイル)だけで確認することができる項目です。
 

 

<「読込を高速化」オプション>


 CSVインポートの際に、キャッシュ領域にマスター情報をセットすることで、申請書からの読込を高速化することができます。特に大量データを含むマスターに有効です。
※公開JavaScript関数「appendUpdateMasterData」による申請書からのマスターデータ更新がある場合、マスター取得時にその結果がすぐに反映されませんのでご注意ください(マスターの更新自体は正常に行われます)。
 
 

「連携設定」タブ


・「連携設定」の設定

 「連携設定」タブ画面では、Office 365のグループ、ユーザー情報を取得するための管理者アカウントやその他連携関連の設定を行います。
ここで登録したアカウント情報を用いて、夜間処理にてネクストセット・組織ワークフローへユーザー/グループ情報が反映されます。
反映されたユーザー、グループ情報は、「申請書閲覧者メールアドレス」のグループアドレス指定やユーザー情報の「自動同期」などの機能で利用されます。
 
 

通常一日一回の夜間バッチにて情報の取得がおこなわれますが、急ぎで反映させたい場合、
「最新のOffice 365情報を反映」ボタンのクリックにより1時間以内に同期バッチが開始されます。

 

・SharePointの認証URL
 ※Office365認証(OpenIDConnect認証)切り替え済みのテナントでは設定不要です。
 SharePointサイトコレクションに登録した、組織ワークフローのアプリパーツのURLを設定して下さい。この設定により、通知メールのURLから文書を直接開くことができるようになります。
(未設定の場合、24時間ごとにSharePointの組織ワークフロー用ページを事前に開く必要があります)
  ​

  - アプリパーツのURLの取得方法

 ※本機能は仮想アプリケーションIDごとの設定になります。複数の仮想アプリケーション領域をご利用の場合は、
 それぞれのアプリケーションごとに適切なサイトコレクションのアプリパーツのURLをご設定ください。


 ・組織ワークフローのアプリパーツを登録したサイトページにアクセス

 ・「組織ワークフロー・ネクストセット for Office 365」のアプリパーツのURLを取得
「組織ワークフロー・ネクストセット for Office 365」のリンクを右クリックして、「ショートカットのコピー」(IEの場合)を実行してください。(下図)

  (URL の例)
https://yourtenant.sharepoint.com/teams/addon/work_flow/_layouts/15/appredirect.aspx?client_id=i%3A0i%2Et%7Cms%2Esp%2Eext%7Caae7e77e%2Dcf38%2D48c3%2D953b%2Dab0fae487b4b%40cb33c6f9%2D3f83%2D45f5%2Da5ae%2Da0a65aa51137&redirect_uri=https%3A%2F%2Fworkflow%2Enextset%2Ejp%2Fgadget%2Fworkflow%3F%7BStandardTokens%7D


 ・コピーしたアプリパーツのURLを入力して「設定の保存」

 

 ・通知メールのURLから直接文書が開けるようになります

 

​​■「申請一覧項目」タブ


 「申請一覧項目」タブ画面では、申請一覧に関する項目のカスタマイズや並び替えなどの設定を行います。

 ※標準項目の幅、タイトルの指定もできるようになりました(2017.09.05 new)。

 また、全ての標準項目に幅を指定することで、ウインドウ幅にかかわらず固定幅で表示できるようになります。
 (標準では「題名」列で幅を自動調整します)

・申請一覧表示・並び順設定
 …申請一覧の項目を追加、削除、また表示位置の変更を行います。
 





 
・申請一覧追加項目設定

 ここでは、各申請書に表示する項目を自由に設定することができます。
「ひな形」の各項目にあらかじめ「list_key」値を設定しておくことで、
複数のひな形の異なる項目の値を同じ一覧の列に表示することができます。 

1.ひな形に「list_key」を指定
 
     例: 項目「所属」にlist_key「busho_code」と設定
 
<tr>
<td class="detail_name" width="20%">所属</td>
 <td class="detail_value" width="30%"><input name="department_name" class="department_1" list_key="busho_code" readonly></td>
<td class="detail_name" width="20%">役職</td>
<td class="detail_value" width="30%"><input name="job_title" class="job_title" readonly></td>
</tr>
 
2.追加項目の設定
 
 「設定管理」の「申請一覧追加項目設定」にてlist_key「busho_code」の設定を追加
 
3.追加した項目を一覧に表示する設定
 
 「設定管理」の「申請一覧表示・並び順設定」にて追加した「busho_code」を追加




4.申請一覧に追加した項目が表示



​■「その他の設定」タブ


 「その他の設定」タブ画面では、ワークフローの様々な設定を行うことができます。

■ 組織ワークフローアクセス制御

    ・追加で管理者画面使用を許可するユーザー/グループ
管理者画面は「初期セットアップを行ったOffice365全体管理者(Office365認証切替前の場合はサイトコレクション​管理者権限をもったユーザー)」が利用することができますが、
ここにOffice 365ユーザーのメールアドレスを指定することで指定されたユーザーも管理者画面を使えるようになります。
また、Office 365グループのメールアドレスを指定すると指定されたグループのユーザー全員が管理者画面を利用可能になります。(子グループのユーザーも同様)
複数のメールアドレスを指定したい場合、半角スペースで区切って列挙して下さい。
本指定はこのアプリパーツに設定されたアプリケーションID内でだけ有効です。(他アプリケーションIDの管理者画面が利用できるようにはなりません)

■ 画面表示


 ・添付ファイルのURL:
   …申請書の添付ファイル領域に「このファイルへのリンクをコピー」を表示します。
    リッチテキストエリアに添付ファイルを貼り付ける際にご利用いただけます。
 
 ・ファイルエンコード:
   …ワークフロー内で扱うCSVファイルの文字コードを設定します(デフォルトはUTF-8です)。
    日本語以外の言語(中国語、韓国語など)をご利用の場合は、UTF-8 のご利用を推奨します。
 
   ※設定を変更しても、ワークフロー内の各データ自体には影響はございません。
   ※インポート時に設定と異なる文字コードのCSVファイルをご利用になると、文字化けやエラーの原因となりますので十分ご注意ください。
   ※アドオンデータ連携ツール(EDIツール)で扱うCSVファイルもこの設定を使用します。
 
 

 ・ファイルエンコード:
   …ワークフロー内で扱うCSVファイルの文字コードを設定します(デフォルトはUTF-8です)。
    日本語以外の言語(中国語、韓国語など)をご利用の場合は、UTF-8 のご利用を推奨します。
 
   ※設定を変更しても、ワークフロー内の各データ自体には影響はございません。
   ※インポート時に設定と異なる文字コードのCSVファイルをご利用になると、文字化けやエラーの原因となりますので十分ご注意ください。
   ※アドオンデータ連携ツール(EDIツール)で扱うCSVファイルもこの設定を使用します。
 
 



■ Skype for Business 設定

 ・申請書にSkypeチャットアイコンを表示する
  設定を有効にすると、申請書の承認ルートや上下のメニューにスカイプチャットのアイコン、ボタンが表示され、
  「Skype for Business」デスクトップアプリで、申請者や承認者とチャットですぐにディスカッションできるようになります。
  ※「Skype for Business」のデスクトップアプリは別途インストールしてください。 

   ↓↓↓↓↓↓↓↓↓↓↓




■ オペレーションログ

 ・オペレーションログ機能:
   …オペレーションログ機能を有効にすると、文書に対する申請、閲覧、承認、添付ファイルの添付、閲覧、などのアクションのログを取得することができます。
   取得したログは「オペレーションログ」タブで参照、検索など行えます(CSVファイルへのエクスポートも可能です)。
   ※オペレーションログは1年間分保存され、それ以降は削除されます。
 



   ※オペレーションログは文書内部IDでの検索が可能です。文書内部IDは管理画面の「申請書検索」タブから申請書を開いて確認できます。


■高速化オプション設定(SharePoint認証のみ)
※Office365認証では標準での高速化動作を実現しました。また複数人で使用しても大丈夫ですのでお勧めです(2016.12.13)。
組織ワークフローの各アプリパーツは、画面の表示時に毎回Office 365と通信し、ログインユーザーを確認しています。「高速化オプション」をオンに設定すると、組織ワークフローへのログイン状態を最長2週間保持し、画面の表示時のOffice 365へのログインユーザー確認をスキップし、表示を高速化します。

高速化オプションがオンの場合、アプリパーツ下側に「ログアウト」リンクが表示されます。こちらをクリックする事で組織ワークフローから明示的にログアウトする事ができます。また、高速化オプションを利用する場合、ブラウザの設定でサードパーティーCookieが許可されている必要があります。(IEブラウザは初期設定でサードパーティーCookieが許可されていないため、設定の変更が必要になります。ChromeおよびFireFoxブラウザは初期設定でサードパーティーCookieは許可されている状態となっています)

ご注意)「高速化オプション」をオンにすると、一台のPCの同じWebブラウザをシークレットモードを使わず複数人で共用してお使いの場合、前の人が使った組織ワークフローの画面が表示される場合があります。そのようなケースがある場合、高速化オプションはオンにしないでください。

■ 通知メール設定
各種通知メール(承認依頼、決裁通知など)の文言のカスタマイズができます。詳細はこちら




機能一覧:ひな形本文用特殊クラス・タグ

 申請書ひな形本文には、ホームページの作成等で使用されるhtml言語の<form>タグ内で利用できるタグを使い、入力項目を定義することができます。
具体的には、<input>、<select>、<option>、<textarea>などのタグが入力項目として利用できます。
その他通常のhtml文で使用できるタグやstyle項目を使って見た目のデザインを変更することができます。

ネクストセット・組織ワークフローでは、申請書のレイアウトやセット値の制御に利用できる専用のクラス群をご用意しております。
ここでは、その一覧をご案内します。具体的なご利用方法に関しましては、組織ワークフロー(機能活用例) も合わせてご参照ください。

レイアウトビルダーにてこれらのタグをご利用いただく場合は
下図のように「フィールド名」、「ネクストセットクラス」といった項目に指定します。



■クラス・タグ一覧

名前 doc_title
→ 申請書の題名を入力する入力ボックスを生成します。
  ここに入力された文字列が申請書一覧画面「題名」に表示されます。
例)
<input type="text" name="doc_title" style="width:100%" disp="件名" >
 
名前 doc_no
→ 文書番号をセットする非表示項目を生成します。申請書作成者が入力することはできません。
文書番号は、全申請書内で一意な番号となります。
  申請書送信時に自動採番・セットされます。
  この文書番号は、一覧画面の「文書番号」に表示されます。
例)
<input name="doc_no" sequence="monthly">
→ YYYYMMDD+4桁連番で文書番号を発行します。
    4桁の連番部分は、月がかわるとリセットされます。
 
名前 doc_cover_date_from, doc_cover_date_to
→ 申請書がカバーする期間を指定する日付入力に指定します。申請時に過去の同種の申請書でカバー期間が重なる申請書があった場合、エラー表示されて申請できません。
例)
<input type="text" name="doc_cover_date_from" class="date">
<input type="text" name="doc_cover_date_to" class="date">


textareaクラス richtext
→ リッチテキストを入力するフィールドを生成します。
例)
<textarea name="honbun" class="richtext" style="width:100%; height:600px;"></textarea>​


クラス mandatory
→ フィールドを必須入力項目に指定します。
例)
<input name="karibarai_kingaku" class="mandatorymandatory_msg="仮払い金額は必須です。">
注)
ラジオボタンやチェックボックスに指定する場合は、同nameの全inputタグに指定してください。

 
クラス date
→ カレンダー入力できる入力ボックスを生成します。
例)
<input type="text" name="doc_cover_date_from" class="date">

 
クラス number
→ 数値入力専用ボックスを生成します。入力した値は3桁ごとにカンマで区切られます。
<input type="text" name="money_amount" class="number" number_type="FLOAT" style="text-align:right;">
 
  number_type … 数値形式(任意)
  ・FLOAT…小数
  ・INTEGER…整数(デフォルト)

※数値型入力ボックスにスタイルが適用できるようになりました(2017.11.22)。例えば右寄せにしたい場合は「
text-align:right;」といったスタイルを指定してください。


クラスtoday_date
→ 当日の日付を自動セットします。
  set_value_only_empty… 元の値が空の場合のみセットする(オプション) 
 ※本オプションを指定することで、承認者の編集可能項目である場合などに、日付を上書きしないように制御することができます。
  set_value_only_empty_or_draft … 「set_value_only_empty」の動作に加えて下書きから開いた場合もセット (オプション) 
 ※申請日などに使用したい場合はこちらを推奨。「set_value_only_empty」より優先されます。

例)
<input name="kihyo_bi" class="today_date nocopy" set_value_only_empty_or_draft ​>
注)
today_dateの日付は「申請書を開いた直後に非同期で」セットされます(サーバーより日付を取得します)。そのためnew_workflow_doc_handler内でtoday_dateの正しい値を取得することができません。
today_dateの値をJavascriptで利用したい場合、new_workflow_doc_before_submit_handlerか、またはnew_workflow_doc_handler内で設定できるonFormValidateのような「申請書を送信するタイミング」でご利用下さい。
→ 同期処理に変更…各ハンドラで値の取得など可能になりました(2017.08.01)。
※「コピーして再作成」時に値を引き継がないために「nocopy」オプションと併用することをおすすめします。


 
クラスfinal_approve_date
→ 最終承認(決裁)がおこなわれた日付をフィールドにセットします。
  issue_with_reject … 決裁者が否決した場合も日付をセットし表示する(オプション) 
例)
<input type="text" name="kessai_bi" class="final_approve_dateissue_with_reject readonly>

 
クラスapprove_expire_date
→ 指定承認プロセスの承認期限日を表示
  target_process_number … 表示するプロセス番号を指定
例)
<input type="text" name="approve_expire_date" class="approve_expire_datetarget_process_number="2" readonly>
※自動承認機能により承認期限が設定されている場合のみ表示されます。
 

クラス department_1 ~ department_5
→ 申請書作成者のユーザー情報の「department_1」~「department_5」の値を自動セットするクラス
例)
<input name="department_name" class="department_1" readonly>
注)
代理申請の場合、代理で申請された側のユーザー情報がセットされます


 
クラス job_title
→ 申請書作成者のユーザー情報の「役職」の値を自動セットするクラス
例)
<input name="job_title" class="job_title" readonly>
注)
代理申請の場合、代理で申請された側のユーザー情報がセットされます

 
クラス employee_id
→ 申請書作成者のユーザー情報の「employee_id」の値を自動セットするクラス
例)
<input name="employee_id" class="employee_id" readonly>
注)
代理申請の場合、代理で申請された側のユーザー情報がセットされます
 
                                          
クラス viewer_name
→ 申請書作成者のユーザー情報の「family_name + given_name」を自動セットするクラス
  ※代理申請の場合は、代理で申請された人の名前が入ります。(秘書が社長の代理で出張申請を上げた場合、社長の名前が入ります)
例)
<input name="author_name" class="viewer_name" readonly>

 
クラス viewer_name2
→ 申請書作成者のユーザー情報の「given_name + family_name」を自動セットするクラス
  ※代理申請の場合は、代理で申請された人の名前が入ります。(秘書が社長の代理で出張申請を上げた場合、社長の名前が入ります)
例)
<input name="author_name" class="viewer_name2" readonly>

 
クラス ghost_writer_name
→ 申請書作成者ユーザー情報の「family_name + given_name」を自動セットします
  ※ 代理申請の場合は、代理で申請した人(ログイン中ユーザー名)の名前をセットします。(秘書が役員の代理で出張申請を上げた場合、秘書の名前が入ります)
例)
<input name="shinsei_sha" class="ghost_writer_name" readonly>

 
クラス set_val_if_ghost_writer
→ 代理申請の場合はghost_writer_valを、本人申請の場合はauthor_valを自動セットします。
例)
<input name="shinsei_kubun" readonly size="6" class="set_val_if_ghost_writerghost_writer_val="代理申請" author_val="本人">

 
クラス user_attribute_1 ~ user_attribute_5
→ 申請者のユーザー情報の「追加属性1」の値を自動でセット
  option="first_value" … 値をスペースで区切って最初の値をセット
  set_full_value_to="input_name:attribute_name" … スペースで区切らない元の値を他のフィールドのattributeにセット
例)
<input name="shozoku_bango" class="user_attribute_1option="first_value" set_full_value_to="busho_select_button:limit_selection">
---> 追加属性1の値(スペースで区切られている)の最初の値をセットし、全体の値を「busho_select_button」のattribute「limit_selection」に設定する
※ 代理申請の場合、代理で申請された側のユーザー情報がセットされます
※クラス user_attribute_2~5も同様に「追加属性2」...「追加属性5」の値をセットします。

 
クラス master_list(selectに対してのみ)
→ 登録されたマスターを参照してselectに追加します。
  master_code ... 表示するマスターのマスターコード(必須)
例)
<select name="koutuhi_riyou_koutu_kikan_1" class="master_listmaster_code="koutsu_kikan_master">
<option value="">
</select>
注)
このクラスは指定されたマスターデータをselectタグのoptionとして「追加」します。
そのため、上記例のようにselectタグにあらかじめoptionタグを追加しておくことによって、マスターデータに含まれない選択肢をコンボボックスに表示させることができます。

 
クラス sateraito_master_select(input type="button"に対してのみ
→ マスターを選択するボタンを生成します。
  master_code … 表示するマスターのマスターコード(必須)
  assign … マスターの選択ボタンをクリックしたときに値を割り当てるフィールド名を指定
  col_width … マスター選択画面での各カラムの表示幅を指定(デフォルト100px)、0を指定でカラムは非表示になります
  limit_selection … 表示されるマスターをキーで限定します。複数あるキーをスペースで区切ります。
  window_width … マスター選択ウィンドウの幅を指定(デフォルト600px)
  window_height … マスター選択ウィンドウの高さを指定(デフォルト300px)
例)
<input type="button" class="sateraito_master_select"
   master_code="kamoku_master"   assign="data_key:meisai_kamoku_code_1;attribute_1:meisai_kamoku_name_1"   col_width="attribute_1:200"  window_width="400" window_height="200" value="選択">
 
※データの並び順は「data_key」昇順で固定となっており変更できません。
※互換性のため「workflow_master_select」クラス名もご利用いただけます。

 
クラス master_reference
→ 他のフィールドに入力されたキー値から、マスターを取得し、値をセットする
  master_code … 参照するマスターのマスターコード(必須)
  data_key_field … 参照するキー値がセットされるフィールド名(必須)
  master_attribute … マスターのどの値をセットするのかの指定(必須)
例)
<input name="shiiresaki_name" size="50" class="master_referencemaster_code="shiiresaki_master" data_key_field="shiiresaki_no" master_attribute="attribute_1" readonly>

 
クラス clear_button(input type="button"に対してのみ)
→ 指定したフィールドをクリアするボタンを生成します。
例)
<input type="button" class="clear_buttonfields="meisai_kamoku_code_1 meisai_kamoku_name_1" value="C">

 
IMGクラス add_to_google_calendar(imgタグに対してのみ)
→ 予定をGoogleカレンダーに登録するボタンを配置
  ※Googleカレンダーの予定作成画面を情報をセットした状態で開きます
  data_fields… Googleカレンダーの予定作成画面を開く際に、セットしたい「件名」、「場所」、「予定の日時」、「説明」の値を取得する項目(inputタグ)の名前(name属性)を指定
  ~data_fieldsのキー~
   ・title…件名のinput名
   ・location…場所のinput名
   ・details…説明のinput名
   ・from…予定FROMのinput名
   ・to…予定TOのinput名 (日付フィールド. yyyy-MM-dd or yyyy-MM-dd hh:mm:ss 形式)
   ※以下の例のようにセット.指定なしの項目は空状態で予定作成画面が開きます
例)
<img class="add_to_google_calendar
   data_fields="title:doc_title;location:location;details:exp;from:event_from;to:event_to" 
 alt="Googleカレンダーに予定を追加" />
 


IMGクラス add_to_office365_calendar(imgタグに対してのみ)
→ 予定をOffice 365(OWA)のカレンダーに登録するボタンを配置
  ※カレンダーの予定作成画面を情報をセットした状態で開きます。
ネクストセット・組織カレンダーのご利用が前提になります。
  data_fields… Office 365 カレンダーの予定作成画面を開く際に、セットしたい「件名」、「場所」、「予定の日時」、「説明」、「参加者」、「ラベル」の値を取得する項目(inputタグ)の名前(name属性)を指定
  ~data_fieldsのキー~
   ・title…件名のinput名
   ・location…場所のinput名
   ・details…説明のinput名
   ・from…予定FROMのinput名
   ・to…予定TOのinput名 (日付フィールド. yyyy-MM-dd or yyyy-MM-dd hh:mm:ss 形式)
   ・label…ラベル(例:<会議>)
   ・participants…参加者(プライマリメールアドレスをカンマ区切りで指定)
   ※以下の例のようにセット.指定なしの項目は空状態で予定作成画面が開きます
例)
<img class="add_to_office365_calendar
   data_fields="title:doc_title;location:location;details:exp;from:event_from;to:event_to;participants:participants;label:lebel;" 
 alt="Office 365 カレンダーに予定を追加" />
 



クラス sateraito_address_popup(input type="button"に対してのみ
→ 組織アドレス帳ポップアップから選択入力するを生成します。
  set_to_field … 組織アドレス帳ポップアップから選択した値をセットする、input項目の名前(name)(必須)
例)
<input type="text" name="meeting_attendee">
<input type="button" class="sateraito_address_popup" value="組織アドレス帳から追加" set_to_field="meeting_attendee">
注意) この機能は、「ネクストセット・組織アドレス帳」がインストールされていないと利用できません。
    この機能は、スマートフォン版ワークフローでは利用できません。
 

 
クラス do_not_save
→ 指定したフィールドの内容を申請書に保存しないように指定します。
  途中計算用hiddenフィールドをCSV出力させたくない場合などに利用できます。
例)
<input type="hidden" name="kingaku_1" class="multi do_not_save" fields="tanka_1 suryo_1">

 
クラス multi
→ 指定したフィールドの掛け算の結果を自動計算します。結果に小数点以下が含まれる場合は、切り捨て処理します。
  fields ... 掛け合わせるフィールドのnameをスペースで区切って指定します。(必須)
  number ... 掛け合わせる数を指定します(固定値用)
  decimal_place ... 小数点以下の有効桁数(デフォルト=0…整数)(任意)
  round_type ... 丸めタイプ. 四捨五入、切り上げ、切り捨ての指定(任意)
   ・round … 四捨五入
   ・round_up … 切り上げ
   ・round_down … 切り捨て(デフォルト)

例)
<input type="hidden" name="kingaku_1" class="multi do_not_save" fields="tanka_1 suryo_1">
例2)
<input type="text" name="zeikomi_goukei_kingaku" class="multifields="goukei_kingaku" number="1.05"  decimal_place="2" round_type="round_down" readonly>

 
クラス divide
→ 指定したフィールドの割り算の結果を自動計算します。結果に小数点以下が含まれる場合は、切り捨て処理します。
  fields ... 対象フィールドのnameをスペースで区切って指定します。(必須)
  number ... 割る数を指定します(固定値用)。
  decimal_place ... 小数点以下の有効桁数(デフォルト=0…整数)(任意)
  round_type ... 丸めタイプ. 四捨五入、切り上げ、切り捨ての指定(任意)
   ・round … 四捨五入
   ・round_up … 切り上げ
   ・round_down … 切り捨て(デフォルト)
※割る数がゼロ「0」の場合の結果は保証されません。

 
例)
<input type="hidden" name="tanka_1" class="divide" fields="kingaku_1 suryo_1">
例2)
<input type="text" name="goukei_kingaku" class="dividefields="zeikomi_goukei_kingaku" number="1.05"  decimal_place="2" round_type="round_up" readonly>

 
クラス sum
→ 指定したフィールドの合計を自動計算します。
  fields ... 足し合わせるフィールドのnameをスペースで区切って指定します。
  decimal_place ... 小数点以下の有効桁数(デフォルト=0…整数)(任意)
  round_type ... 丸めタイプ. 四捨五入、切り上げ、切り捨ての指定(任意)
   ・round … 四捨五入
   ・round_up … 切り上げ
   ・round_down … 切り捨て(デフォルト)

例)
<input type="text" name="goukei_kingaku" class="sumfields="kingaku_1 kingaku_2  kingaku_3 kingaku_4 kingaku_5 kingaku_6 kingaku_7 kingaku_8 kingaku_9 kingaku_10 kingaku_11 kingaku_12 kingaku_13 kingaku_14 kingaku_15 kingaku_16 kingaku_17 kingaku_18 kingaku_19 kingaku_20"  decimal_place="2" round_type="round_down" readonly>

 
クラス diff
→ 指定したフィールドの引き算の結果を自動計算します。
  fields ... 引かれる数のフィールドと引く数のフィールドの名前をスペースで区切って指定します。(必須)
  decimal_place ... 小数点以下の有効桁数(デフォルト=0…整数)(任意)
  round_type ... 丸めタイプ. 四捨五入、切り上げ、切り捨ての指定(任意)
   ・round … 四捨五入
   ・round_up … 切り上げ
   ・round_down … 切り捨て(デフォルト)
例)
<input type="text" name="hikizan_kekka" class="difffields="hikareru_kazu hiku_kazu"  decimal_place="2" round_type="round_down">

 
クラス must_in_cover_date
→ 入力値が申請書カバー日付内に入っていない場合、エラー出力します。
  何も入力されていない場合はエラーになりません。
例)
<input type="text" name="kotsuhi_date_1" class="date must_in_cover_date">

 
クラス apply_no
→ 申請がおこなわれた時に番号を発番し、フィールドにセットします。キーが同じ場合、発番される番号は全申請書内で一意となります。
  num_digits ... 発番数字部の桁数
  start_from ... 発番数字部の初期値(指定がない場合0になります)
  key_fields ... 発番のキーになる文字列が入ったフィールド名をスペースで区切って指定します
  prefix_fields ... 番号の先頭につける文字列が入ったフィールド名をスペースで区切って指定します
 ※属性指定がない場合は、key_fieldsにて代用されます。プレフィックス文字列をつけたくない場合は、prefix_fields="" のように値を空にしてご指定ください。
  suffix_fields ... 番号の末尾につける文字列が入ったフィールド名をスペースで区切って指定します

例)
<input type="text" name="shinsei_no" class="apply_nonum_digits="3" start_from="101" key_fields="approver_denpyo_hatsuban_group_code author_kaisha_code" prefix_fields="" suffix_fields="term_no" readonly>

 
クラス final_approve_no
→ 最終承認(決裁)がおこなわれた時に番号を発番し、フィールドにセットします。
  num_digits ... 発番数字部の桁数
  start_from ... 発番数字部の初期値(指定がない場合0になります)
  key_fields ... 発番のキーになる文字列が入ったフィールド名をスペースで区切って指定します
  prefix_fields ... 番号の先頭につける文字列が入ったフィールド名をスペースで区切って指定します
 ※属性指定がない場合は、key_fieldsにて代用されます。プレフィックス文字列をつけたくない場合は、prefix_fields="" のように値を空にしてご指定ください。
  suffix_fields ... 番号の末尾につける文字列が入ったフィールド名をスペースで区切って指定します
  issue_with_reject … 決裁者が否決した場合でも決裁番号を付与する(オプション) ※明示的に「final_approve」が指定されている承認ルート(process)でのみ有効です

例)
<input type="text" name="seisan_denpyo_bango" class="final_approve_nonum_digits="5" start_from="10001" key_fields="approver_denpyo_hatsuban_group_code author_kaisha_code" prefix_fields="" suffix_fields="term_no" issue_with_reject readonly>

 
クラス serial_no
→ 申請番号や決裁番号以外の番号を発番できる機能です。申請時あるいは決裁時に発番してセットします(ひな形内の複数の項目に設定可能です)。
  num_digits ... 発番数字部の桁数
  start_from ... 発番数字部の初期値(指定がない場合0になります)
  key_fields ... 発番のキーになる文字列が入ったフィールド名をスペースで区切って指定します
  prefix_fields ... 番号の先頭につける文字列が入ったフィールド名をスペースで区切って指定します
  suffix_fields ... 番号の末尾につける文字列が入ったフィールド名をスペースで区切って指定します
  approve_type … 発番するタイミングを指定します。
    ・submit…申請時(デフォルト)
    ・final_approve…決裁時

例)
<input type="text" name="bushin_no" class="serial_no nocopynum_digits="5" start_from="10001" key_fields="key1 key2" prefix_fields="prefix1" suffix_fields="term_no" approve_type="final_approve" readonly>

 
クラス hide_if_not_final_approved
→ 最終承認(決裁)の後にだけ表示される領域を指定します。
例)
<div class="hide_if_not_final_approved hide_if_not_author">
</div>

 
クラス hide_if_not_author
→ 申請者本人にだけ表示される領域を指定します。
例)
<div class="hide_if_not_final_approved hide_if_not_author">
</div>

 
クラス hide_if_not_author_or_ghost_writer
→ 申請者本人あるいは代理申請者にだけ表示される領域を指定します。
例)
<div class="hide_if_not_final_approved hide_if_not_author_or_ghost_writer">
</div>

 
クラス hide_if_not_final_approver
→ 決裁者にだけ表示される領域を指定します。
例)
<div class="hide_if_not_final_approved hide_if_not_final_approver">
</div>

 
DIVクラス q_and_a
→ ディスカッション機能(質問・回答コーナー)を作成します。
  word_for_question … 「質問」のかわりに使用する言葉を指定(未設定の場合、「質問」)
  enable_only_process_number .. 質問ができる承認プロセス番号を指定(未設定の場合、全プロセスで質問が可能)、複数ある場合は、スペースで区切る
  max_post_question .. 最大質問可能回数を指定(未指定の場合、質問回数制限なし)
  mandatory_for_approve .. この質問・回答コーナーに未回答の質問がある場合は承認させない
  mandatory_for_self_approve  .. この質問・回答コーナーに未回答の質問がある場合は承認させない(他の承認者の質問は対象外)
  mandatory_for_reject .. この質問・回答コーナーに未回答の質問がある場合は否決させない
  mandatory_for_self_ reject   .. この質問・回答コーナーに未回答の質問がある場合は否決させない(他の承認者の質問は対象外)
  mandatory_for_look .. この質問・回答コーナーに未回答の質問がある場合は回覧させない
  mandatory_for_self_look  .. この質問・回答コーナーに未回答の質問がある場合は回覧させない(他の承認者の質問は対象外)
  is_stop_auto_approve_without_answer   ..未回答の質問がある場合は自動承認をしない(オプション.自動承認機能を利用する場合のみ有効)
  expand_rate_approve_expire_date  ..承認期限日の延期倍率:質問~回答にかかった日数の指定倍分、承認期限日を延期する (オプション.自動承認機能を利用する場合のみ有効)
  is_enable_with_final_approved_or_rejected   ..決裁、否決済の状態でも質問、回答を可能とするオプション(設定後に申請された文書から適用されます
 
例)
<div class="q_and_a mandatory_for_approve" name="shonin_joken" word_for_question="承認条件" enable_only_process_number="4" max_post_question="1"></div>

 
自動承認関連の設定例)
<div class="q_and_a mandatory_for_approve" name="shonin_joken" word_for_question="承認条件" enable_only_process_number="4" max_post_question="1" is_stop_auto_approve_without_answer expand_rate_approve_expire_date="2"  ></div>

 
注) 
質問・回答コーナーでのやり取りは、申請書の内容とは違う領域に保存され、CSVエクスポートでは出力されません。
注2) 
承認者と申請者が同じユーザーの場合には入力欄とボタンが表示されなくなりますので、動作確認の際はご注意下さい。
注3) 
標準では決裁、否決された文書に関しては、質問、回答を行うことができません。必要に応じて「is_enable_with_final_approved_or_rejected」オプションをご利用ください。

 
DIVクラス approver_comment_list
→ 承認者コメント欄コーナーを作成します。
  process_number … どの承認プロセスのコメント欄かを指定(必須)
例)
<div class="approver_comment_listprocess_number="1"></div>
注) 
承認者コメント欄コーナーでのやり取りは、申請書の内容とは違う領域に保存され、CSVエクスポートでは出力されません。

 
クラス show_only_creating_doc
→ 申請書の新規作成時だけ表示するように設定します
例)
<span class="show_only_creating_doc" style="font-weight:bold;color:blue;">※経費が発生する場合は、必ず選択してください</span>

 
クラス show_by_process_number
→ 特定の承認プロセスに指定された人が申請書を開いた場合にのみ表示するよう設定します。
  process_number … どの承認プロセスかを指定(複数ある場合はスペースで区切ります)(必須)
注)
このクラスは、「特定の承認プロセス番号の場合に、表示処理をおこなう」作用はありますが、「それ以外の承認プロセス番号の場合には非表示処理をおこなう」作用はありません。
そのため、下の例のように「style="display:none;"」を付けて通常は非表示になるようhtml側で指定する必要があります。
例)
<div class="show_by_process_numberprocess_number="2 4" style="display:none;">
...
</div>

 
クラス show_by_current_process_number
→ 指定プロセスの承認、回覧者として申請書を開いている場合、のみ表示するよう設定します。
 ※「show_by_process_number」との違いは、「show_by_process_number」が指定プロセスの承認候補者に自分が存在しさえすれば対象となるのに対し、「show_by_current_process_number」は、実際に今指定プロセスの承認者、回覧者として申請書を開いているかどうかまで考慮する点、です。
  process_number … どの承認プロセスかを指定(複数ある場合はスペースで区切ります)(必須)
注)
このクラスは、「show_by_process_number」と同様、「それ以外の承認プロセスの場合には非表示処理をおこなう」作用はありません。
そのため、下の例のように「style="display:none;"」を付けて通常は非表示になるようhtml側で指定する必要があります。
例)
<div class="show_by_current_process_numberprocess_number="2 4" style="display:none;">
...
</div>


DIVクラス section_area
→ クリックによる開閉によって表示/非表示がおこなわれるセクション領域を作成します。
  ・section_title ... セクションの題名を指定します。
  ・default_closed .. 初期状態で閉じている状態にする場合、この属性を指定します。
例)
<div class="section_area" section_title="詳細オプションセクションdefault_closed>

 
<input name="target_date" class="date"><br>
<textarea name="option_description" style="width:100%; "></textarea>

 
</div>​


 
 ​
クラス alert_mail
→ 申請者が入力した日付にアラート(警告)メールを送信します。アラートメールはデフォルトで申請者と全承認者に送信されます。
  ・alert_message ... アラートメールに記されるメッセージを指定します。
  ・alert_send_before_days(オプション) ... 申請者が入力した日付よりも前の日付にメッセージを送信したい場合、その日数を指定します。例)「10」を指定した場合、入力日付の10日前にアラートメールが送信されます。
  ・alert_send_user(オプション) ... この属性の値が、「all_approvers」の場合は申請者+全承認者に、「author」の場合には申請者にのみ、アラートメールが送信されます。
    この属性が指定されていない場合は、申請者+全承認者にアラートメールが送信されます。(デフォルト動作はall_approvers指定時と同じ)
  ・alert_date_name(オプション) ... 送信されたアラートメールの内容に表示するための属性で、このアラートメールがどの日付がもとになってキックされたかをメール文中に記すためのものになります。
例)
この日付に承認者全員にアラートメールが送信されます:<input name="test1_date" class="date alert_mail" alert_message="本日は◯◯日です。処理を進めて下さい。"><br>
<br>
この日付の10日前に承認者全員にアラートメールが送信されます:<input name="test2_date" class="date alert_mail" alert_message="本日は△△日付の10日前になります。◯◯の準備を開始して下さい。" alert_send_before_days="10">


クラス nocopy
 「コピーして再作成」の際にフィールド値を引き継がないようにできます
 ※「nocopy」指定項目以外にも「apply_no」、「finial_approve_no」、「doc_no」など、一部の項目は引き継がれません。
 
例)
<input name="target_date" class="date nocopy" disabled>

クラス nocopy_with_draft
→  「下書きから開く」際に値を引き継がないようにできます
 
例)
<input name="shinsei_date" class="date nocopy nocopy_with_draft" disabled>


<<その他の属性>>
 
disp  ~ 項目名称指定
→ 項目の名称を指定します(任意)。
  指定すると、承認者による申請書変更時に申請者に自動送信されるメール文章などで標準の項目IDなどの代わりに指定名称が使用されます。
  クラスに関係なく、すべてのinputタグで利用できます。
例)
<input type="text" name="doc_title" style="width:100%" disp="件名" >

 
mandatory_msg  ~ 必須チェックのメッセージ指定 
→ 必須チェック用クラス「mandatory」によるメッセージをカスタマイズできます(任意)。
※省略した場合は標準のメッセージが使用されます。
例)
<input name="karibarai_kingaku" class="mandatorymandatory_msg="仮払い金額は必須です。">


no_autosize  ~ テキストエリアの自動サイズ調整機能を無効に
→ テキストエリア「textarea」項目では標準の動作として、入力内容に合わせて高さが自動調整されますが、
「no_autosize」属性を指定することで、この自動調整機能を無効にすることができます。

例)
<textarea name="memo" cols="70" rows="5" no_autosize ></textarea>



機能一覧:承認ルート用特殊クラス・タグ

 組織ワークフローでは、GUI操作で簡単に承認ルートを設計、編集できる「承認ルートビルダー」をご用意しており、
シンプルなルートも複雑なルートも非常に簡単かつ柔軟に設定できるようになっております。
 → 承認ルートビルダーのイメージは 承認ルートビルダーの説明動画(5分) をご参照くださいマニュアルはこちら

ここでは、従来通り、承認ルートビルダーを使わずに承認ルートHTMLを直接記載する場合に使用できるタグについてご案内します。
※承認ルートビルダーを使う場合は、このセクションは不要です。

■承認ルートHTMLの記述方法


 承認ルートは、必ずname="
process"のinputとして定義します。
number="1"のように承認順を設定し、approver="boss_email_1"のように承認者を定義します。 例) 承認プロセスが3段階ある例
<input type="text" name="process" number="1" approver="boss_email_1">
<input type="text" name="process" number="2" approver="boss_email_2" final_approve>
<input type="text" name="process" number="3" approver="" approve_type="look" need_all_approve_to_go_next>
<input type="button" class="user_select_button" process_number="3" value="ユーザー追加">
<input type="button" class="clear_approver_button" process_number="3" value="クリア">

 この例では、第一承認は『申請者の「承認者1」にセットされた人』が自動セットされ、第二承認は『申請者の「承認者2」にセットされた人』が自動セットされます。また第二承認が最終承認となり、第二承認が通ると申請書は「決裁」状態になります。
また、第三段階は「承認」ではなく「閲覧」タブに表示され、閲覧者は申請者が「ユーザー追加」ボタンより自分で選んで指定します。

■プロセスタグの属性

属性 approver(必須)
  → 承認者を定義する
    1.boss_email_1 から 20 … ユーザー情報で「承認者1」などに設定された人をセット
      →複数人(OR条件で)セットしたい場合は、パイプ「|」で列記する
      <input type="text" name="process" number="1" approver="boss_email_1|boss_email_2">
      「%」でつなげる…左から順に該当承認者がいなければ順にチェックし該当承認者が出てきたらそれ以降はセットしない
      <input type="text" name="process" number="1" approver="boss_email_1%boss_email_2">

 
boss_email_1…課長
boss_email_2…部長

 
とすると、課長がいれば課長、課長がいなければ部長がセットされる
※パイプなどと組み合わせて使用することもできます!

 
    2.所属部署と肩書きで指定する(AND条件)
<input type="text" name="process" number="3" approver="department_1:総務部;job_title:部長" >
 ※department_2、department_3、department_4、department_5も使用できます
    3.所属部署と肩書きで指定する(AND条件)
<input type="text" name="process" number="4" approver="department_1:総務部;job_title_not:部長">
    4.メールアドレスで直接指定する
<input type="text" name="process" number="2" approver="email:demo7@fminor.net">
    5.申請者のユーザー情報を条件に使用する 
  例:部署1~5が申請者の部署1〜5と一致
  ※「__submitter_」の後ろにはユーザー情報の項目が利用できます   
<input type="text" name="process" number="4" approver="department_1:
__submitter_department_1;department_2:
__submitter_department_2;department_3:
__submitter_department_3;department_4:
__submitter_department_4;department_5:
__submitter_department_5;">

     6.関連元文書の指定ステップ番号の承認者(実承認者)をセット 
  例:関連元文書の承認プロセス(process_number)=1の承認者をセット
<input type="text" name="process" number="2" approver="
relative_doc_approvers:1">
     7.関連元文書の指定ステップ番号の承認候補者をセット 
  例:関連元文書の承認プロセス(process_number)=1の承認候補者をセット(実際に承認してなくても候補者なら対象)
<input type="text" name="process" number="2" approver="
relative_doc_approver_candidates:1">
     8.関連元文書の申請者をセット 
<input type="text" name="process" number="2" approver=" relative_doc_author">
     9.申請者自身をセット
<input type="text" name="process" number="2" approver=" doc_author">
     10承認グループIDを指定してセット
<input type="text" name="process" number="2" approver=" group:G001">

 
属性 number(必須)
  → 承認する順番を指定する
例)
課長決裁:<input name="process" number="1" approver="boss_email_1"><br />
部長決裁(スキップOK):<input name="process" number="2" approver="boss_email_2" skip_ok><br />
局長決裁:<input name="process" number="3" approver="boss_email_3" final_approve><br />

 
属性 final_approve
  → この承認者が承認すると、申請書が「決裁」状態になる
    (なくても、全てのプロセスが承認されると、申請書が「決裁」状態になる)
例)
<input type="text" name="process" number="3" approver="boss_email_3" final_approve>
 
 
属性 need_all_approve_to_go_next
  → このプロセスで定義された承認者が全員承認しないと、次のプロセスには移らない
例)
総務部回覧:<input type="text" name="process" number="4" approver="department_1:総務部;job_title_not:部長" need_all_approve_to_go_nextapprove_type="look">

 
属性 approve_type="look"
  → このプロセスは「承認」ではなく「回覧」になる
例)
総務部回覧:<input type="text" name="process" number="4" approver="department_1:総務部;job_title_not:部長" need_all_approve_to_go_nextapprove_type="look">

 
属性 ok_to_update
  → この承認者が変更できるinputフィールドの名前(name)を列記する
      (複数ある場合、スペースで区切って列挙する)
例)
    <input name="process" number="2" approver="boss_email_2" ok_to_update="hokenryo_kakekin">

 
属性 ok_to_update_class
  → この承認者が変更できるinputフィールドをクラス(class)で一括指定
例)
    <input name="product_name" class="edit_targets" >
    <input name="sale_amount" class="number edit_targets" >
    <input name="sale_price" class="number edit_targets" >

 
    <input name="process" number="2" approver="boss_email_2" ok_to_update_class="edit_targets">

 
属性 no_agency
  → 代理承認ができないプロセスとして指定する
例)
<input name="process" number="2" approver="boss_email_2" no_agency>

 
属性 no_reject
  → 否決ができないプロセスとして指定する
例)
<input name="process" number="2" approver="boss_email_2" no_reject>

 
属性 no_remand
  → 差し戻しができないプロセスとして指定する
例)
<input name="process" number="2" approver="boss_email_2" no_remand>
※このステップの承認者あるいは回覧者は、差し戻し処理が実行できない
(このステップに対しての差戻しを制御するオプションではない)

 
属性 ok_to_remove
→ 新規申請作成時に、この承認プロセスの承認者を削除できる
例)
課長決裁:<input type="text" name="process" number="1" approver="boss_email_1" ok_to_remove>
<input type="button" class="user_select_button" process_number="1" value="ユーザー追加">

属性 ok_to_remove_process_number
  → 指定されたプロセスの承認者が、このプロセスの承認者を削除することを許可する
      (複数ある場合、スペースで区切って列挙する)
例)
<input type="text" name="process" number="3" approver="boss_email_3|boss_email_4" need_all_approve_to_go_nextok_to_remove_process_number="2">
  ( 第2プロセスの承認者が、第3プロセスの承認者を削除できる)
 

属性 ok_to_open_notification
→ この承認プロセスに対して、申請者による開封通知機能を有効にする
 …開封通知をONにすることで、指定承認者が申請文書を閲覧した際に通知を受けることができる
例)
課長決裁:<input type="text" name="process" number="1" approver="boss_email_1" ok_to_open_notification>
 
属性 ok_to_open_notification_process_number
  → 指定されたプロセスの承認者が、このプロセスの承認者に対して、開封通知を設定できる
      (複数ある場合、スペースで区切って列挙する)
 …開封通知をONにすることで、指定承認者が申請文書を閲覧した際に通知を受けることができる
例)
<input type="text" name="process" number="3" approver="boss_email_3|boss_email_4" need_all_approve_to_go_next ok_to_open_notification_process_number="1 2">
  ( 第1,第2プロセスの承認者が、第3プロセスの承認者の開封通知を受ける設定が可能に)


属性 do_not_send_email
  → 指定したプロセスに対してメール通知が行われないよう指定する
例)
部長決裁(メールは送られない):<input type="text" name="process" number="2" approver="boss_email_2" do_not_send_email>

 
属性 skip_ok
  → 指定したプロセスはスキップOKに設定する
例)
課長決裁:<input type="text" name="process" number="1" approver="boss_email_1"><br />
部長決裁(スキップOK):<input type="text" name="process" number="2" approver="boss_email_2" skip_ok><br />
局長決裁:<input type="text" name="process" number="3" approver="boss_email_3" final_approve><br />


属性 do_not_send_email_with_skipping
  → 一つ前のプロセスがスキップOK(skip_ok)プロセスで、承認(回覧)待ち状態の場合、指定したプロセスに対して承認(回覧)依頼メールが送信されない設定
  ※
承認(回覧)依頼メールは、一つ前のプロセスが処理されたタイミングで送信されます。
例)
上長承認:<input type="text" name="process" number="1" approver="boss_email_1" >
課長承認:<input type="text" name="process" number="2" approver="boss_email_2" skip_ok >
部長決裁:<input type="text" name="process" number="3" approver="boss_email_3" do_not_send_email_with_skipping >

 
属性 is_auto_approve / approve_limit_days
  → 自動承認機能を実現!
   申請あるいは前承認から指定日数経過しても承認あるいは否決されない
   場合に自動で承認を行い次のフローに進めることができる

 
例) …部長承認は、5日間承認がなければ、自動で次のフローに進む
部長承認:<input type="text" name="process" number="2" approver="boss_email_2" is_auto_approve approve_limit_days="5" ><br />

 
※自動承認は日本時間02:00頃に実施されます(変更される場合もございます)。
※オプションとして「回答のないディスカッションがある場合は自動承認をOFFにする」機能もあります。詳しくは「q_and_a」のリファレンスをご参照ください。


属性 is_remind_approve / first_remind_approve_days / remind_approve_interval_days / max_remind_approve_count
  → 承認催促通知メールを送信します!
   申請あるいは前承認から指定日数経過しても承認あるいは否決されない
   場合に承認、回覧を催促するメールを送信する
  is_remind_approve … このプロセスで承認催促メールを有効にします
  first_remind_approve_days … 初回の催促メールまでの日数。指定なしの場合は翌日送信されます。(オプション)
  remind_approve_interval_days … 2回目以降の催促間隔日数。毎日送信したい場合は「1」を指定してください。(オプション)
  max_remind_approve_count … 最大送信回数。指定なしの場合は初回のみ送信されます。※システム側で設定されている最大送信回数が優先されます(オプション)

例) …承認がなければ、翌日一回のみ催促メールを送信。
上長承認:<input type="text" name="process" number="1" approver="" is_remind_approve ><br />

例) …5日間承認がなければ、催促メールを送信。その後、1日ごとに、最大10回送信。
上長承認:<input type="text" name="process" number="1" approver="" is_remind_approve first_remind_approve_days="5"  remind_approve_interval_days="1" max_remind_approve_count="5" ><br />

※承認催促メール送信は日本時間03:00に実施されます(変更される場合もございます)。
※「do_not_send_email」が指定されているプロセスでも送信されます。


承認候補者追加用ボタンを配置するクラス

クラス user_select_button
→ ユーザーを検索して承認者を追加できるボタン
  process_number … 承認者を追加する承認プロセスNo
  ok_to_show_process_number ... この番号を指定すると、申請時ではなくこの承認プロセスの人が承認するときにユーザーを追加することができます
(複数ある場合、スペースで区切って列挙する)
 
  additional_filter… 対象のユーザー一覧をさらにフィルタリングする追加条件(オプション)
 ※フィルタキーとして使えるユーザー項目:email(user_email) / family_name / given_name / department_1 / department_2 / department_3 / department_4 / department_5 / job_title / employee_id / user_attribute_1 / user_attribute_2 / user_attribute_3 / user_attribute_4 / user_attribute_5 
※「:」の右側は通常「部長」のような固定文字列を指定しますが、以下の例ように「__submitter_」を項目名の前につけることで申請者の情報を使ってフィルタできます。
   (複数ある場合、「;」で区切って列挙する。指定がある場合は、全ての条件に当てはまるユーザーのみ対象となる)​

例1) 申請者が第4承認者を指定する場合
部長決裁:<input type="text" name="process" number="4" approver="boss_email_6" ok_to_remove><input type="button" class="user_select_buttonprocess_number="4" value="追加" >
例2) 第2、第3承認者が第4承認者を指定する場合
部長決裁:<input type="text" name="process" number="4" approver="boss_email_6" ok_to_remove_process_number="3"><input type="button" class="user_select_buttonprocess_number="4" value="追加" ok_to_show_process_number="2 3"> 
例3) 部署1が申請者の部署1と同じ、かつ役職が「部長」のユーザーのみ対象とする
  <input type="button" class="user_select_button" process_number="3" value="追加" additional_filter="department_1:__submitter_department_1;job_title:部長;" >

 
クラス department_1_select_button
→ 所属部署名1の一覧から承認/回覧者を追加できるボタン
  process_number … 承認者を追加する承認プロセス番号
  ok_to_show_process_number … この承認プロセスの時だけ、ボタンを表示する、という場合に指定
(複数ある場合、スペースで区切って列挙する)
  additional_filter… 対象のユーザー一覧をさらにフィルタリングする追加条件(オプション)
  ※ユーザー項目名:値 
    (複数ある場合、「;」で区切って列挙する。指定がある場合は、全ての条件に当てはまるユーザーのみ対象となる)​
例) 承認プロセス3にユーザーを追加するボタンを表示
  <input type="button" class="department_1_select_buttonprocess_number="3" value="追加">
→ 特定の承認プロセスに来たときでだけ表示する場合
例2) 承認プロセス1、2に来たときだけボタンが表示され、承認プロセス3にユーザーを追加するボタン
  <input type="button" class="department_1_select_buttonprocess_number="3" value="部署名から追加" ok_to_show_process_number="1 2"
例3) 部署2が「営業1課」かつ部署3が「営業1G」のユーザーのみ対象とする
  <input type="button" class="department_1_select_button" process_number="3" value="追加" additional_filter="department_2:営業1課;department_3:営業1G;" >
→ 特定の承認プロセスに来たときでだけ表示する場合

 
クラス clear_approver_button
→ 定義された承認者をクリアできるボタン
  process_number … 承認者をクリアする承認プロセスの番号
  ok_to_show_process_number … この承認プロセスの時だけ、ボタンを表示する、という場合に指定
(複数ある場合、スペースで区切って列挙する)
  例)
  <input type="button" class="clear_approver_buttonprocess_number="3" value="クリア" ok_to_show_process_number="1 2" >



機能一覧:申請書本文で利用できるイベントハンドラ

ネクストセット・組織ワークフローでは、新規申請ページを開く、申請ボタン、承認ボタンを押す、など
様々なアクションやタイミングで、計算、入力チェックなどの処理を記述できるように、イベントハンドラ機能を提供しております。
下記の一覧から適切なイベントハンドラを作成してJavaScriptにて処理を記述することにより、複雑な制御であっても柔軟に実現できます。

 イベントハンドラ内では、「jQuery1.8.2およびExtJS3.4.1」の機能を利用することができます。
詳しくは、 機能一覧:公開 JavaScript API関数 も合わせてご参照ください。

レイアウトビルダーにてこれらの機能をご利用いただく場合は
下図のように
・フィールド名…ハンドラ名
・タグ属性…onclick="~~" を指定 (onclick属性全体を指定)


イベントハンドラ一覧


new_workflow_doc_handler ~ 
新規申請書作成時
 
<input type="hidden" name="new_workflow_doc_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。ハンドラ内ではこのフォームオブジェクトを使って申請書へ入力された内容を取得したり、変更することが可能になります。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 - is_copy:ほかの申請文書の「コピーして再作成」で開かれた場合:true

例) 
<input type="hidden" name="new_workflow_doc_handler" onclick="
  // 新規申請書作成時にのみ実行されるハンドラ
 
  // 申請書を指すフォームオブジェクトを取得
  var form = arguments[0];
  var handleroptions = arguments[2];
 
  // コピー新規なら
  if(handleroptions.is_copy){
        ・
        ・
  }
  // 下書き保存なら
  if(SateraitoWF.getDocStatus(form) == 'draft'){
        ・
        ・
  }

  // API関数 SateraitoWF.getSubmitterUserInfo(フォームオブジェクト)を用いて、申請者のユーザー情報を取得します
  var authorUserInfo = SateraitoWF.getSubmitterUserInfo(form);
 
  // 申請者のユーザー情報より「部署名1」~「部署名5」を取得します
  var busho_name_1 = authorUserInfo.department_1;
  var busho_name_2 = authorUserInfo.department_2;
  var busho_name_3 = authorUserInfo.department_3;
  var busho_name_4 = authorUserInfo.department_4;
  var busho_name_5 = authorUserInfo.department_5;
 
  // 'doc_title'という名前のinputフィールドに、部署名1から3を連結した文字列をセットします
  // SateraitoWF.setFormValue(form, string_value) --> 申請書の項目に値をセットするAPI関数
  SateraitoWF.setFormValue(form, 'doc_title', busho_name_1 + ' ' + busho_name_2 + ' ' + busho_name_3);
">

注意点) 
本項で列記されているイベントハンドラ内では、フォームオブジェクトを取得するために「var form = SateraitoWF.getForm(this)」というコードを利用することができません。
フォームオブジェクトの取得は「var form = arguments[0];」として下さい。

workflow_doc_before_draft_handler ~ 下書き保存実行直前
 
<input type="hidden" name="workflow_doc_before_draft_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
・このイベントハンドラの第二引数として、自動保存かどうかのフラグが渡されます(非推奨)。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 - is_auto_save:自動保存の場合:true
 
例) 
<input type="hidden" name="workflow_doc_before_draft_handler" onclick="

  // 申請書を指すフォームオブジェクトを取得
  var form = arguments[0];
  var handleroptions = arguments[2];
  // 自動保存かどうかのフラグ
  var is_auto_save = handleroptions.is_auto_save;

  // 自動保存なら....
  if(is_auto_save){
     ・
     ・
  // 手動保存なら
  }else{
     ・
     ・
  }
"/>

new_workflow_doc_before_submit_handler ~ 新規申請書作成時、申請実行直前
 
<input type="hidden" name="new_workflow_doc_before_submit_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

 
workflow_doc_before_resubmit_handler ~ 差し戻しされた申請の再申請時直前

<input type="hidden" name="workflow_doc_before_resubmit_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

workflow_doc_before_tempsave_handler ~ 差し戻しされた申請の一時保存実行直前
 
<input type="hidden" name="workflow_doc_before_tempsave_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
 
existing_workflow_doc_load_handler ~ 作成された申請書が開かれた時
 
<input type="hidden" name="existing_workflow_doc_load_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 - is_copy:ほかの申請文書の「コピーして再作成」で開かれた場合:true

例) ユーザー入力値を、2箇所以上の場所に表示します。

 
文書番号:<input type="text" name="doc_no" sequence="monthly"><br>
部門:<input type="text" name="bumon" class="department_1" readonly><br>
<br>
<br>
<br>
ここにも文書番号:<span class="kokonimo_doc_no"></span><br>
ここにも部門:<span class="kokonimo_bumon"></span><br>
 
<input type="hidden" name="existing_workflow_doc_load_handler" onclick="
 
var form = arguments[0];
var doc_no = SateraitoWF.getFormValue(form, 'doc_no');
$(form).find('span.kokonimo_doc_no').text(doc_no);
var bumon = SateraitoWF.getFormValue(form, 'bumon');
$(form).find('span.kokonimo_bumon').text(bumon);
 
">

 
workflow_doc_before_approve_handler ~ 作成された申請書が承認される直前
 
<input type="hidden" name="workflow_doc_before_approve_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

 
workflow_doc_before_reject_handler ~ 作成された申請書が否決される直前
 
<input type="hidden" name="workflow_doc_before_reject_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

 
workflow_doc_before_remand_handler ~ 承認者による差し戻し処理直前
 
<input type="hidden" name="workflow_doc_before_remand_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 - remand_process_number:差し戻し先のプロセスNo(0~) ※「0」の場合は申請者への差し戻しを表す

例) 
<input type="hidden" name="workflow_doc_before_remand_handler" onclick="

  // 申請書を指すフォームオブジェクトを取得
  var form = arguments[0];
  var handleroptions = arguments[2];

  // 第一プロセスへの差し戻しなら
  if(
handleroptions.remand_process_number == 1){
      ・
      ・
  }

"/>

 
workflow_doc_before_withdraw_handler ~ 取り下げ処理直前

<input type="hidden" name="workflow_doc_before_withdraw_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

workflow_doc_before_delete_handler ~ 文書削除処理直前
<input type="hidden" name="workflow_doc_before_delete_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。

例) 
<input type="hidden" name="workflow_doc_before_delete_handler" onclick="

  // 申請書を指すフォームオブジェクトを取得
  var form = arguments[0];
  // 文書ステータス
  var doc_status = SateraitoWF.getDocStatus(form);

  // 下書き文書の削除なら
  if(doc_status == 'draft'){
     ・
     ・
  // 申請済み文書の削除なら
  }else{
     ・
     ・
  }
"/>

workflow_doc_load_handler ~ 新規&作成された申請書が開かれた時
 
<input type="hidden" name="workflow_doc_load_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 - is_copy:ほかの申請文書の「コピーして再作成」で開かれた場合:true

resubmit_workflow_doc_load_handler ~ 差し戻された申請書が再申請のために開かれた時
 
<input type="hidden" name="resubmit_workflow_doc_load_handler" onclick="SateraitoWF.alert('これが実行されます');">
・このイベントハンドラの第一引数として、申請書全体を指すフォームオブジェクトが渡されます。
・このイベントハンドラの第三引数として、追加情報が渡されます。追加情報は辞書型です。
 ※現在のところ追加情報なし。

new_workflow_doc_init_approver_handler ~ 承認ルートの初期セットが完了した時
 
<input type="hidden" name="new_workflow_doc_init_approver_handler" onclick="SateraitoWF.alert('これが実行されます');">
・申請書の新規作成画面で、初期表示時や承認ルート切り替え時に承認者が確定したタイミングでコールされる処理




機能一覧:公開 JavaScript API関数

ネクストセット・組織ワークフローにはオブジェクト「SateraitoWF」から呼び出すことができるJavaScriptのAPI関数が用意されています。
Javascriptを用いることにより複雑なロジックを申請ひな形に組み込むことができます。
※互換性のため、オブジェクト「WF」も同様にご利用いただけます。

■ポイント

・記述箇所、記述方法

 これらの関数は、上述の「
申請書本文で利用できるイベントハンドラ」の中で使用します。

 例えば、特定の要素の入力値を取得したい場合は、SateraitoWF.getFormValueを、
値をセットしたい場合はSateraitoWF.setFormValueを使って下さい。

 ~例~
<input type="hidden" style="width:100%" name="new_workflow_doc_handler" value="" onclick="
  var form = arguments[0];
  // 題名を取得
  var  doc_title = SateraitoWF.getFormValue(form, 'doc_title');
  // 題名に値をセット
 
SateraitoWF.setFormValue(form, 'doc_title', 'セットする題名文字列');
" />
 
 Javascriptに不具合があるとブラウザ上でスクリプトエラーが発生するため、十分にテストをして下さい。
また、ブラウザ間の非互換性についても注意下さい。
ネクストセット・組織ワークフロー内ではjQuery1.8.2およびExtJS3.4.1の機能を利用することができます。
 
2.ID属性について
ネクストセット・組織ワークフローでは内部的な処理構造のためIDによるjQueryセレクタが正しい要素を返しません。
そのため、下のような記述はうまく機能しません。
 
$(form).find('#id_to_select').hide();
 
特定の要素に対して表示変更などをおこないたい場合は、クラスによるセレクタ処理をお使い下さい。
 
$(form).find('.class_to_select').hide();
 
■関数一覧


SateraitoWF.setFormValue(form, name_to_set, value_to_set)
 --> 申請書フォームより、名前を指定して値をセットします。
例)
<input type="text" name="busho_mei">
<input type="button" onclick="

 
  // 申請書を指すフォームを取得
  var form = SateraitoWF.getForm(this);

 
  // 申請書のなかで、name='busho_mei'である項目へ値をセット
  SateraitoWF.setFormValue(form, 'busho_mei', '技術部');
">

 
SateraitoWF.enableFormElement(form, name_of_element)
 --> 申請書フォームの項目の入力状態を有効(enable)に設定します。
※特に「class=date」などの特殊項目はこの関数で制御してください。

 
例)
<input type="text" name="kessai_bi" class="date" >
<input type="button" onclick="

 
  var form = SateraitoWF.getForm(this);

 
  SateraitoWF.enableFormElement(form, 'kessai_bi');
">

 
SateraitoWF.disableFormElement(form, name_of_element)
 --> 申請書フォームの項目の入力状態を無効(disable)に設定します。
※特に「class=date」などの特殊項目はこの関数で制御してください。

 
例)
<input type="text" name="kessai_bi" class="date" >
<input type="button" onclick="

 
  var form = SateraitoWF.getForm(this);

 
  SateraitoWF.disableFormElement(form, 'kessai_bi');
">


SateraitoWF.getViewerUserInfo()
 --> ログインユーザーの「ユーザー情報」登録情報を取得します。
 取得可能項目…
 email(user_email) / family_name / given_name / department_1 / department_2 / department_3 / department_4 / department_5 / job_title / employee_id / user_attribute_1 / user_attribute_2 / user_attribute_3 / user_attribute_4 / user_attribute_5
 ※うまく取得できない場合は一度ユーザー情報を更新してください
例)
<input type="hidden" name="workflow_doc_load_handler" onclick="

 
  var form = arguments[0];

 
  // 今申請書を開いているユーザーの情報を取得して社員番号をセット
  var viewerUserInfo = SateraitoWF.getViewerUserInfo();
  SateraitoWF.setFormValue(form, 'employee_id',  viewerUserInfo.employee_id );

 
">
社員番号:<input type="text" name="employee_id" readonly>

 
SateraitoWF.getSubmitterUserInfo(form)
 --> 申請者の「ユーザー情報」登録情報を取得します。
 取得可能項目…
 email(user_email) / family_name / given_name / department_1 / department_2 / department_3 / department_4 / department_5 / job_title / employee_id / user_attribute_1 / user_attribute_2 / user_attribute_3 / user_attribute_4 / user_attribute_5
 ※うまく取得できない場合は一度ユーザー情報を更新してください
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="

 
  // 新規申請書作成時にのみ実行されるハンドラ
  // ネクストセット・ワークフローで用意されているイベントハンドラでは、getForm(this)が使えませんが、かわりにarguments[0]に申請書フォームが渡されます
  var form = arguments[0];

 
  // 申請者の社員番号を設定します。
  var authorUserInfo = SateraitoWF.getSubmitterUserInfo(form);
  SateraitoWF.setFormValue(form, 'employee_id',  authorUserInfo.employee_id );

 
">
社員番号:<input type="text" name="employee_id" readonly>

 
SateraitoWF.getUser(form, user_key, user_key_column)
 --> 「ユーザ情報」の情報を取得します
 取得可能項目…
 email(user_email) / family_name / given_name / department_1 / department_2 / department_3 / department_4 / department_5 / job_title / employee_id / user_attribute_1 / user_attribute_2 / user_attribute_3 / user_attribute_4 / user_attribute_5
 ※うまく取得できない場合は一度ユーザー情報を更新してください

 
□user_key:ユーザーのメールアドレスあるいは社員番号
□user_key_column:employee_id…user_keyが社員番号の場合に指定(オプション)
 

SateraitoWF.getDocId(form) 
--> 文書の内部文書IDを取得します。 
  戻り値 … 内部文書ID(文字列) 
 
SateraitoWF.getDocStatus(form)
 --> 現在開いている文書の状態を取得します。
取得項目…

 
 ・新規文書…空
 ・下書きから開いた文書…draft
 ・承認待ち文書 … in_process
 ・決裁済文書 … final_approved
 ・否決済文書 … rejected
 ・申請者に差し戻しされた文書 … remanded
 ・取り下げられた文書 … withdrawn

SateraitoWF.createDocLinkHtml( doc_id, link_text ) 
  --> 文書リンクとなるhtml文を返します。これをリッチテキスト内に貼り付けると文書リンクとなります。 
パラメータ: 
  doc_id ... 内部文書ID 
  link_text ... リンクとしてに表示する文字列​

作成した文書リンクhtmlをリッチテキスト項目へ値をセットするには、通常のフィールド同様 { フィールド名1: 値1, フィールド名2: 値2, ..... リッチテキストフィールド名: リッチテキストにセットするhtml文 } のようなオブジェクトを作り、SateraitoWF.showNewDocWindowの第二パラメータにセットする事で実現できます。​
例) 自分自身へのリンクをリッチテキストに埋め込んだ新規文書を作成するボタン

<input type="button" value="新規作成" onclick="

  var form = SateraitoWF.getForm(this);
  // 自分の内部ドキュメントIDを取得
  var docId = SateraitoWF.getDocId(form);
  // 自分のドキュメントへのリンクhtmlを作成 
  var docLinkHtml = SateraitoWF.createDocLinkHtml(docId, 'もとのドキュメント'); 
  // 本文にリンクを埋め込む新規申請画面を開く 
  var defaultValues = {
    honbun: 'クリックでもとの文書が開きます<br />' + docLinkHtml
  };
  SateraitoWF.showNewDocWindow('template-20190923074358wBvAekqw26OIoNMc', defaultValues);
">
<br>
<!-- リッチテキストを入力するコーナー -->
<textarea name="honbun" class="richtext" style="width:100%; height:300px;"></textarea> 


SateraitoWF.isPrintWindow(form)
 --> 印刷ウインドウかどうかを判別します。

 
SateraitoWF.registerWFHandler(form, handler_name, function)
 --> 申請書に特殊なイベントハンドラを追加することができます。
  handler_nameに指定する値によってハンドラの種類を指定します。
  現在のところhandler_nameに指定できるのは「onFormValidate」、「onFormValidateForDraft」、「onFormValidateForTempSave」、onMasterSelected」の4つです。
※この処理は、xxxx_before_handler ハンドラ系ではなく、文書を開いた際のハンドラで実装してください。
 
  onFormValidate ... 「申請する」、「承認する」といったアクションボタンをクリックしたときにコールされるハンドラを指定します。falseを返すことにより、実行をキャンセルします(下書き保存は除く)。
  onFormValidateForDraft ... 「下書き保存する」ボタンをクリックしたときにコールされるハンドラを指定します。falseを返すことにより、実行をキャンセルします。
  onFormValidateForTempSave ... 「一時保存する」ボタンをクリックしたときにコールされるハンドラを指定します。falseを返すことにより、実行をキャンセルします。
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
// 新規申請書作成時にのみ実行されるハンドラ
var form = arguments[0];
// フォーム入力チェックイベントハンドラ 
// action_type…実行されようとしているアクションを示す値がセットされます
// ・submit…新規申請
// ・approve…承認
// ・look…回覧
// ・reject…否決
// ・update…更新
// ・remand…差し戻し
// ・resubmit…再申請
SateraitoWF.registerWFHandler(form, 'onFormValidate', function(action_type){
    
    // 金額を取得
    var moneyAmount = SateraitoWF.getFormValue(form, 'moneyAmount');
    
    if (moneyAmount < 1000) {
        SateraitoWF.alert('金額には1000以上の値を入力してください');
        // 申請をキャンセルします(申請されません)
        return false;
    }
 
    // 申請を実行します
    return true;
});
">

<input type="hidden" name="new_workflow_doc_handler" onclick="
 
// 新規申請書作成時にのみ実行されるハンドラ
var form = arguments[0];
// フォーム入力チェックイベントハンドラ 
// action_type…実行されようとしているアクションを示す値がセットされます
// ・draft…下書き保存
// is_auto_save…下書きの自動保存処理かどうかのフラグ(true or false)
SateraitoWF.registerWFHandler(form, 'onFormValidateForDraft', function(action_type, is_auto_save){

    // 自動保存時以外という分岐
    if(!is_auto_save){
    // 金額を取得
    var moneyAmount = SateraitoWF.getFormValue(form, 'moneyAmount');
    if (moneyAmount < 1000) {
          SateraitoWF.alert('金額には1000以上の値を入力してください');
          // キャンセルします(下書き保存されません)
          return false;
      }
    }
    // 下書き保存します
    return true;
});
">

<input type="hidden" name="resubmit_workflow_doc_load_handler" onclick="
 
// 差し戻された申請書が再申請のために開かれた時に実行されるハンドラ
var form = arguments[0];
// フォーム入力チェックイベントハンドラ 
// action_type…実行されようとしているアクションを示す値がセットされます
// ・tempsave…一時保存
SateraitoWF.registerWFHandler(form, 'onFormValidateForTempSave', function(action_type){

    // 金額を取得
    var moneyAmount = SateraitoWF.getFormValue(form, 'moneyAmount');
    if (moneyAmount < 1000) {
          SateraitoWF.alert('金額には1000以上の値を入力してください');
          // キャンセルします(下書き保存されません)
          return false;
    }
    // 一時保存します
    return true;
});
">
 
  onMasterSelected(aMasterSelectButton, aSelectedMasterRow) ... マスター選択ウィンドウから1行選択した時にコールされます。
  aMasterSelectButton ... マスター選択ウィンドウを開いたボタンオブジェクト
  aSelectedMasterRow ... マスター選択ウィンドウで選択した行の内容が入ったオブジェクト
  
例)
<!-- 日当マスターをプリロード -->
<input type="hidden" name="workflow_template_settingpreload_master_codes_on_new_doc="nitto_master">
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
// 新規申請書作成時にのみ実行されるハンドラ
 
var form = arguments[0];

// マスターウィンドウでの選択時イベントハンドラ
SateraitoWF.registerWFHandler(form, 'onMasterSelected', function(aMasterSelectButton, aSelectedMasterRow){

    // ボタンオブジェクトから、マスターコードとボタン名を取得します
    var masterCode = $(aMasterSelectButton).attr('master_code');
    var buttonName = $(aMasterSelectButton).attr('name');
 
    if (masterCode == 'shuccho_kubun_master') {
        // 出張区分マスターを選択した場合の処理
        //SateraitoWF.alert('出張区分コード:' + aSelectedMasterRow.data_key);
        //SateraitoWF.alert('出張区分名:' + aSelectedMasterRow.attribute_1);
        //SateraitoWF.alert('日当コード:' + aSelectedMasterRow.attribute_2);
        var nittoCode = aSelectedMasterRow.attribute_2;
        // 出張区分にマッチする日当マスターを取得
        var aNittoMaster = SateraitoWF.getMasterData('nitto_master');
        Ext.each(aNittoMaster, function(){
            if (nittoCode == this.data_key) {
                ..........
            }
        });
    }
});
">

 
SateraitoWF.getMasterData(master_code)
 --> 参照用マスターデータの内容を取得します。マスターデータは、配列のかたちで取得されます。
    この関数を用いるには制約があります:ひな形の本文に以下のタグを記入する必要があります。
<input type="hidden" name="workflow_template_settingpreload_master_codes_on_new_doc="<マスターコード>">
    この宣言により、ユーザーが新規申請書を作成するウィンドウを開く前に当該参照要マスターデータがロードされます。
 
例)
参照用マスターデータに「nitto_master」が作成され、attribute_1に役職名が、attribute_2に日当の値が登録されているとします。
 
<input type="hidden" name="workflow_template_settingpreload_master_codes_on_new_doc="nitto_master">
<input type="button" value="日当計算" onclick="
 
var form = SateraitoWF.getForm(this);
var yakusyokuName = SateraitoWF.getFormValue('yakushoku_name');
var results = SateraitoWF.getMasterData('nitto_master');
Ext.each(results, function(){
    if (this.attribute_1 == yakushokuName) {
        SateraitoWF.alert('日当は' + this.attribute_2 + 'です');
    }
});

">
 
SateraitoWF.appendUpdateMasterData(form, master_code, data_key, approve_type, update_data, update_option, is_overwrite)
 --> マスターデータの内容を更新します。
 ※更新はこの関数を呼び出した瞬間ではなく「申請」、「決裁」、「否決」、「下書き保存」のアクションタイミングで実施されます。
 ※指定data_keyのレコードがない場合は新規レコード追加します。
 
□master_code:参照用マスターID
□data_key:マスターの指定レコードのキー
□approve_type:どのタイミングで更新するかの指定
・submit:申請時
・resubmit:再申請時
・final_approve:決裁時
・reject:否決時
・withdraw:取り下げ時
・draft:下書き保存時
・delete:申請済み文書削除時
・delete_draft:下書き文書削除時
・tempsave:一時保存時(差し戻し文書の再申請前の一時保存)
□update_data:更新データ(あるいは更新対象項目名)
□update_option:更新の動作を表すオプション
・sum…既存マスターの値(数値前提)に加算する
・diff…既存マスターの値(数値前提)から減算する
・input_name…値自体を指定するのではなく、対象値の項目名を指定するオプション (承認者が後から値を変更するシチュエーションに対応することを想定.処理ハンドラをかえることでも制御可能)
・is_overwrite …同じマスターの同じレコードに対する設定が何度もappendされてしまうのを防ぐ(特殊オプション)
※「workflow_doc_before_approve_handler」で処理を書く場合、承認プロセス、承認者が複数いると、どんどん設定が追加されてしまい、何重にも加算されることを防ぐ(ひな形側では、承認か決裁かの区別はできないため)
 
例)
※詳しくは、入力内容をもとにマスターの値を更新する も併せてご参照ください。
~ハンドラでの記述例1:マスターの指定フィールドの値を直接上書き ~
 
// 申請時に、マスターレコードの属性1、属性2を更新
var update_data = {
  attribute_2:'更新値1'
  ,attribute_3:'更新値2'
};
SateraitoWF.appendUpdateMasterData(form, row.master_code, row.data_key, 'submit', update_data);
 
~ハンドラでの記述例2:マスターの指定フィールドの値を指定項目の値で加算 ~
 
// 決裁時(final_approve)に、既存のマスターの「'attribute_2'」の値に、「pay」項目(input_name)の値を加算(sum)
var attribute_id = 'attribute_2'; // 項目2を更新
var update_data = {};
update_data[attribute_id] = 'pay'; // 値ではなく項目名指定
var update_option = {};
update_option[attribute_id] = ['sum', 'input_name']; // sum…加算することを示す(数値前提) input_name…値ではなく項目名であることを示す
var target_approve_type = 'final_approve'; // 決裁時に処理する設定ということ
var is_overwrite = true;
SateraitoWF.appendUpdateMasterData(form, row.master_code, row.data_key, target_approve_type, update_data, update_option, is_overwrite);

 
SateraitoWF.requestMasterDataRow(master_code, data_key, callback)
 --> 参照用マスターデータの最新のデータを一件取得します。マスターデータは、辞書形式のかたちで取得されます。
 
※この関数の使用には、「workflow_template_setting」によるマスターデータの事前読込(プリロード)は不要です。
プリロードできないほどの大量のデータが保持されているマスターからのデータ取得などに便利です!

 
※この関数は非同期処理です。マスターデータが取得されたタイミングで、コールバック関数「callback」が呼ばれますので、たとえば、取得後に別の項目にマスターのデータをセットしたい場合は、コールバック関数の中で処理をしてください。

 
~注意点~
非同期処理ですので、「requestMasterDataRow」関数の後続に記述した処理と順番が前後することがございます!

 
 
例)
部署マスター「busho_master」から、入力した部署コード(マスターのdata_key項目に相当)の部署情報を取得
 
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var form = arguments[0];
$(form).find('input[name=busho_code]').change(function(){

  var data_key = SateraitoWF.getFormValue(form, 'busho_code');

  SateraitoWF.requestMasterDataRow('busho_master', data_key, function(aRow){    

    // ※ここがコールバック関数です(ここは非同期でコールされます)

    if(typeof(aRow) != 'undefined' && typeof(aRow.data_key) != 'undefined'){
      SateraitoWF.setFormValue(form, 'busho_code', aRow.attribute_1);
      SateraitoWF.setFormValue(form, 'bumon_code', aRow.attribute_2);
      SateraitoWF.setFormValue(form, 'bumon_name', aRow.attribute_3);
    }else{
      SateraitoWF.setFormValue(form, 'busho_code', '');
      SateraitoWF.setFormValue(form, 'bumon_code', '');
      SateraitoWF.setFormValue(form, 'bumon_name', '');
    }
  });
 
  // ※この部分の処理のほうがコールバック関数より先に実施される可能性がございます。
});
">
 
部署コード:<input type="text" name="busho_code" ><br>
属性1:<input type="text" name="busho_name" readonly ><br>
属性2:<input type="text" name="bumon_code" readonly ><br>
属性3:<input type="text" name="bumon_name" readonly ><br>

 
SateraitoWF.selectRoute(form, aRouteNo)
 --> 承認ルートの選択を切り替えることができます。
  承認ルートが複数ある場合に、特定の条件(例えば金額)によって
 自動で承認ルートの選択を切り替える場合などにご利用頂けます!
本機能は、申請書の新規申請時のみ有効です。
※この関数は非同期処理です。ルート切り替え完了後に行いたい処理がある場合は「new_workflow_doc_init_approver_handler」ハンドラで実施してください。

  aRouteNo ... ひな形で定義された承認ルートの番号(1~5)を指定します。

例)
~新規申請作成時に承認ルート2を選択~
<input type="hidden" name="new_workflow_doc_handler" onclick="

 
var form = arguments[0];
// 承認ルート2を選択
SateraitoWF.selectRoute(form, 2);

 
">

SateraitoWF.getCurrentRoute(form)
 --> 現在選択されている承認ルートの番号を取得できます(1~)
 自動で承認ルートの選択を切り替える場合などに、より詳細な制御に利用できます!
 
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var form = arguments[0];

// これから変更しようとしている承認ルート
var aNewRouteNo = 2;
// 現在選択されている承認ルートの番号を取得
var aRouteNo = SateraitoWF.getCurrentRoute(form);
 
// 変更される場合だけルート設定関数をコール
if(aNewRouteNo != aRouteNo){
  SateraitoWF.selectRoute(form, aNewRouteNo);
}
 
">
 
SateraitoWF.hideRouteSelection(form)
 --> 承認ルートの選択ボックスを非表示にします
  ユーザに選択させたくない場合に有効です!
例)
新規申請時イベントハンドラで承認ルート選択ボックスを非表示にします。
SateraitoWF.selectRouteを使って決裁ルートを自動選択させる場合にこのように記述することにより、ユーザーによる決裁ルートの変更をできないようにすることが可能です。
 
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var myForm = arguments[0];
// 決裁ルート選択コンボボックス隠します
SateraitoWF.hideRouteSelection(myForm);
 
">

 
 
SateraitoWF.showRouteSelection(form)
 --> 非表示にしていた承認ルートの選択ボックスを表示状態に戻します

 
SateraitoWF.getApprovers(form, process_number)
 --> 指定された承認プロセスに現在設定されている承認者の一覧を取得します

 
例)申請前に承認者が指定されているかどうかをチェック
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var form = arguments[0];

SateraitoWF.registerWFHandler(form, 'onFormValidate', function(){
    var secondApprovers = SateraitoWF.getApprovers(form, 2);
    if (secondApprovers.length <= 0) {
        SateraitoWF.alert('第二承認者を指定して下さい');
        return false;
    }
    // 申請を実行
    return true;
});
">
 
SateraitoWF.addApprover(form, process_number, user_key, user_key_column)
 --> 指定された承認プロセスに承認者を追加します
  ※該当のユーザーが存在しない場合は何も処理しません
 
□process_number:承認者(回覧者)を追加する承認プロセス番号(1~)
□user_key:ユーザーのメールアドレスあるいは社員番号
□user_key_column:employee_id…user_keyが社員番号の場合に指定(オプション)

 
例)社員番号を入力し該当ユーザーを承認者として追加
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var form = arguments[0];

// 社員番号変更ハンドラ
$(form).find('input[name=syain_num]').change(function(){

 var target_syain_num = SateraitoWF.getFormValue(form, 'syain_num');
 // 承認者を自動セット(process_number=1)
if(target_syain_num != ''){
var process_number = 1;
SateraitoWF.addApprover(form, process_number, target_syain_num, 'employee_id');
}
});
 
">

 
SateraitoWF.removeApprover(form, process_number, user_key, user_key_column)
 --> 指定された承認プロセスから該当の承認者を削除
  ※該当のユーザーが存在しない場合は何も処理しません
 
□process_number:承認者(回覧者)を削除する承認プロセス番号(1~)
□user_key:ユーザーのメールアドレスあるいは社員番号
□user_key_column:employee_id…user_keyが社員番号の場合に指定(オプション)

 
SateraitoWF.clearApprovers(form, process_number)
 --> 指定された承認プロセスの全承認者(回覧者)を削除
 
□process_number:承認プロセス番号(1~)


SateraitoWF.addApproversByApproverGroup(form, process_number, approver_group_id, callback)
 --> 「承認グループID」から、承認グループに登録されている承認者を指定承認プロセスに追加
  ※該当の承認グループが存在しない場合は何も処理しません
  ※承認ルートの初期化処理や、SateraitoWF.selectRouteによる切り替え処理が実行中の場合はそれを待ってから処理されます。
 
□process_number:承認者(回覧者)を追加する承認プロセス番号(1~)
□approver_group_id:承認グループID
□callback…後続処理が必要な場合にコールバック関数を指定(オプション)

※この関数は非同期処理です。承認者の取得、追加が完了したタイミングで、コールバック関数「callback」が呼ばれますので、後続処理が必要な場合はコールバック関数の中で処理をしてください。
 
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="
 
var form = arguments[0];

// 承認グループ「G001」に登録されている承認者を承認プロセス1に追加
SateraitoWF.addApproversByApproverGroup(form, 1, 'G001', function(aApproverList){

// ※後続処理が必要な場合はここで処理( aApproverList には追加した承認者アドレスの一覧がセットされます。)

});
 
">


SateraitoWF.getApproveProcessInfo(form)
 --> 承認プロセスに関する設定や状態、セットされている承認者などの情報を取得します。
  承認ルートに存在する全プロセスの情報を配列形式で返します。
  ※新規申請、下書き保存から開いた場合や承認ルート切り替え時は、承認ルート初期化処理が完了した後のタイミングにてご利用ください。

各承認プロセスごとの取得項目一覧
  approve_number ... プロセスNo(1,2,3,...)
  approve_type ... プロセスの種類(approve:承認 look:回覧)
  status ... 承認ステータス in_process:承認/回覧待ち passed:承認/回覧済 rejected:否決済、、、
  status_date ... 承認/回覧などのアクション日時(例:2019-03-22 15:55:50)
  approver_candidates ... 承認候補者(全承認者の配列 ※代理承認を行った場合は同一ユーザーが複数セットされる場合もあります)
  approvers ... 実際に承認したユーザー
  not_yet_approvers ... まだ承認していないユーザー
  final_approve ... 明示的に決裁プロセスと指定されたプロセス
  skip_ok ... skip_okプロセス
  no_agency ... 代理承認OKプロセス
  need_all_approve_to_go_next ... 全員承認プロセス
  do_not_send_email ... メール送信禁止プロセス
  do_not_send_email_with_skipping ... 「do_not_send_email_with_skipping」属性がついたプロセス
  is_not_yet_send_email ... 「do_not_send_email_with_skipping」属性により、承認待ちにもかかわらずまだメールが送信されていないプロセス
  is_auto_approve ... 自動承認設定がONかどうか
  approve_limit_days ... 自動承認の日数設定
  approve_expire_date ... 現在設定されている自動承認限日
  is_remind_approve ... 承認催促設定がONかどうか
  first_remind_approve_days ... 初回の催促メールまでの日数
  remind_approve_interval_days ... 2回目以降の催促間隔日数
  max_remind_approve_count ... 最大送信回数
  reminded_approve_count ... 実際に催促された回数
  remind_approve_scheduled_date ... 次回催促予定日

 
例)
/* 文書を開いた際の処理 */
<input type="hidden" name="workflow_doc_load_handler" onclick="

var form = arguments[0];
var processInfos = SateraitoWF.getApproveProcessInfo(form);
for(var i = 0; i < processInfos.length; i++){
var process = processInfos[i];
var approve_number = process.approve_number; // プロセスNo
var approver_candidates = process.approver_candidates; // セットされている承認候補者一覧
var not_yet_approvers = process.not_yet_approvers; // まだ承認や回覧を行っていない承認者一覧
var final_approve = process.final_approve; // 決裁プロセス
var skip_ok = process.skip_ok; // skip_okプロセス
         ・
         ・
});

">

/* 承認ルートの初期化完了時の処理 */
<input type="hidden" name="new_workflow_doc_init_approver_handler" onclick="

var form = arguments[0];
var processInfos = SateraitoWF.getApproveProcessInfo(form);
for(var i = 0; i < processInfos.length; i++){
var process = processInfos[i];
var approve_number = process.approve_number; // プロセスNo
         ・
         ・
});

">



 
SateraitoWF.getCurrentApproveProcessNumber(form)
 --> 現在、どのプロセスステップの承認者として開いているかを取得します
   戻り値…プロセス番号(数字.1~)
 
SateraitoWF.addComma(string_param)
 --> string_paramが数字だけからなる場合、3桁ごとにカンマを付け足した値を返します。

 
SateraitoWF.removeComma(string_param)
 --> string_paramが数字とカンマだけからなる場合、カンマを取り除いた値を返します。

 
SateraitoWF.dateDiff(date_string1, date_string2)
 --> date_string1とdate_string2の差の日数を返します。
   date_string1とdate_string2は「YYYY-MM-DD」フォーマットの文字列である必要があります。
例)
var shuppatsuBi = SateraitoWF.getFormValue(form, 'shuppatsu_bi');
var kichakuBi = SateraitoWF.getFormValue(form, 'kichaku_bi');
var numDays = SateraitoWF.dateDiff(shuppatsuBi, kichakuBi) + 1;
 

 
SateraitoWF.dateAdd(date_string, delta_number)
 --> date_stringにdelta_numberの日数を足した日付文字列を返します。
    date_stringは「YYYY-MM-DD」フォーマットの文字列である必要があります。
例)
var kichaku_bi = SateraitoWF.dateAdd(shuppatsu_bi, shukuhaku_su);

 
SateraitoWF.monthAdd(date_string, delta_number)
 --> date_stringにdelta_numberの月数を足した日付文字列を返します。
    date_stringは「YYYY-MM-DD」フォーマットの文字列である必要があります。
 ※閏年も考慮して加算します。
  例: 2015/01/31 + 1か月 ⇒ 2015/02/28
     2016/01/31 + 1か月 ⇒ 2016/02/29
     2016/05/31 + 11か月 ⇒ 2017/04/30
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="
  var form = arguments[0];
  $(form).find('input[name=btn1]').click(function(){
    var month = parseInt(SateraitoWF.getFormValue(form, 'month').replace(',', ''), 10);
    var date_result = SateraitoWF.monthAdd(SateraitoWF.getFormValue(form, 'field1'), month);

 
    SateraitoWF.setFormValue(form, 'field2', date_result);
  });
">
 
<input name="field1" class="date" > + <input name="month" class="number" size="5" >ヶ月 = <input name="field2" class="date" readonly><br>
<input type="button" name="btn1" value="計算" >

 
SateraitoWF.yearAdd(date_string, delta_number)
 --> date_stringにdelta_numberの年数を足した日付文字列を返します。
    date_stringは「YYYY-MM-DD」フォーマットの文字列である必要があります。
 ※閏年も考慮して加算します。
  例: 2016/01/01 + 1年 ⇒ 2017/01/01
     2016/02/28 + 1年 ⇒ 2017/02/28
     2016/02/29 + 1年 ⇒ 2017/03/01
例)
var kichaku_bi = SateraitoWF.yearAdd(shuppatsu_bi, add_year);
 
 
SateraitoWF.toHalfWidth(zenkaku_str)
 --> 指定文字列内の全角文字を半角に変換して返します(変換可能な文字のみ)
  例: AB@123 カナ⇒ AB@123カナ
 
例)
var half_str = SateraitoWF.toHalfWidh(zenkaku_str);

 
SateraitoWF.toFullWidth(zenkaku_str)
​ --> 指定文字列内の半角文字を全角に変換して返します(変換可能な文字のみ)
  例: AB@123カナ⇒ AB@123 カナ
 
例)
var zenkaku_str = SateraitoWF.toFullWidh(half_str);


SateraitoWF.openSectionArea(form, class_str)
 --> divクラスsection_areaで生成した、開閉できるセクション領域を開きます。class_strには、セクション領域に設定したクラスを指定します。(複数ある場合は半角スペース区切りで列挙します)

 
例)
本文の内容:

 
<div class="section_area nyuryoku_ryoiki" section_title="入力領域"></div>
 
Javascript側の記述:
 
SateraitoWF.openSectionArea(form, 'nyuryoku_ryoiki');

 
 
SateraitoWF.closeSectionArea(form, class_str)
 --> divクラスsection_areaで生成した、開閉できるセクション領域を閉じます。class_strには、セクション領域に設定したクラスを指定します。(複数ある場合は半角スペース区切りで列挙します)

 
例)
本文の内容:

 
<div class="section_area nyuryoku_ryoiki" section_title="入力領域"></div>

 
Javascript側の記述:

 
SateraitoWF.closeSectionArea(form, 'nyuryoku_ryoiki');​
 
 
SateraitoWF.showNewDocWindow(template_name_or_id, default_value)
 --> 内部ひな形IDあるいはひな形名を指定して、新規申請画面を表示します。default_valueに値を指定することで、新規申請画面を開いた時にフィールドに初期値を設定することができます。
  template_name_or_id... 内部ひな形ID(例:template-20190923074358wBvAekqw26OIoNMc)あるいはひな形名(例:交通費精算)
  ※ひな形名は変更される場合がありますので内部ひな形IDでの指定を推奨します。内部ひな形IDはひな形管理画面で確認できます。
  default_value ... 初期値を示すJavascriptオブジェクト(キー=セットしたいフィールド名、データ=セットしたい値、のかたちで定義します)
※新規申請のページから別の申請ページを表示することはできません。申請済みの申請書から起動するようにしてください。
例) (テンプレート「仮払い申請」より)
<input type="button" style="width:120px; height:30px; font-size:14px;" onclick="

// 申請書フォーム
var form = SateraitoWF.getForm(this);
 
// 申請書のなかの各フィールド値を取得
var karibarai_denpyo_bango = SateraitoWF.getFormValue(form, 'karibarai_denpyo_bango');
var karibarai_kibou_bi = SateraitoWF.getFormValue(form, 'karibarai_kibou_bi');
var seisan_yotei_bi = SateraitoWF.getFormValue(form, 'seisan_yotei_bi');
var doc_cover_date_from = SateraitoWF.getFormValue(form, 'doc_cover_date_from');
var doc_cover_date_to = SateraitoWF.getFormValue(form, 'doc_cover_date_to');
var karibarai_kingaku = SateraitoWF.getFormValue(form, 'karibarai_kingaku');
var karibarai_naiyo = SateraitoWF.getFormValue(form, 'karibarai_naiyo');

// 新しい申請書にセットする初期値のオブジェクトを作成
var defaultValue = {
  karibarai_denpyo_bango: karibarai_denpyo_bango,
  doc_cover_date_from: doc_cover_date_from,
  doc_cover_date_to: doc_cover_date_to,
  karibarai_kibou_bi: karibarai_kibou_bi,
  seisan_yotei_bi: seisan_yotei_bi,
  karibarai_goukei: karibarai_kingaku,
  karibarai_kingaku: karibarai_kingaku,
  karibarai_naiyo: karibarai_naiyo
};

 
// 交通費精算申請書の新規作成画面を表示(初期値を設定します)
SateraitoWF.showNewDocWindow('template-20190923074358wBvAekqw26OIoNMc', defaultValue);
 
" value="交通費精算">
 
 
SateraitoWF.showNewDocWindowWithRelation(form, template_name_or_id, default_value, close_form, with_attachfiles)
 --> 内部ひな形ID(例:template-20190923074358wBvAekqw26OIoNMc)あるいはひな形名(例:交通費精算)を指定して新規申請画面を表示します。
  default_valueに値を指定することで、新規申請画面を開いた時にフィールドに初期値を設定することができます。
   ※ひな形名は変更される場合がありますので内部ひな形IDでの指定を推奨します。内部ひな形IDはひな形管理画面で確認できます。
※新規申請のページから別の申請ページを表示することはできません。申請済みの申請書から起動するようにしてください。
 
SateraitoWF.showNewDocWindow」との違いは、
開かれた文書と元の文書の間に関連付けを持たせることができるという点です。

 
文書同士を関連付けることで、

 
・仮払申請文書をもとに交通費精算文書を作成
・交通費精算文書からもとの仮払申請文書を開く (別途「SateraitoWF.showRelativeDocWindow」関数を利用)

 
といったことが可能になります!

 
  template_name_or_id... 内部ひな形ID(例:template-20190923074358wBvAekqw26OIoNMc)あるいはひな形名(例:交通費精算)
  ※ひな形名は変更される場合がありますので内部ひな形IDでの指定を推奨します。内部ひな形IDはひな形管理画面で確認できます。
  default_value ... 初期値を示すJavascriptオブジェクト(キー=セットしたいフィールド名、データ=セットしたい値、のかたちで定義します)
  close_form … true:元の文書画面を閉じる(デフォルト=false)
  with_attachfiles … true:添付ファイルを引き継ぎます(リッチテキスト内のファイルリンクも含みます)(デフォルト=false)

例) (テンプレート「仮払い申請」より)
<input type="button" style="width:120px; height:30px; font-size:14px;" onclick="

 
// 申請書フォーム
var form = SateraitoWF.getForm(this);

 
// 申請書のなかの各フィールド値を取得
var karibarai_denpyo_bango = SateraitoWF.getFormValue(form, 'karibarai_denpyo_bango');
var karibarai_kibou_bi = SateraitoWF.getFormValue(form, 'karibarai_kibou_bi');
var seisan_yotei_bi = SateraitoWF.getFormValue(form, 'seisan_yotei_bi');
var doc_cover_date_from = SateraitoWF.getFormValue(form, 'doc_cover_date_from');
var doc_cover_date_to = SateraitoWF.getFormValue(form, 'doc_cover_date_to');
var karibarai_kingaku = SateraitoWF.getFormValue(form, 'karibarai_kingaku');
var karibarai_naiyo = SateraitoWF.getFormValue(form, 'karibarai_naiyo');

 
// 新しい申請書にセットする初期値のオブジェクトを作成
var defaultValue = {
  karibarai_denpyo_bango: karibarai_denpyo_bango,
  doc_cover_date_from: doc_cover_date_from,
  doc_cover_date_to: doc_cover_date_to,
  karibarai_kibou_bi: karibarai_kibou_bi,
  seisan_yotei_bi: seisan_yotei_bi,
  karibarai_goukei: karibarai_kingaku,
  karibarai_kingaku: karibarai_kingaku,
  karibarai_naiyo: karibarai_naiyo
};

 
// 交通費精算申請書の新規作成画面を表示(初期値を設定します)
SateraitoWF.showNewDocWindowWithRelation(form, 'template-20190923074358wBvAekqw26OIoNMc', defaultValue, true, true);
 
" value="この仮払申請から交通費精算を行う">

 
SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate(form, template_name_or_id, default_value)
SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate(form, template_name_or_id, default_value, check_duplicate_group_key, max_accept_count, close_form, with_attachfiles)
 --> 内部ひな形ID(例:template-20190923074358wBvAekqw26OIoNMc)あるいはひな形名(例:交通費精算)を指定して新規申請画面を表示します。
  default_valueに値を指定することで、新規申請画面を開いた時にフィールドに初期値を設定することができます。
   ※ひな形名は変更される場合がありますので内部ひな形IDでの指定を推奨します。内部ひな形IDはひな形管理画面で確認できます。

※新規申請のページから別の申請ページを表示することはできません。申請済みの申請書から起動するようにしてください。
 
SateraitoWF.showNewDocWindowWithRelation」との違いは、
この申請書に関連付けられた文書の申請数制御ができる点です。
 
このボタンを経由して申請された文書は以下のオプションに基づいて
申請数が制御されますので、例えば、
仮払精算 ⇒ 交通費精算 の重複申請を防ぐ
といったことが可能になります!
 
※申請が否決、削除された場合は再度申請可能になります!

check_duplicate_group_key (※省略可能. 初期値=空)
…同一ひな形で複数の制御用ボタンを配置したい場合に、
それぞれの制御を区別するための一意の値を指定します。
 →ボタンが一つしかない場合は省略可能です。
 →複数のボタンで同じ制御を使用したい場合は、同じ値を指定します。
 
max_accept_count (※省略可能. 初期値=1)
…何申請まで可能かを指定します。省略すると初期値=1が使用されます。

close_form ※省略可能. 初期値=false)
… true:元の文書画面を閉じるオプションです。

with_attachfiles ※省略可能. 初期値=false)
… true:添付ファイルを引き継ぎます(リッチテキスト内のファイルリンクも含みます)

 
例) 
<input type="button" style="width:120px; height:30px; font-size:14px;" onclick="
 
var form = SateraitoWF.getForm(this);
var karibarai_denpyo_bango = SateraitoWF.getFormValue(form, 'karibarai_denpyo_bango');
var karibarai_kingaku = SateraitoWF.getFormValue(form, 'karibarai_kingaku');
var defaultValue = {
  karibarai_denpyo_bango: karibarai_denpyo_bango,
  karibarai_kingaku: karibarai_kingaku
};
SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate(form, 'template-20190923074358wBvAekqw26OIoNMc', defaultValue, 'CHECK001', 3, true, true);
 
" value="この仮払申請から交通費精算を行う">

 
SateraitoWF.showRelativeDocWindow(form, relative_doc_generation, close_form)
 --> この文書が別の文書にヒモづく形で作成された場合に、元の文書の詳細画面を開くことができます!

relative_doc_generation※省略可能. 初期値=1)
… 何世代前の関連文書を開くかの指定(1,2,3... デフォルト=1)
close_form ※省略可能. 初期値=false)
… true:元の文書画面を閉じるオプションです。

例)
<input type="button" style="width:120px; height:30px; font-size:14px;" onclick="
 
var form = SateraitoWF.getForm(this);
SateraitoWF.showRelativeDocWindow(form, 1, true);
 
" value="もとの仮払清算を確認">


SateraitoWF.sum(num1, num2)
 --> 加算処理を実行します

 
SateraitoWF.diff(num1, num2)
 --> 減算処理を実行します

 
SateraitoWF.multi(num1, num2)
 --> 乗算処理を実行します

 
SateraitoWF.divide(num1, num2)
 --> 除算処理を実行します
  ※割る数(num2)がゼロ「0」の場合の結果は保証されません。
 
SateraitoWF.round(num, decimal_place, round_type)
 --> 丸め処理を実行します

 
  decimal_place ... 小数点以下の有効桁数(デフォルト=0…整数)(任意)
  round_type ... 丸めタイプ. 四捨五入、切り上げ、切り捨ての指定(任意)
   ・round … 四捨五入
   ・round_up … 切り上げ
   ・round_down … 切り捨て(デフォルト)

 
SateraitoWF.calcAll(form)
 --> クラス「sum」「diff」「multi」「divide」で自動計算される項目について、強制的に再計算を実行します。
例)
<input type="hidden" name="new_workflow_doc_handler" onclick="
var form = arguments[0];
$(form).find(':input.need_recalc').blur(function(){
  // 強制再計算を実行
  SateraitoWF.calcAll(form);
});
">


SateraitoWF.alert(message, title, callback)
 --> メッセージボックスを表示する関数です。「OK」ボタンのみのシンプルなダイアログボックスです。

 message ... 表示する文字列
 title … メッセージボックスのタイトル(省略可)
 callback … メッセージボックスが閉じた後に呼ばれる関数
(省略可)
  
※この関数は非同期処理です。メッセージボックスが表示された直後に後続処理は実行されます。メッセージボックスが閉じたタイミングで実行したい処理はコールバック関数「callback」内で行ってください。

例)
SateraitoWF.alert('金額を入力してください。');

SateraitoWF.alert('金額を入力してください。', '交通費申請');

SateraitoWF.alert('金額を入力してください。', '
交通費申請', function(is_ok){

  // メッセージボックスが閉じた後の処理
  // OKが押された場合
  if(is_ok){
  ・
  ・
   }

});



SateraitoWF.confirm(message, title, callback)
 --> 「はい」、「いいえ」ボタン付の確認用メッセージボックスを表示する関数です。

 message ... 表示する文字列
 title … メッセージボックスのタイトル(省略可)
 callback … メッセージボックスが閉じた後に呼ばれる関数
(省略可)
  
※この関数は非同期処理です。メッセージボックスが表示された直後に後続処理は実行されます。メッセージボックスが閉じたタイミングで実行したい処理はコールバック関数「callback」内で行ってください。

例)
SateraitoWF.confirm('処理を実行しますか?', 'ワークフロー', function(is_yes){

  // メッセージボックスが閉じた後の処理
  // 「はい」が押された場合
  if(is_yes){
  ・
  ・
   }

});



SateraitoWF.prompt(message, title, value, multiline, callback)
 --> 入力欄付きダイアログボックスを出す関数

 message ... 表示する文字列
 title … メッセージボックスのタイトル
(省略可)
 value … 入力ボックスに初期表示する文字列(省略可)
 multiline… true or false: 入力ボックスを複数行にする場合はtrue(省略可)
 callback … メッセージボックスが閉じた後に呼ばれる関数(省略可)  
※この関数は非同期処理です。メッセージボックスが表示された直後に後続処理は実行されます。メッセージボックスが閉じたタイミングで実行したい処理はコールバック関数「callback」内で行ってください。

例)
SateraitoWF.prompt('メモを入力してください。', 'ワークフロー', '', false, function(is_ok, text){

  // メッセージボックスが閉じた後の処理
  // 「OK」が押された場合
  if(is_ok){
         // 入力された文字列をゲット
         var input_text = text;
   }

});



SateraitoWF.showAddressBookPopup(form, receiveElementName, callback, sharedAddressBookIds, isUpn, singleSelect, options)
--> ネクストセット・組織アドレス帳を開き、指定の項目にセットします。セットのタイミングでコールバック関数「callback」がキックされます。
  form ... フォームオブジェクト
  receiveElementName ... 組織アドレス帳からの設定値をセットするフォームの項目名(name)
  callback ... (省略可)組織アドレス帳からセットされた時にキックされるコールバック関数
  sharedAddressbookIds ... (省略可)共有アドレス帳の表示を絞り込みたい場合に、ここに指定する事ができます。","(カンマ)区切りで複数指定できます。(配列でも可)
  isUpn ... (省略可)選択したユーザーのUPN(User Principal Name)をセットしたい場合、trueを指定します。指定しない場合、ユーザーのプライマリメールアドレスがセットされます。(UPN=プライマリメールアドレスである環境では、このオプションはtrueでもfalseでも同じアドレスがセットされます)
  singleSelect 
... (省略可)項目を1件だけ選択するようにしたい場合、trueを指定します。
  options... (省略可)その他のオプションを指定します。
   - hide_contact_tree: 
true … 「連絡先ツリー」を非表示状態で組織アドレス帳を開く
   - hide_group_tree: true … 「組織ツリー」を非表示状態で組織アドレス帳を開く

  注意) この機能は、「ネクストセット・組織アドレス帳」がインストールされていないと利用できません。
      この機能は、スマートフォン版ワークフローでは利用できません。

例) 
<input type="text" name="text_address" value="">
<input type="button" name="button_address" value="組織アドレス帳を開く" onclick="

  var form = SateraitoWF.getForm(this);

  var options = {
    hide_contact_tree: true,
    hide_group_tree: false
  };


  SateraitoWF.showAddressBookPopup(form, 'text_address', function(){
    // セットのタイミングでここに指定したコードが実行されます
  }, 'kokyaku_meibo', false, false, options);

">
 






SateraitoWF.showZenrinTransitPopup(form, fromPoint, toPoint, date, options, callback) 
--> ゼンリン乗換案内画面をポップアップで開き、ルートや金額の検索および指定の項目への自動セットが行えます。
セットのタイミングでコールバック関数「callback」がキックされますので、関数内で項目に金額などをご入力ください。
  form ... フォームオブジェクト
  fromPoint... 出発地(空でもOK)
  toPoint... 目的地(空でもOK)
  date…初期セットする日時文字列(例:2018-02-22 10:00)未設定なら当日の日時がセットされます
  options…オプション設定のハッシュオブジェクト(省略可)
   round_trip…初期表示で「往復」にチェックする場合はtrue
   transit_type…交通機関種別(R:鉄道 P:空港連絡バス H:高速バス F:フェリー B:路線バス ALL:すべて)
  callback ... (省略可)ポップアップ画面で「セット」を押した際に実行されるコールバック関数。引数に結果のJsonハッシュを持つ
 ~結果Jsonハッシュ~
  from_point:出発地
  to_point:目的地
  date:検索日付
  round_trip:true…cost=往復金額 false…cost=片道金額
  cost:検索結果金額
  link:検索結果画面を開くための確認用URL
  desc_text:検索結果のルート情報の詳細テキスト

 注意) この機能は、「ネクストセット・地図データベース」のインストールおよび別途「ゼンリン乗換案内API」のご契約が必要です。詳しくはこちら

例) 

ゼンリン乗換案内サンプル

<input type="hidden" name="workflow_doc_load_handler" onclick="

var form = arguments[0];

// ゼンリン乗換案内のボタンのクリック時の処理を登録
$(form).find('input.zenrin_transit_popup').on('click', function(){

var fromPoint = SateraitoWF.getFormValue(form, 'kotsuhi_kukan_from'); // 出発地
var toPoint = SateraitoWF.getFormValue(form, 'kotsuhi_kukan_to'); // 目的地
var date = SateraitoWF.getFormValue(form, 'kotsuhi_date'); // 日付(例:2018-02-22)
var transitType = SateraitoWF.getFormValue(form, 'kotsuhi_riyou_kotsu_kikan'); // 交通機関(オプション)
var isRoundTrip = true; // デフォルトで往復チェック
var options = {};
options['round_trip'] = isRoundTrip;
options['transit_type'] = 'ALL';  // 検索対象の交通機関種別

SateraitoWF.showZenrinTransitPopup(form, fromPoint, toPoint, date, options, function(aResult){
if(isRoundTrip && !aResult.round_trip){
  SateraitoWF.alert('往復金額をセットしてください。');
}else{
SateraitoWF.setFormValue(form, 'kotsuhi_kukan_from', aResult.from_point); // From(上書きしないならコメントアウト)
SateraitoWF.setFormValue(form, 'kotsuhi_kukan_to', aResult.to_point); // To(上書きしないならコメントアウト)
SateraitoWF.setFormValue(form, 'kotsuhi_kingaku', aResult.cost); // 費用
SateraitoWF.calcAll(form); // 金額系再計算
}
});
});


"/>

<table class="detail" style="width:99%">

<tr>
  <th class="detail_head" style="width:95px;">日付</th>
  <th class="detail_head" style="width:90px;">利用交通機関</th>
  <th class="detail_head">区間</th>
  <th class="detail_head">金額</th>
</tr>
<tr>
  <td><input type="text" name="kotsuhi_date" class="date must_in_cover_date"></td>
  <td>
    <select name="kotsuhi_riyou_kotsu_kikan" >
      <option value="">
      <option value="R">鉄道
      <option value="P">空港連絡バス
      <option value="H">高速バス
      <option value="F">フェリー
      <option value="B">路線バス
      <option value="ALL">すべて
    </select>
  </td>
  <td><input name="kotsuhi_kukan_from" maxlength="10" style="width: 120px"> ~ <input name="kotsuhi_kukan_to" maxlength="10" style="width: 120px">
    <input type="button" name="transit" class="zenrin_transit_popup" row_index="1" title="乗換案内"  style="background: url(/images/transit.png);background-size: 100% 100%; position: relative; top: 4px;width: 20px; height: 20px; border: none;"></td>
  <td nowrap><input name="kotsuhi_kingaku" size="5" class="number">円</td>
</tr>
</table>







よくある質問(FAQ)

・リッチテキスト項目にファイルを直接ドラッグ&ドロップで張り付けることはできますか?


 はい、可能です。画像はインライン表示、ExcelやPDFなどもリンクとして直接アップできます。 → デモ動画

・ユーザーIDを変更したのですが旧ユーザーとしてアクセスしてしまう


 Office365側でユーザーIDを変更し、組織ワークフロー側でもユーザーID変更の処理をしたにもかかわらず、旧ユーザー扱いでのアクセスが続く場合、
 SharePointサイトコレクションの権限ユーザーを新しいIDで再登録することで改善する場合がございます。
 詳しくは ユーザーIDの変更がSharePointアプリパーツの認証に反映されない場合の対処方法 をご参照ください。

・「印刷ウィンドウを開く」ボタンを押すとエラーする


 Internet Explorerをご利用で、申請書の「印刷ウインドウを開く」ボタンを押したときに『このページを表示する権限がないか有効期限が切れました。お手数ですが、同じブラウザでSharePointサイトページにアクセスしなおしてから再度お試しください』 といったエラーが出る場合はブラウザのCookie設定を変更します。

<Internet Explorer 11の場合>
メニューバーの『ツール』 ⇒ 『インターネットオプション』 ⇒ 『プライバシー』 ⇒ 『詳細設定』 から『プライバシーの詳細設定』を開く。
『自動Cookie処理を上書きする』にチェックし、『ファーストパーティのCookie』『サードパーティのCookie』をいずれも『承諾する』にする。

 
 
※上記の設定で解消しない場合は、下記の設定を追加。
メニューバーの『ツール』 ⇒ 『インターネットオプション』 ⇒ 『プライバシー』 ⇒ 『サイト』 から『サイトごとの
プライバシー操作』を開く。
『Webサイトのアドレス』に「nextset.jp」を入力し、許可』を
クリックする。



 

※上記の設定で解消しない場合は、下記の設定を追加。
メニューバーの『ツール』 ⇒ 『インターネットオプション』 ⇒ 『セキュリティ』 タブを開き 『信頼済みサイト』 を選択、
『サイト』ボタンをクリックして信頼済みサイトの設定を開く。
『このWebサイトをゾーンに追加する』に「https://workflow.nextset.jp」を入力し、追加』を
クリックする。
最後に「信頼済みサイト」ウィンドウの『閉じる』をクリックし、「インターネットオプション」ウィンドウの『OK』をクリック。



※原則として以下の4つは同じゾーンへの登録を推奨としています。併せてご登録をお願いします。
・https://*.nextset.jp
・https://login.microsoftonline.com
・https://*.sharepoint.com
・https://outlook.office.com


 
・メールのURLから申請書を開こうとするとエラーする
ブラウザで組織ワークフローを参照した状態からメールのURLにアクセスしてください。
またInternet Explorerをご利用での場合、『このページを表示する権限がないか有効期限が切れました。お手数ですが、同じブラウザでSharePointサイトページにアクセスしなおしてから再度お試しください』 といったエラーが出ることがあります。
その場合は、FAQの「印刷ウィンドウを開く」ボタンを押すとエラーするにあるようにCookieの設定を変更してください。


メールの通知URLから文書を開く際に、事前のSharePointページアクセスが不要になりました!
管理画面にアプリパーツURLを登録する必要がございます。設定方法は「
SharePointの認証URL」の項目をご確認ください。


・『クロスサイト スクリプトを防止するために、このページは変更されました。』というエラーが出て表示できない。
Internet Explorerをご利用で以下のエラーが出た場合は、SharePointサイトを信頼済みサイトに登録し、XSSフィルターを無効にします。



<Internet Explorer 11の場合>
SharePointの画面を表示した状態から、メニューバーの『ツール』 ⇒ 『インターネットオプション』 ⇒ 『セキュリティ』 ⇒ 『信頼済みサイト』 ⇒ 『サイト』をクリックします。
https://xxxx.sharepoint.com(xxxxの部分はお客様により異なります) を追加します。

※原則として以下の4つは同じゾーンへの登録を推奨としています。併せてご登録をお願いします。
・https://*.nextset.jp
・https://login.microsoftonline.com
・https://*.sharepoint.com
・https://outlook.office.com



『レベルのカスタマイズ』 ⇒ 『XSSフィルターを有効にする』を「無効にする」にします。


・マイサイトにアドオンを挿入するとエラーする

 アドオンは通常のSharePointサイトでご利用ください。マイサイト(URLが xxx
-my.sharepoint.com となるサイト)ではご利用できないことがあります。

 
 


・管理者画面の連携設定タブを開くと、エラーメッセージが表示される

 Internet Explorerをご利用での場合、
このページを表示する権限がないか有効期限が切れました。お手数ですが、同じブラウザでSharePointサイトページにアクセスしなおしてから再度お試しください』 といったエラーが出ることがあります。

その場合は、FAQの
「印刷ウィンドウを開く」ボタンを押すとエラーするにあるようにCookieの設定を変更してください。

 



・リッチテキスト項目に初期値を設定する事はできますか?

ひな形内容に以下のようなかたちで記述する事により初期値を設定する事が可能です。

<!-- リッチテキストを入力するコーナー -->
<textarea name="honbun" class="richtext" style="width:100%; height:300px;">
<span style="font-weight:bold">初期表示の文章</span><br>
この文章が初期表示されます
</textarea>






・リッチテキスト内への埋め込みが動作しません?

「このファイルへのリンクをコピー」へマウスカーソルを載せた時に、マウスカーソルのかたちが手のかたちに変わらない場合、ブラウザのFlashプラグインがオフになっている事が問題の原因である可能性があります。
リッチテキスト内への埋め込み機能では、一部Flashプラグインの機能を利用している関係で、Flashがオフ状態のブラウザではうまく動作しません。ブラウザのFlashプラグインの設定をご確認下さい。

・手元のパソコン、サーバーに申請書のバックアップを取ることはできますでしょうか?

 はい。可能です。サテライトオフィスでは、さまざまな管理者用便利ツールをご用意しておりまして
 その中の

ワークフロー/ドキュメント管理/掲示板回覧板機能のデータバックアップツール <ツール番号: ADDONBACKUP>

 をご利用いただくことで、申請書のレイアウトをそのままローカルにHTML形式で保存することができます!
 ※詳しくは下記ページから同ツールのページをご参照ください。

□管理者便利ツールの一覧はこちら

・同じ「name」のチェックボックスを複数設定するにはどうしたらよいでしょうか。

 ※↓をご参照ください。

チェックボックスに「value」を指定してもCSVファイルに適切に反映されないのですが、どうすれば反映するようになるでしょうか?

これまでワークフローでは、同じお題目のチェックボックスであっても、name値は別々にしなければならないという制約がありました。
また、value属性の指定にかかわらず、CSVエクスポートで出力される値は必ず「True」、「False」といった値になってしまっておりました。
 
 ひな形の設定用hiddenタグ「workflow_template_setting」に、 checkbox_behavior="VALUE_ATTR"  というオプションを追加することで、これらの挙動を変更することが可能になりました(2014.05.20)。
 
~設定例~
  <input type="hidden" name="workflow_template_settingcheckbox_behavior="VALUE_ATTR" >
   
  ※すでに、hiddenタグ「workflow_template_setting」 がある場合は、その属性として追加してください。
 
~従来~
   □ひな形の記述
<tr>
<td class="detail_name" width="20%">休職の種類</td>
<td colspan="3" class="detail_value" width="30%">
<input type="checkbox" name="kind_of_leave_absence_sanzen" value="産前">産前 
<input type="checkbox" name="kind_of_leave_absence_sango" value="産後">産後 
<input type="checkbox" name="kind_of_leave_absence_ikuji" value="育児">育児 
<input type="checkbox" name="kind_of_leave_absence_kaigo" value="介護">介護 
<input type="checkbox" name="kind_of_leave_absence_sonota" value="その他">その他 
</td>
</tr>
 
   □CSVエクスポート時の値
     kind_of_leave_absence_sanzen=True      
     kind_of_leave_absence_sango=False      
     kind_of_leave_absence_ikuji=True
              ・      
              ・      

 
  ~checkbox_behaviorオプション設定時~
   □ひな形の記述
<tr>
<td class="detail_name" width="20%">休職の種類</td>
<td colspan="3" class="detail_value" width="30%">
<input type="checkbox" name="kind_of_leave_absence" value="産前">産前 
<input type="checkbox" name="kind_of_leave_absence" value="産後">産後 
<input type="checkbox" name="kind_of_leave_absence" value="育児">育児 
<input type="checkbox" name="kind_of_leave_absence" value="介護">介護 
<input type="checkbox" name="kind_of_leave_absence" value="その他">その他 
</td>
</tr>
 
   □CSVエクスポート時の値
     kind_of_leave_absence=産前,育児
     ※複数チェックされた場合はカンマ「,」で区切ってセットされます。


・ひな形の削除機能はありますか?

 はい!可能です!ひな形の削除は下記のボタンで削除ください!申請書テンプレートを削除しても、申請済みのデータは削除させませんので、ご安心ください!


・申請書の削除機能はありますか?

 はい!可能です!ひな形管理の「申請書の削除」で、削除できる範囲を設定してください。
 ※現在のところ、申請書の削除は申請者自身でのみ行えます! ⇒ 管理者による一括削除にも対応 2012.12.13 new!
※対象の申請書を承認、回覧、否認したユーザ、および承認、回覧待ちのユーザに対して削除通知メールが送信されます!

 ひな形管理画面で設定すると...


 ユーザが申請書を開いた画面で削除できるようになります!

 管理者画面での一括削除...

  

・通知メールの件名に記載されている申請番号は何でしょうか?

申請番号「apply_no」あるいは「doc_no」が指定されている場合にこれらが記載されるようになっております。
優先順位は下記の順です。

 1.apply_no ※複数指定がある場合、どのapply_noが使用されるかは保証されません。
 2.doc_no


「date」クラスで作成したカレンダー入力で、カレンダーから日にちを選択したときにchangeイベントが拾えません。

 現状のワークフローでは、内部的な構造の問題によりカレンダーから日にちを選択入力した場合にchangeイベントが発生しません。
かわりにカーソルが離れたときに発生する「blur」イベントを拾うことをご検討下さい。
カレンダーから日にちを選択したときにカレンダーにカーソルがセットされるため、そのフォーカスを失った時のイベントを拾うかたちになります。
具体的には、

$(form).find('input[name=this_date]').blur(function(){  });

のように記述するかたちになります。

・申請書を印刷すると、申請書本文が2ページ目以降に印刷される

 Firefoxにて印刷する場合、Firefoxが最適な場所に改ページを入れようとして本文の前を改ページしてしまう場合があります。印刷時に改ページを制御するCSSスタイル「style="page-break-before: always;"」を使ってひな形定義で改ページの場所を指定する事により、問題を回避できる場合があります。

例) 印刷時にdivの前で改ページするよう指定
.....
<div style="page-break-before:always;">
.....
</div>
.....


回覧者にOffice365グループのメールアドレスを指定したのですが、うまくいきません。

 承認者・回覧者には現状グループのメールアドレスを指定することは現状できません。

「apply_no」や「final_approve_no」で、番号のリセットはできませんか?

 「apply_no」や「final_approve_no」の自動発番の番号をリセットする事は現状できません。
ただし、発番のキーになる項目「key_fields」の値を変えることにより、発番し直すことができますので、キー項目を変更する方法をご検討下さい。

「apply_no」のキー項目の変更による発番のリセットにつきましては年ベースで通しの発番をする申請書番号を定義する」もご参照下さい。


・消費税率変更に関する対応ポイントは?

 2014年4月 から消費税率が5%→8%に変更になります。また、その後も10%への変更などが検討されています。
そこで、ワークフローにおける注意点、対応ポイントを挙げてみます。

・ひな形の税率設定の変更
多くの場合、ひな形内に以下のように税率を記載しているかと思います。これを以下のように変更します。

 ・変更前
   <input type="hidden" name="consumption_tax_rate" value="0.05" />

 ・変更後
   <input type="hidden" name="consumption_tax_rate" value="0.08" class="nocopy" />

  ここで、クラス「nocopy」を付けた理由は、「コピーして再作成」の機能で、税率変更前の申請書をもとに新規申請を行った場合に、
変更前の税率を引き継がないためです。


・ひな形の税率設定の変更その2
または、「number」属性を使って税率を設定している場合もあります。
 この場合は下記のように税率を変更をしてください。

 ・変更前
   <input name="zeikomi_kingaku" class="multi" fields="zeinuki_kingaku" number="1.05" >

 ・変更後
   <input name="zeikomi_kingaku" class="multi" fields="zeinuki_kingaku" number="1.08" >



・下書き保存からの申請
 消費税率変更前に保存した下書きデータから申請書を作成した場合、変更前の税率値が使用されます。
 ですので税率変更タイミングで古い下書きデータの削除が必要になります。
 ※下書きの削除はユーザー自身、あるいは管理者ガジェットの「申請書検索」タブで管理者にて行っていただけます。


・コピーして再作成
 既存申請書をもとに新しい申請書を作成する「コピーして再作成」の機能では、最新のひな形が使用されますので
上述のクラス「nocopy」を消費税率に設定しておけば、変更後の税率が使用されます。
※クラスを追加する前に作成された申請書からコピーされた場合も適用されます。

 注意点としては、新規作成画面を開いてから申請するまでに、税率を使った各金額の再計算が必ず行われるようにしてください。
※税率値は変更後の値となっても、計算結果が古いままになる可能性があるため。


・テキストエリア項目の高さ自動調整を無効にすることはできますか?

テキストエリア「textarea」項目では標準の動作として、入力内容に合わせて高さが自動調整されますが、
「no_autosize」属性を指定することで、この自動調整機能を無効にすることができます。

例)
<textarea name="memo" cols="70" rows="5" no_autosize ></textarea>




利用にあたっての諸注意事項のまとめ


・IE6は未サポートになります。また、IE7および8につきましては、IEの性能上、表示スピードが遅い場合がございます。
 最新バージョンのIEあるいは、Edge、FireFoxやChromeなどのブラウザの使用を推奨します。




今後の拡張構想・リリース予定

2012年6月から今後のリリース予定の機能をここに記載するようにします。リリースしたら項目を削除し、リリース履歴の方に移動します。

・入力チェック機能の強化
・セキュリティブラウザへのプッシュ通知
・近日、申請書CSVに「申請日(submit_date)」、「内部文書ID(doc_id)」を追加します!(2017.09.06)→追加しました(2017.10.01)
 ※列の追加は今後も含めて実施されることがありますので、Excelマクロなどで列の場所での制御を行っている場合は、列タイトル(1行目)による制御をお勧めします。



※これ以外にもどんどん機能拡張をしていきますのでどうぞご期待ください。
※ここで挙げている項目は検討段階のものもございますので、検証の結果、やむを得ず対応されない場合もございます。その際は、なにとぞご容赦ください。



リリース履歴

・新規申請画面を開くJavaScript関数「showNewDocWindow」、「showNewDocWindowWithRelation」、「showNewDocWindowWithRelationAndCheckDuplicate」でひな形名だけでなく内部ひな形IDでの指定が可能に(2019.10.03)
・Office365カレンダー予定を作成するボタンを配置するクラス「add_to_office365_calendar」を追加 ※ネクストセット・組織カレンダーが必要です。 (2019-07-20)
・Teamsアプリ対応:Teamsチーム内でワークフローをご利用いただけるようになりました!  詳細(2019-07-08)
・ひな形管理の「下書き保存を禁止する」オプションにひな形バージョンによる制御機能を追加(2019-06-27)
・各承認ルートの承認者、設定、ステータスなどの詳細情報を取得するJavaScript関数「SateraitoWF.getApproveProcessInfo」を追加(2019.05.27)
・承認ルートを最大30まで利用可能に
(2019.02.20)
・前スキップOKプロセスが処理中の間は承認(回覧)依頼メールを送信しないオプション「do_not_send_email_with_skipping」を追加(2019.01.08)
・申請書検索タブで決裁済文書のみ検索対象とするオプションを追加(管理画面の「その他の設定」タブで設定できます)(2018.09.06)
・メッセージの表示方法、スマホ版のリッチテキスト項目の表示動作などを整備(2018.07.30)
・パフォーマンス改善対応…入力可状態の項目の多い申請書の表示スピードの改善(2018.07.05)
・新しいGoogleサイト対応版メッセージボックス関数「SateraitoWF.alert」、「SateraitoWF.confirm」、「SateraitoWF.prompt」を追加(2018.07.01)
・メッセージボックス関数「SateraitoWF.alert」、「SateraitoWF.confirm」、「SateraitoWF.prompt」を追加(2018.07.01)
・申請書の一覧表示、検索、CSVエクスポート、サマリー件数表示のパフォーマンス改善対応
(2018.05.09)
 … 承認待ち、承認済み、回覧待ち、回覧済み、承認/回覧待ち(代理)タブの文書表示速度が大幅に改善しました。
・ゼンリン乗換案内連携対応…乗換案内画面をポップアップ表示し、出張費用の検索&自動セットなどが可能に(※別途ゼンリン乗換案内APIの契約が必要) 詳細(2018.04.24)
・各種データ(ユーザー情報/参照用マスター/承認グループ)の管理画面からの登録、変更、削除機能に対応(2018.03.22)
・申請者への差し戻し文書の「一時保存」に対応…再申請前に変更した内容を一時保存できます(2018.03.08)
    - 差し戻し文書の画面に「一時保存する」ボタンを追加
    - マスター更新関数「SateraitoWF.appendUpdateMasterData」に一時保存時にマスター更新ができるアクションタイプ(action_type=tempsave)を追加
    - 「SateraitoWF.registWFHandler」に一時保存時の入力チェックハンドラ「onFormValidateForTempSave」を追加
    - 一時保存実行直前ハンドラ「workflow_doc_before_tempsave_handler」を追加
・承認、回覧、決裁、否決、差し戻しの印鑑やステータス表記のカスタマイズ機能に対応 詳細(2018.02.26)
・申請時に添付ファイルを選択して未アップロード状態をチェックして警告メッセージを表示するように対応(2018.02.26)
・代理申請者の作成した下書きを本人が開いて保存後、最初の代理申請者も引き続き下書き一覧から参照、編集できるように対応(2018.02.26)
・ラオス語、ミャンマー語追加(2018.02.26)
・「新規申請」、「下書き保存」、「コピーして再作成」機能もポップアップ表示画面に対応  詳細(2018.01.16)
・数値型クラス「number」項目に「style」を適用可能に(2017.11.22)
・メール文言および通知サーバーへの通知文言をひな形ごとにカスタマイズ可能に  詳細​ (2017.11.02)
・ユーザー画面上部にも「更新」リンクを表示する設定を追加(管理画面→その他の設定から設定可能) ※Office365認証の場合のみ有効(2017.10.27)
・「ネクストセット・組織アドレス帳」を開くJavaScript関数「SateraitoWF.showAddressBookPopup」に連絡先ツリー、組織ツリーを非表示状態で開くオプションを追加(2017.10.18)
・JavaScript関数「SateraitoWF.showNewDocWindowWithRelation」、「SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate」に添付ファイルを引き継ぐオプションを追加(2017.10.18)
・申請文書CSVに申請日時「submit_date」、内部文書ID「doc_id」を追加 (2017.10.01)
・「下書きから開く」際に項目の値を上書きしないオプション「nocopy_with_draft」クラスを追加 (2017.09.26)
・JavaScript関数「SateraitoWF.showNewDocWindowWithRelation」、「SateraitoWF.showNewDocWindowWithRelationAndCheckDuplicate」、「SateraitoWF.showRelativeDocWindow」に元文書画面を閉じるオプションを追加(2017.09.26)
・申請一覧で、標準項目の幅およびタイトルの指定が可能に…管理画面の「申請一覧項目」タブで設定可能(2017.09.05)
・「ネクストセット・組織アドレス帳」を開くJavaScript関数「SateraitoWF.showAddressBookPopup」とクラス「sateraito_address_popup」を追加(2017.09.05)
・未使用の印鑑欄に斜線を引くオプション「with_diagonal_line」と非表示にするオプション「hide_if_not_rendered」を追加(2017.09.05)
・申請一覧から文書をポップアップウインドウで開くオプションに対応  詳細(2017.08.31)
・サマリーアプリパーツに各件数表示の表示/非表示オプションを追加(カスタムプロパティで指定)  (2017.08.31)
・マスターのキャッシュ作成動作の変更:マスターの「高速化」OFF時、キャッシュ作成をしないように変更(2017.08.27)
・各ハンドラで追加情報の取得に対応:(2017.08.24)
 - 新規申請ハンドラ「new_workflow_doc_handler」などで「コピーして再作成」かどうかのフラグを取得可能に
 - 差し戻し直前ハンドラ「workflow_doc_before_remand_handler」で差し戻し先の承認プロセス番号を取得可能に
・ひな形管理:表示設定…一般ユーザーには表示しない設定に「検索ボックスにも表示しない」オプションを追加(2017.08.24)
・ひな形管理:コメント機能…「決裁後はコメント欄を表示しない」オプションを追加(2017.08.24)
・スマートフォン版でリッチテキスト項目に対応(2017.08.17)
・複数部署、役職の兼務に対応  詳細(2017.08.02)
・クラス「today_date」を 同期処理に変更…各ハンドラで値の取得など可能になりました(2017.08.01)
・文書詳細ページ上部に「添付ファイルアイコン」を表示(クリックすると添付ファイル欄までスクロールします)(2017.07.31)
・一括承認/回覧機能を追加  詳細(2017.07.12)
・テキストエリア項目の自動高さ調整を無効にするオプション「no_autosize」を追加  詳細(2017.06.22)
・「Skype for Business」チャットでのディスカッション機能に対応 詳細(2017.06.18)
・リッチテキスト項目に「表挿入」機能を追加(2017.06.14)

・プッシュ通知に対応(「その他の設定」タブで設定) ※別途シングルサインオンおよびセキュリティブラウザのご利用が必要です。(2017.05.31)
・申請詳細に「文書のリンクをコピー」メニューを追加(2017.05.31)​

・申請一覧から別ウインドウ、別タブで申請書を開くリンクを追加(2017.05.31)​
・Javascript API関数:リッチテキスト項目貼り付け用の文書HTML作成関数「createDocLinkHtml」を追加(2017.05.31)​

・リッチテキスト項目にクリップボードから画像の貼り付けが可能に(※一部ブラウザでは動作しません)(2017.05.30)
・「サテライトオフィス・通知サーバー for クラウド」への連携に対応 詳細 (2017.05.23)
バックアップツールでリッチテキスト項目内の添付ファイル、ツリー型コメント機能のバックアップに対応 ※ツールのバージョンアップは不要です(2017.05.22)
・リッチテキスト項目にドラッグ&ドロップでファイルを直接添付可能に デモ動画(2017.05.16)
・CSVインポート:CSVファイル内の改行をそのまま反映するように対応 ※一部形式のCSVフォーマットは対応しておりません(2017.03.22)
・レイアウトビルダー:ほかのひな形からのセクション単位のインポートに対応(2017.03.06)
・参照用マスタータブ:マスター定義のエクスポート/インポートに対応(2017.02.28)
・ユーザーIDアドレスとは別にメール送信用アドレスを指定できるように対応…「ユーザー情報」タブで設定(2017.01.20)
・コメント機能に「コメント」ボタン非表示オプション&関連メンバーに通知オプションを追加(ひな形管理で設定)(2017.01.19)
・ユーザー画面の「設定」リンクの非表示設定を追加(2017.01.19)
・Office365ユーザーに「プライマリメールアドレス」が指定されている場合、UPNではなくプライマリメールアドレスに各種通知メールを送信するように対応(2017.01.12)
・ユーザー画面の機能制限オプション対応…ガジェットプロパティでタブごとの非表示設定が可能に 詳細(2017.01.12)
・指定日時にメールを送信するアラートメール機能に対応(クラス「alert_mail」)(2016-12-26)
・マスター更新関数「SateraitoWF.appendUpdateMasterData」にアクションタイプ「resubmit」を追加(2016-12-19)
・申請取り下げ処理実行直前ハンドラ「workflow_doc_before_withdraw_handler」を追加
(2016-12-15)
・文書削除処理実行直前ハンドラ「workflow_doc_before_delete_handler」を追加(2016-12-15)
・マスター更新関数「SateraitoWF.appendUpdateMasterData」にアクションタイプ「delete」と「delete_draft」を追加(2016-12-15)
・Office365認証(OpenIDConnect認証)の認証動作の改善(2016-12-13)
    - 標準動作として認証の高速化を実現(高速化オプションは廃止しました)
    - Office365ログインアカウントの切り替え、ログアウトの検知に対応…自動的にアプリパーツがログアウトされます
・セクション開閉用クラス「section_area」にデフォルトで閉じるオプション「default_closed」を追加(2016-11-30)
・自動承認の場合に、申請、承認履歴領域の日時を年月日のみの表示に変更(2016-11-24)
・下書き保存の機能強化(2016-11-21)
    - ひな形管理に「下書き保存を禁止する」オプションを追加
    - ひな形管理に「自動下書き保存機能を無効にする」オプションを追加
    - マスター更新関数「SateraitoWF.appendUpdateMasterData」に下書き保存時にマスター更新ができるアクションタイプ(action_type=draft)を追加
    - 「SateraitoWF.registWFHandler」に下書き保存時の入力チェックハンドラ「onFormValidateForDraft」を追加
    - 下書き保存実行直前ハンドラ「workflow_doc_before_draft_handler」を追加
・スマートフォン版の動作整備:iOS9以降での動作を中心に整備しました(2016-11-14)
・Office365認証(OpenIDConnect認証)に対応 詳細(2016-11-04)
・CSVインポート:BOM付UTF-8のCSVファイルのインポートに対応(2016-10-13)
・パフォーマンス改善対応:ひな形一覧取得/検索、文書一覧検索、文書CSVエクスポートなど(2016-10-06)
・ひな形バージョン管理機能リリース…ひな形の自動履歴保存、復元機能に対応 詳細(2016-09-13)
・管理者画面の「その他の設定」に高速化オプション機能を追加(2016-08-25)
・各通知メールの文面のカスタマイズが可能に 詳細
(2016.07.31)
・JavaScript API関数:承認グループID指定で承認者を追加する関数「addApproversByApproverGroup」を追加(2016.07.12)
・管理画面の機能制限オプション対応…アプリパーツカスタムプロパティで管理画面のタブごとの非表示設定が可能に 詳細(2016.07.06)
・「承認待ち」、「回覧待ち」、「承認/回覧待ち(代理)」タブ:件数表示、「さらに表示」で開く件数、検索速度の動作改善(2016.07.04)
・オペレーションログ機能:文書に対する申請、承認、添付ファイル閲覧、などのアクションをログ取得する機能に対応 詳細(2016.06.23)
・ユーザーの承認者1~20に承認グループIDの指定が可能に(2016.06.05)
・承認者選択ポップアップ「user_select_button」クラスで対象ユーザをフィルタできるオプション「additional_filter」に対応(2016.06.02)
・新規申請画面をリンクから直接開く機能に対応 詳細(2016.03.16)​
Javascript API関数:文書の内部ID取得関数「getDocId」を追加(2016.02.28)​
・「承認グループ」機能をリリース。複数の承認者をグルーピングしてセット可能に 詳細(2016.01.04)​
・スマートフォン・タブレット版ワークフローをリリース 詳細  (2015.12.24)
・「その他の設定」タブに「ユーザー連携設定」を追加:ユーザー自動同期/CSV作成機能での連携項目の詳細設定が可能に(2015.12.22)​
・各タブの検索用ひな形選択ボックスで「管理者のみ表示」のひな形も検索可能に修正(2015.12.21)​
・レイアウトビルダー、承認ルートビルダーの内容を他のひな形からコピーする機能をリリース ※各ビルダー画面の「既存のひな形の読み込みを実行」ボタンから実施(2015.11.27)​
・既存ひな形情報をファイル(JSON形式)から上書きできる機能をリリース ※ひな形管理の「ファイルから読み込む」ボタンから実施(2015.11.27)​
・EDIツール:申請書DLの件数上限(従来は最大1000件)の撤廃 ※EDIツールのバージョンアップは不要です(2015.09.11)​
・印刷ウインドウ:「印刷プレビュー画面を直接開く」オプションを追加(2015.08.25)
・承認催促メール機能に対応(「is_remind_approve」オプションを承認プロセスに設定)(2015.08.22)​
​・印刷専用フォーム:デフォルト選択フォームの指定と、標準レイアウトを無効にするオプションを追加(2015.08.22)​
​・API機能リリース 詳細​ (2015.08.15)​
・取下済の申請書が「承認待ち」、「回覧待ち」一覧に残らないように対応(過去に取り下げられた申請書は対象外です) (2015.07.30)​
​​​​・管理画面で他の管理者を追加、設定できるように対応 (2015.06.26)
​​​​・ひな形管理:ひな形のファイルへの保存およびファイルからインポートして作成機能に対応 (2015.06.16)
​​​・リッチテキスト機能(クラス「richtext」)に対応 (2015.06.09)
・申請書の複製時に添付ファイルもコピーするように対応 (2015.06.09)
・ひな形管理:決裁通知メール…「否決時のみ通知メールを送信する」オプションを追加 (2015.06.08)​
・申請者情報が取得できない、決裁番号が欠落するなどの各種データ不整合のチェックを実現 (2015.05.20)
・印刷ウインドウかどうかを判別するJavaScript公開関数「SateraitoWF.isPrintWindow」を追加​ (2015.05.20)
​・ひな形管理:「承認ルートビルダー」リリース 詳細​ (2015.04.15)​
・ひな形管理:差戻し通知メールを関連メンバーに送るオプションを追加 (2015.04.13)​
・申請書の取り下げ機能に対応 ※ひな形管理に「申請書の取下げ」オプションを追加 (2015.04.07)​
​・開いている文書の状態を取得するJavaScript公開関数「getDocStatus」を追加 (2015.03.10)
・代理申請者選択ボックスで候補者の絞り込み検索が可能に(検索対象=メールアドレス、ユーザー名、社員ID) (2015.03.10)
・申請書ひな形:「「下書き保存」を開くときに最新のひな形設定を使用して決裁ルートを再構築する」オプションを追加 (2015.02.20)
・申請書ひな形:「このひな形を複製」ボタン…ひな形の複製機能に対応(2015.02.19)
・申請書ひな形:「申請書閲覧者メールアドレス」としてOffice365グループアドレスの指定に対応(2015.02.18)
・ユーザー情報:Office365との「自動同期」機能に対応(2015.02.18)
・ユーザー情報:Office365の全ユーザーをCSV出力する「全Office365ユーザ分のCSVファイル作成」ボタンに対応 (2015.02.18)
・「Office 365連携設定」に「SharePoint認証URL」欄を追加・・・ メールの通知URLから文書を開く際に事前のSharePointページアクセスが不要になりました!​(2015.02.16)
・クラス「today_date」にオプション「set_value_only_empty」、「set_value_only_empty_or_draft」を追加 (2015.02.02)
・承認者の制御を行う「workflow_approver_setting」に、申請者と同じ承認者を除外するオプション「exclusion_same_as_submitter_approvers」、「is_not_exclusion_same_as_submitter_approvers」を追加 (2014.12.18)
・ポルトガル語に対応(language=pt) (2014.10.04)
・Javascript API関数「SateraitoWF.openSectionArea」「SateraitoWF.closeSectionArea」を追加 (2014.10.03)
・「開封通知」機能に対応・・・「ok_to_open_notification」、「ok_to_open_notification_process_number」クラス (2014.09.22)
・CSVインポート:ユーザー、マスターのCSVインポートでエラー詳細ログが確認できるように対応(2014.09.02)
 …エラーレコードがある場合は、ステータスも「エラー」と表記(EDI連携ツールも同様)
・ひな形管理:ひな形ごとにCSVエクスポートを禁止するオプションを追加 (2014.08.27)
・本文中にセクションを追加する「section_area」クラスを追加 (2014.08.12)
・管理者用アプリパーツに「Office 365 連携設定」タブを追加 (2014.07.24)
・ユーザー取得系公開JavaScript関数「getUser」、「getSubmitterUserInfo」、「getViewerUserInfo」で追加属性「user_attribute_1」~「user_attribute_5」が取得できるように対応 (2014.06.13)
・公開JavaScript API関数に半角⇒全角変換をおこなう関数「SateraitoWF.toFullWidth」を追加 (2014.06.12)
・公開JavaScript API関数「SateraitoWF.toHalfWidth」をカタカナに対応(2014.06.12)
・割り算用のクラス「divide」、公開JavaScript関数「SateraitoWF.divide」を追加 (2014.06.03)
・ディスカッション機能「q_and_a」に、決裁、否決済み文書でも質問、回答が可能なオプション「is_enable_with_final_approved_or_rejected」を追加 (2014.05.29)
・重複している承認者を削除できる機能「exclusion_duplicate_approvers」に、プロセス単位に削除対象外とできるオプション「is_not_exclusion_duplicate_approvers」、重複判定単位をグループ化できるオプション「exclusion_approvers_category」を追加 (2014.05.20)
・チェックボックスの挙動改善…同じname値のチェックボックスの複数配置を可能に。また、value属性の値を適切に反映するように対応  ※互換性のためひな形に設定が必要です。 (2014.05.20)
・公開JavaScript関数「requestMasterDataRow」を追加…マスターのプロリードなしに最新のマスターレコードをdata_key指定にて1件取得する関数 ※プリロードできない大量データを含むマスターからのデータ取得などに便利です! (2014.05.15)
・コメント欄機能に対応…ひな形管理の「コメント機能」設定にて、ひな形ごとに表示、非表示を切り替え可能 (2014.04.30)
・管理者アプリパーツ「申請書検索」からの「編集する」機能で承認候補者の追加、削除ができるように拡張(未来の承認プロセスのみ) (2014.04.25)
・数字型クラス「number」の小数対応…「number_type」属性を追加 (2014.03.15)
・計算用クラス「sum」、「diff」、「multi」を小数点計算に対応…有効小数点以下桁数指定「decimal_place」、丸めタイプ「round_type」属性を追加 (2014.03.15)
・ディスカッション機能「q_and_a」に、未回答の質問がある場合に回覧させないオプション「mandatory_for_look」、「mandatory_for_self_look」を追加 (2014.03.03)
・汎用発番用クラス「serial_no」を追加…申請番号、決裁番号以外の番号体系を発番できるようになりました (2014.02.28)
・タイムゾーン対応…ユーザーごとに申請日、承認日などを指定タイムゾーンの日時で表示可能に(ユーザーアプリパーツ「設定」およびユーザーCSVで変更) (2014.02.07)
・公開JavaScript関数:日付に指定月数を足す「monthAdd」を公開(閏年も考慮) (2014.02.04)
・FAQ追加  「印刷ウィンドウを開く」ボタンを押すとエラーする(2014.1.31)
・FAQ追加  メールのURLから申請書を開こうとするとエラーする(2014.1.31)
・FAQ追加  『クロスサイト スクリプトを防止するために、このページは変更されました。』というエラーが出て表示できない。(2014.1.31)
・ひな形管理:「コピーして再作成」を禁止するオプションを追加 (2014.01.30)
・ひな形管理:一覧に「カテゴリー」を追加  (2014.01.30)
・ユーザーID、姓名の変更機能に対応  (2013.11.21)
・特定承認プロセスでのみボタン等を表示する為の属性「ok_to_show_process_number」で複数プロセス番号をスペース区切りで指定できるように対応 (2013.11.04)
・ひな形のカテゴライズ機能をリリース…たくさんのひな形をカテゴリー分けすることで簡単に目的のひな形を選択できるようになりました。   (2013.10.21)
・管理者による申請の編集機能に対応   (2013.10.17)
・多言語機能…韓国語「ko」に対応 (2013.10.02)
・ワークフローで扱うCSVファイルの文字コードを設定可能になりました。管理画面「一般設定」の「ファイルエンコード」で変更できます。ユーザー名などに日本語以外をご利用の場合は「UTF-8」をご利用ください。 (2013.09.30)
・印刷専用フォーム機能をリリース(2013.09.30)
・申請者の社員IDをセットするクラス「employee_id」に対応 (2013.09.17)
・マニュアル公開(2013.08.17)