7.1.1.2. IM-BloomMakerで作成した画面の入力値をもとにタスクの期限日時を設定する¶
IM-BPMのタスク処理時のユーザ入力フォームをIM-BloomMakerで作成し、その入力値をもとに次のタスクの期限日時を設定するサンプルです。
本サンプルの要旨
IM-BloomMakerを使用して画面を作成します。
IM-LogicDesignerを使用してIM-BloomMakerで入力された値をもとに次タスクの期限日時を設定します。
注意
本サンプルは、intra-mart Accel Platformに「IM-BloomMaker for Accel Platform」モジュールが組み込まれている環境上で動作することを前提としています。
また、各プロダクトのバージョンは下記を想定しています。
- intra-mart Accel Platform : 2024 Spring(Iris)
- IM-BPM for Accel Platform : 8.0.16
- IM-BloomMaker for Accel Platform : 8.0.13
7.1.1.2.1. 本サンプルの確認方法¶
- 「本サンプルの構成資材」 の資材をそれぞれ組み込み/インポートしてください。
- 全ての資材のインポートが完了した後、「サイトマップ」→「BPM」→「プロセス開始一覧」より「プロセス開始一覧」画面へ遷移します。
- プロセス「【チュートリアル】process_bloommaker_set_duedate」の「プロセス開始」をクリックしプロセスを開始します。
- 次に、「プロセスの開始」画面の「最初のタスクの担当者」に指定したユーザにてログインし、「サイトマップ」→「BPM」→「タスク一覧」より「タスク一覧」画面へ遷移します。
- プロセス定義「【チュートリアル】process_bloommaker_set_duedate」のタスク「ユーザタスク1」の処理を行うことで、IM-BloomMakerを使用して作成された「タスクの処理」画面が表示されます。
- 「タスクの処理」画面の表示が行われる際IM-BloomMakerのルーティングに定義された前処理として、IM-LogicDesignerのロジックフロー「【チュートリアル】preprocessing_bloommaker_set_duedate」が実行され、権限の確認と初期表示用の情報の取得が行われます。
- 「タスクの処理」画面の「タスク処理」ボタン押下時に、IM-BloomMakerのアクションに設定したIM-LogicDesignerのロジックフロー「【チュートリアル】complete_bloommaker_set_duedate」が実行され、画面入力値由来の変数をもとにして次のタスクの期限日時に設定します。
コラム
IM-LogicDesignerのロジックフロー「【チュートリアル】complete_bloommaker_set_duedate」での日付の加算について
夏時間のある地域では、夏時間の開始や終了の際には一日の長さが23時間や25時間です。
ユーザのタイムゾーンで上記を考慮した日付加算を行うためには、スクリプト開発向けAPIであるDateTimeオブジェクトを使用する必要があります。
日時加算のロジックフローではDatetimeオブジェクトを利用したjavascriptユーザ定義を使用し、javascriptユーザ定義のマッピング設定にてアカウントコンテキストのタイムゾーンをマッピングさせています。
図 : 「add3daysタスク」 - 「マッピング設定」
Datetimeオブジェクトを利用したjavascriptユーザ定義については「タスクリスナを利用して、ユーザタスクの期限日時を直前ユーザタスクの期限日時から3日後に設定する」を参照してください。
スクリプト開発向けAPIであるDateTimeオブジェクトについては「intra-mart Accel Platform スクリプト開発向けim-BizAPI」-「DateTimeオブジェクト」を参照してください。
intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する考え方や仕様、制限事項については「intra-mart Accel Platform タイムゾーン仕様書」を参照してください。
注意
IM-BloomMakerやIM-BPMの夏時間への対応について
IM-BloomMakerやIM-BPMの夏時間への対応は2024 Spring(Iris)以降のバージョンでのみサポートされています。
2023 Autumn(Hollyhock)以前のバージョンでは、IM-BloomMakerやIM-BPMでの日時の表示や入力において夏時間の考慮が行われていません。
コラム
IM-BPMへの日時情報の受け渡しについて
IM-LogicDesignerでのIM-BPMとの日時情報の受け渡しには date 型の変数の使用を推奨します。
IM-BloomMakerからIM-LogicDesignerへ日時情報を渡す方法については、「intra-mart Accel Platform ローコード開発チュートリアルガイド」-「日時を保存する」を参照してください。
IM-LogicDesignerからIM-BloomMakerへ日時情報を渡す方法については、「intra-mart Accel Platform ローコード開発チュートリアルガイド」-「保存されている日時を画面に表示する」を参照してください。
7.1.1.2.2. 本サンプルの構成資材¶
IM-BPM定義情報 IM-BPM定義情報(英語版) IM-LogicDesigner定義情報 IM-BloomMaker定義情報 IM-Authz(認可) ポリシー - XML形式定義情報
コラム
コラム
コラム
IM-BloomMaker定義情報のインポートについて
インポート手順は「IM-BloomMaker for Accel Platform ユーザ操作ガイド」-「定義ファイルをインポートする」を参照してください。
コラム
IM-Authz(認可) ポリシー - XML形式定義情報のインポートについて
インポート手順は「IM-Authz(認可)インポート・エクスポート仕様書」-「ポリシー - XML形式」を参照してください。
パブリックストレージへのファイルの配置は「システム管理者操作ガイド」-「ファイル操作」を参照してください。
また、ジョブネット「認可(ポリシー)インポート」の実行時に実行パラメータfile を追加し、値に上記の認可ファイルのパブリックストレージ上のパスを指定してください。
または、パブリックストレージへの配置の際にファイル名をauthz-policy.xmlへリネームしてパブリックストレージのルート直下に配置し、ジョブを実行してください。
7.1.1.2.3. IM-BPM定義情報(im_bpm-bloommaker_set_duedate.zip)の詳細¶
タスク処理時にIM-BloomMakerのフォームを呼び出すサンプルプロセス、プロセスを格納するプロジェクト、および、プロセスのデプロイ情報を含む資材です。
7.1.1.2.3.1. IM-BPMのプロジェクト¶
- 「【チュートリアル】project_bloommaker_set_duedate」本サンプルで使用するプロセスを格納するためのプロジェクトです。
7.1.1.2.3.2. IM-BPMのプロセス定義¶
- 「【チュートリアル】process_bloommaker_set_duedate」タスクの処理時にIM-BloomMakerで作成された入力フォームを呼び出すプロセス定義です。プロジェクト「【チュートリアル】project_bloommaker_set_duedate」に格納されています。
コラム
ユーザタスクの入力フォームについてユーザタスクに設定するフォームキーに対し画面連携方式を設定することが可能です。本サンプルではこの機能を使用して、IM-BloomMakerのコンテンツと連携を行っています。フォームキーの詳細については「IM-BPM 仕様書」-「フォームキー」を参照してください。
7.1.1.2.3.3. IM-BPMのデプロイメント¶
- 「【チュートリアル】deploy_bloommaker_set_duedate」本サンプルで使用するプロセス定義のデプロイメント定義情報です。
コラム
7.1.1.2.4. IM-LogicDesigner 定義情報(im_logicdesigner-data-bloommaker_set_duedate.zip)の詳細¶
IM-BloomMakerのルーティング「【チュートリアル】routing_bloommaker_set_duedate」の前処理を行うIM-LogicDesignerのロジックフローや、IM-BloomMakerのコンテンツ「【チュートリアル】content_bloommaker_set_duedate」のアクション内で呼び出されるIM-LogicDesignerのロジックフローとそのロジックフローへのルーティング定義を含む資材です。
資材それぞれに対して英語版があります。
7.1.1.2.4.1. IM-LogicDesignerのロジックフロー定義¶
- 「BPMチュートリアル」-「【チュートリアル】preprocessing_bloommaker_set_duedate」IM-BloomMakerで作成したルーティング「【チュートリアル】routing_bloommaker_set_duedate」の前処理として実行されるIM-LogicDesignerのロジックフローです。
- 「BPMチュートリアル」-「【チュートリアル】complete_bloommaker_set_duedate」IM-BloomMakerで作成したコンテンツ「【チュートリアル】content_bloommaker_set_duedate」の「タスク処理」ボタン押下時のアクションとして実行されるIM-LogicDesignerのロジックフローです。
コラム
「【チュートリアル】preprocessing_bloommaker_set_duedate」について
「【チュートリアル】preprocessing_bloommaker_set_duedate」ではログインユーザがタスクの実行権限があるかの検証も行っています。
実行権限の検証については「IM-BPM 仕様書」-「検証」を参照してください。
7.1.1.2.4.2. IM-LogicDesignerのルーティング定義¶
- 「routing_bloommaker_set_duedate」IM-LogicDesignerのロジックフロー「【チュートリアル】complete_bloommaker_set_duedate」へアクセスするためのURLなどの情報を定義するルーティング定義情報です。
7.1.1.2.5. IM-BloomMaker定義情報(im_bloommaker-data-bloommaker_set_duedate.zip)の詳細¶
プロセス開始時のユーザ入力フォームとタスク処理時のユーザ入力フォームの定義情報と、それらの入力フォームへのルーティング情報の定義が含まれる資材です。
7.1.1.2.5.1. IM-BloomMakerのコンテンツ¶
- 「BPMチュートリアル」-「【チュートリアル】content_bloommaker_set_duedate」IM-LogicDesignerのロジックフロー「【チュートリアル】complete_bloommaker_set_duedate」を呼び出すアクションの定義やボタンクリックなどの画面イベントの定義、レイアウト等の情報を含む、画面の定義情報です。
7.1.1.2.5.2. IM-BloomMakerのルーティング¶
- 「BPMチュートリアル」-「【チュートリアル】routing_bloommaker_set_duedate」コンテンツ「【チュートリアル】content_bloommaker_set_duedate」へアクセスするためのURLの指定や、アクセスする際に呼び出される前処理などの情報を定義するルーティング定義情報です。本サンプルでは前処理としてIM-LogicDesignerのロジックフロー「【チュートリアル】preprocessing_bloommaker_set_duedate」を呼び出します。
7.1.1.2.6. IM-Authz(認可) ポリシー - XML形式定義情報(authz-policy-bloommaker_set_duedate.xml)の詳細¶
IM-BloomMakerのルーティング「【チュートリアル】routing_bloommaker_set_duedate」とIM-LogicDesignerのルーティング「routing_bloommaker_set_duedate」に対する認可設定です。
本サンプルでは「IM-BPM管理者」と「IM-BPMユーザ」に対し「参照」権限や「実行」権限を付与します。
コラム
IM-BloomMaker、IM-LogicDesignerのルーティングの認可について
IM-BloomMakerのルーティングの認可設定手順は「IM-BloomMaker for Accel Platform チュートリアルガイド」-「ルーティングの認可を設定する」を参照してください。
IM-LogicDesignerのルーティングの認可設定手順は「IM-LogicDesigner ユーザ操作ガイド」-「フロールーティングの認可設定」を参照してください。
