9.9.3.1. 処理対象者設定¶
動的承認ノードと横配置ノードに対し、処理対象者を設定する場合を例示します。
9.9.3.1.1. 動的承認ノードの処理対象者をシステムで決定する¶
ユーザコンテンツ側で決定した処理対象者を、動的承認ノードに反映します。また、標準処理画面からは動的承認ノードの設定を行わせない制御を実施します。
9.9.3.1.1.1. 前提¶
9.9.3.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 23 24 25 var nodeSetting = { "DCNodeSetting" : { "dynamic_001" : { // 設定対象のノードIDをプロパティ名とする "displayFlag" : false, // 画面表示をしない "processTargetConfigs" : [ // 任意の処理対象者を指定 { // ユーザ:maruyama "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.user", "parameter" : "maruyama" }, { // ロール:IM-Workflow ユーザ "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.role", "parameter" : "im_workflow_user" } ] } } };上記のパラメータをJSON文字列に変換します。スクリプト開発モデルでは、ImJson#toJSONString メソッドを利用します。ImJson.toJSONString(nodeSetting);JSON文字列に変換したパラメータを、「imwNodeSetting」というキーで標準処理画面に受け渡します。ユーザコンテンツ画面で利用するタグライブラリ「workflowOpenPage」のボディ部にパラメータを定義するなどの対応を行い、標準処理画面が表示される際に生成したパラメータが受け渡されるよう実装してください。
クライアントタイプ=PC の場合
1 2 3 4 5 <imart type="workflowOpenPage" > <input type="hidden" name="imwNodeSetting" value="%JSON文字列に変換したパラメータ%" > </imart>クライアントタイプ=スマートフォンの場合
1 2 3 4 5 <imart type="spWorkflowOpenPage" > <input type="hidden" name="imwNodeSetting" value="%JSON文字列に変換したパラメータ%" > </imart>JSON文字列をクライアントに送信したりvalueとして設定する際は、必要に応じて適切なエスケープ処理を行ってください。
9.9.3.1.1.3. 動作結果¶
9.9.3.1.2. 横配置ノードの配置数、処理対象者をシステムで決定する¶
ユーザコンテンツ側で決定した処理対象者を、横配置ノードに反映します。また、標準処理画面からは動的承認ノードの設定を行わせない制御を実施します。
9.9.3.1.2.1. 前提¶
9.9.3.1.2.2. 実装例¶
設定用パラメータを生成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 var nodeSetting = { "HVNodeSetting" : { "horizontal_001" : { // 設定対象のノードIDをプロパティ名とする "displayFlag" : false, // 画面表示をしない "matterNodeExpansions" : [ // ノード展開情報を指定 // ひとつめの展開ノード { "nodeName" : "node_name_001", // ノード名 "processTargetConfigModel" : [ // 任意の処理対象者を指定 { // 組織:サンプル課11 "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department", "parameter" : "comp_sample_01^comp_sample_01^dept_sample_11" }, { // 組織:サンプル課12 "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department", "parameter" : "comp_sample_01^comp_sample_01^dept_sample_12" } ] }, // ふたつめの展開ノード { "nodeName" : "node_name_002", // ノード名 "processTargetConfigModel" : [ // 任意の処理対象者を指定 { // 組織:サンプル課21 "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department", "parameter" : "comp_sample_01^comp_sample_01^dept_sample_21" }, { // 組織:サンプル課22 "extensionPointId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic", "pluginId" : "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department", "parameter" : "comp_sample_01^comp_sample_01^dept_sample_22" } ] } ] } } };パラメータをJSON文字列に変換し、「imwNodeSetting」として標準処理画面に受け渡します。