このCookbookでは、以前に公開した「IM-Workflowの一覧を業務別に使い分けるには」に関して、お問い合わせいただいた内容を追加してワークフローの一覧の検索条件を付与する方法をご紹介いたします。
IM-Workflow / IM-BISでは、フローグループを利用すると各種一覧画面に表示するフローや案件を制限することができ、業務単位で一覧画面を使い分けることができます。
このCookbookはintra-mart Accel Platform 2016 Winter(8.0.15)、IM-BIS for Accel Platform 2016 Winter(8.0.12)に基づいて作成しています。
各一覧のソース、及びパラメータは、今後のセキュリティ対応等で変更される可能性があります。
そのため、このCookbookの方法を採用する場合は、お客様環境での事前検証を必ず行ってください。
レシピ
- ワークフローパラメータの設定
- フローグループの作成
- メニュー登録に必要なパラメータの確認
- 検索条件を設定したメニューの登録
1. ワークフローパラメータの設定
最初に、ワークフローパラメータの設定を変更し、一覧画面でフローグループを利用できるようにしましょう。
フローグループの階層数、一覧画面に対するフローグループの検索条件表示の設定を変更してください。
ワークフローパラメータの設定はIM-Workflow / IM-BISで共通です。
ワークフローパラメータを変更する手順の詳細は以下のドキュメントをご参照ください。
1-1. フローグループの利用設定
ワークフローのフローグループを利用できるように「フローグループ階層数」の設定範囲を1以上の値にしてください。
既にフローグループの設定を行っている場合は、対応不要です。
「1-2. 一覧画面のフローグループ検索条件表示の設定」以降の手順を行ってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<!-- フローグループの設定 Flow group settings 流组的设定 --> <!-- フローグループの階層数 設定範囲(階層) : [0] - [5] [0] を指定した場合は、グループを使用しないことを意味します。 Layers of flow group Setting range (hierarchy) : [0] - [5] Group should not be used when [0] is specified. 流组的层次数 设定范围(层次) : [0] - [5] 指定 [0] 时,意思是不使用组。 --> <param> <param-name>flow-group-hierarchy</param-name> <param-value>1</param-value> </param> |
1-2. 一覧画面のフローグループ検索条件表示の設定
設定対象の一覧画面の「フローグループ検索条件表示」をtrueに設定してください。
- 申請一覧、申請/処理開始一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 申請一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of application list screen true : Displayed false : Not displayed 申请一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>apply-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 一時保存一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 一時保存一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of temporary save list screen true : Displayed false : Not displayed 临时保存一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>temporary-save-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 未処理一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 未処理一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of unprocessed list screen true : Displayed false : Not displayed 未处理一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>process-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 処理済(未完了)一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 処理済(未完了)一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of processed (incomplete) list screen true : Displayed false : Not displayed 已处理(未完成)一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>actv-proc-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 処理済(完了)一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 処理済(完了)一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of processed (complete) list screen true : Displayed false : Not displayed 已处理(完成)一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>cpl-proc-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 参照(未完了)一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 参照(未完了)一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of Reference (incomplete) list screen true : Displayed false : Not displayed 参照(未完成)一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>reference-actv-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
- 参照(完了)一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 参照(完了)一覧画面のフローグループ検索条件表示 true : 表示する false : 表示しない Flow group search condition display of Reference (complete) list screen true : Displayed false : Not displayed 参照(完成)一览画面的流组检索条件显示 true : 显示 false : 不显示 --> <param> <param-name>reference-cpl-list-flow-group-visible</param-name> <param-value>true</param-value> </param> |
参照一覧については、一般利用者向けの参照一覧画面を対象としています。
ワークフロー運用管理者やワークフロー監査者向けの一覧画面では検索条件の指定は利用できません。
ワークフローパラメータの詳細は以下のドキュメントをご参照ください。
2. フローグループの作成
「フローグループの設定」の手順で設定した「設定範囲」の値に基づいてフローグループを作成してください。
既にフローグループを作成している場合、「3. メニュー登録に必要なパラメータの確認」以降の手順を行ってください。
- サイトマップ > ワークフロー > ワークフロー管理者 > マスタ定義 > フローグループ定義 をクリックしてください。
IM-BISをご利用の場合、サイトマップ > IM-BIS > システム管理者 > マスタ管理 > フロー > フローグループ定義 から操作してください。 - 「新規作成」をクリックしてください
- 必要な情報を入力し、「登録」をクリックしてください。
後続の手順で必要な情報となるため、「フローグループID」を記録しておいてください。
3. メニュー登録に必要なパラメータの確認
メニューから各種一覧画面を呼び出す際に検索条件を指定するために必要なパラメータを確認します。
3-1. 変換用のパラメータ文字列の作成
以下のフォーマットで変換用のパラメータ文字列を生成します。
1 |
{"%一覧のパラメータ文字列%":{"flowGroupId" : ["%フローグループID%"]}} |
- 一覧のパラメータ文字列の設定内容
一覧の種類 一覧のパラメータ文字列 申請一覧、申請/処理開始一覧 applyListParams 一時保存一覧 temporarySaveListParams 未処理一覧 unprocListParams 処理済一覧(未完了) actvProcListParams 処理済一覧(完了) cplProcListParams 参照一覧(未完了) referenceActvListParams 参照一覧(完了) referenceCplListParams 確認一覧(未完了) confirmActvListParams 確認一覧(完了) confirmCplListParams - フローグループIDの設定内容
"%フローグループID%"には検索条件に指定するフローグループのフローグループIDを指定してください。 - 2階層目以降のフローグループを指定したい場合
以下に示すように上位階層から順番にフローグループを指定することで、2階層目以降のフローグループで初期表示することができるようになります。
1{"%一覧のパラメータ文字列%":{"flowGroupId" : ["%親のフローグループID%", "%子のフローグループID%"]}}
変換用のパラメータ文字列は以下の例を参考にして設定してください。
処理済一覧(未完了)に検索条件を指定する場合の例です。
1 |
{"actvProcListParams":{"flowGroupId" : ["sample_group"]}} |
処理済一覧(未完了)と処理済一覧(完了)のように同一画面で表示される複数のタブに検索条件を指定する場合の例です。
1 |
{"actvProcListParams":{"flowGroupId" : ["sample_flow_group1"]},"cplProcListParams":{"flowGroupId" : ["sample_flow_group1"]}} |
3-2. パラメータ文字列の変換(パラメータ文字列へのフローグループの指定)
先の手順で生成した変換用のパラメータ文字列をブラウザの開発者ツール等を利用して変換してください。
このCookbookでは開発者ツールを利用した変換の手順をご紹介します。
- Webブラウザの開発者ツールを表示してください。
- コンソールで以下のコードを実行してください。
実行結果の文字列は、メニューの登録に必要な情報のため、記録しておいてください。
1 2 |
var str = escape('{%Parameter string for conversion(変換用のパラメータ文字列)%}'); console.log(str); |
「処理済一覧の未完了案件、完了案件に同じフローグループを指定した場合」の実行例です。
(1) コンソールに入力した内容
1 2 |
var str = escape('{"actvProcListParams":{"flowGroupId" : ["sample_flow_group1"]},"cplProcListParams":{"flowGroupId" : ["sample_flow_group1"]}}'); console.log(str); |
(2) 返却された結果
1 |
%7B%22actvProcListParams%22%3A%7B%22flowGroupId%22%20%3A%20%5B%22sample_flow_group1%22%5D%7D%2C%22cplProcListParams%22%3A%7B%22flowGroupId%22%20%3A%20%5B%22sample_flow_group1%22%5D%7D%7D |
4. 検索条件を設定したメニューの登録
これまでの手順で変換したパラメータ文字列を利用して一覧画面をメニューに登録しましょう。
メニューの登録の詳細は以下のドキュメントをご参照ください。
- サイトマップ > テナント管理 > メニュー をクリックしてください。
- 一覧画面のメニューの登録対象のメニューグループをクリックしてください。
Cookbookでは「Sample」のメニューグループに登録する手順を例に説明します。
- 「配下にメニューアイテムを新規作成」をクリックしてください。
- 以下の表に基づいたURLと引数を指定してメニューアイテムを登録してください。
- URL
URLは一覧画面に応じて以下の値を指定してください。- IM-Workflow をご利用の場合
一覧 URL 申請一覧(IM-Workflow) im_workflow/user/apply/apply_list 未処理一覧(IM-Workflow) im_workflow/user/process/process_list 処理済一覧(IM-Workflow) im_workflow/user/cpl_proc/actv_proc_list 参照一覧(IM-Workflow) im_workflow/reference/reference_actv_list 確認一覧(IM-Workflow) im_workflow/user/confirm/confirm_actv_list - IM-BIS をご利用の場合
一覧 URL 申請一覧(IM-BIS/ワークフロー) bis/user/workflow/apply/apply_list_wf 処理開始一覧(IM-BIS/BISフロー) bis/user/businessflow/apply/apply_list_bf 未処理一覧(IM-BIS/ワークフロー) bis/user/workflow/process/process_list_wf 未処理一覧(IM-BIS/BISフロー) bis/user/businessflow/process/process_list_bf 処理済一覧(IM-BIS/ワークフロー) bis/user/workflow/cpl_proc/actv_proc_list_wf 処理済一覧(IM-BIS/BISフロー) bis/user/businessflow/cpl_proc/actv_proc_list_bf 参照一覧(IM-BIS/ワークフロー) bis/reference/workflow/reference_actv_list_wf 参照一覧(IM-BIS/BISフロー) bis/reference/businessflow/reference_actv_list_bf 確認一覧(IM-BIS/ワークフロー) bis/user/workflow/confirm/confirm_actv_list_wf
- IM-Workflow をご利用の場合
- 引数
引数は以下の通りに設定してください- キー
すべての一覧画面共通で「imwCallOriginalParams」を設定してください。 - 値
「メニュー登録に必要なパラメータの確認」で取得したパラメータ文字列を設定してください。
- キー
- URL
- 「登録」をクリックしてメニューのアイテムの登録を完了してください。
登録したメニューから一覧画面を表示すると設定したフローグループのフローや案件だけが初期表示されるようになります。
- 処理済一覧(未完了案件)
- 処理済一覧(完了案件)
お世話になります。
こちらの「一覧の使い分け」参考に活用させてもらっています。ありがとうございます。
こちらに加えて「一覧パターン」を「フローグループ」に割り当てて表示制御することはできないでしょうか?
特定のフローグループで案件プロパティに割り当てた、申請フォーム内の値などを表示させたい希望があります。
(古い記事にコメントして恐縮ですが、有効だとありがたいです)
申し訳ございません。
2019 Spring(8.0.22)より追加となった「案件一覧」メニューでは、フローグループ/フロー単位に任意の表示パターンを設定できますが、こちらで紹介されている旧一覧画面については該当機能がありません。
参考:フローグループ/フロー単位の一覧表示パターン定義設定
回答ありがとうございます。
残念ながら、該当機能はないということなのですね・・・
つまり、一覧を表示して「表示条件」設定の「表示設定」タブで「一覧表示パターン」のプルダウンを選択する、というアプローチしか方法がない、ということなのですね。
理解しました。。。
未処理一覧 のワークフローを使分けるときに、表示条件の表示設定も使い分けることはできませんか。
選んだフローグループの表示設定をリンク等で、ダイレクトに指定したいのですが。
お世話になります。
こちら、活用させて頂こうと設定を行っていたのですが、グローバルナビで動作させた設定をスマートフォン用のメニューに適用したところ、うまく動作しませんでした。
スマートフォン用メニューで動作させるために必要な追加設定等ございましたら、ご教授頂けると助かります。
コメントいただきまして、ありがとうございます。
ご記載の通り、スマートフォンでは記事記載の方法では実現できません。
コメントでは回答が難しいので、別途スマートフォン用の記事を公開いたします。
公開が完了しましたら、別途こちらでも再度コメントさせていただきます。
返信遅くなりました。
以下にスマートフォンの場合の記事を追加いたしました。
https://dev.intra-mart.jp/cookbook151829/
スマートフォン記事追加、ありがとうございました。
今回対応したかったのが申請一覧であったため、スマートフォン側では選択肢に無く、実現できないことを確認しました。
今後他の一覧についてスマートフォン対応する場合には、引き続き参考にさせて頂きたいと思います。
大変参考となります。
ありがとうございます。
一点お伺いしてもよろしいでしょうか。
フローグループを利用した一覧表示の制御についてですが、
作成したフローグループに所属したフロー以外を表示することなどは可能でしょうか。
本設定の場合、フローが追加された際には、フローグループにも追加しなければ、初期表示では表示されないかと思います。
コメントいただきまして、ありがとうございます。
ご指摘の通り、表示されません。
フローグループは検索を目的としており、選択しているフローグループに登録済みのフロー定義のみが表示されます。
新規で作成したフローなど、フローグループに登録されていないフロー定義は、「フローグループ」セレクトボックスを未選択状態(空白)にすることで表示が可能です。
ご確認くださいませ。