intra-mart Accel Platform ローコード開発チュートリアルガイド 第6版 2022-06-01

4.3.4. ワークフロー画面の修正

「シンプルなワークフロー」テンプレートから作成した画面はワークフローで利用する1つの画面で作られています。
しかし、テンプレートから生成された画面では、申請時で承認コメントや承認者が入力できてしまいます。
そのままでも画面の利用は可能ですが、申請画面や処理画面などを判定し必要な項目のみを表示するように本章では、画面を修正していきます。
アプリケーションの全体図だと、以下の色が塗られた箇所が対象です。
../../../_images/screen_overall.png

4.3.4.1. 入力、表示項目の修正

画面の入力、表示項目の修正を行います。

修正前に bm_preview をクリックし、生成された画面を確認します。
../../../_images/workflow_screen1.png
../../../_images/workflow_screen2.png

4.3.4.1.1. 入力項目の修正

まずは、 「承認コメント」と「承認者」の項目を申請時は非表示にするように修正します。
画面上部の「Input Area」タブを選択します。

画面左側の「レイアウト」 - 「ボックス」を選択し、一番下に追加します。
画面右側に表示されている「画面構成」タブを選択します。
../../../_images/workflow_screen3.png

画面構成の一番下に先ほど追加した「ボックス」が追加されています。
その、追加したボックスの配下に「承認コメント」、「承認者」のフィールドをドラッグ&ドロップで移動します。
../../../_images/workflow_screen4.png

画面構成でボックスを選択した状態で「プロパティ」タブを開きます。
「共通」 - 「表示/非表示」のラジオボタンで変数値を選択し、下記を入力します。
「= $input.imwPageType != $constant.pageType.apply」

bm_preview をクリックし、 承認コメント、承認者が非表示になっていることを確認します。
../../../_images/workflow_screen1.png
../../../_images/workflow_screen5.png

次に承認時のみ入力ができるように修正を行います。

承認コメントのテキストエリア要素を選択します。
「エレメント固有」 - 「readonly」を選択し、下記を入力します。
「= $input.imwPageType != $constant.pageType.process」
../../../_images/workflow_screen6.png

承認者のテキスト入力要素を選択します。
「エレメント固有」 - 「static」を変数値から固定値に変更します。
「エレメント固有」 - 「readonly」を選択し、下記を入力します。
「 = $input.imwPageType != $constant.pageType.process 」
../../../_images/workflow_screen7.png

4.3.4.1.2. 手動入力を制限する修正

次に、「提出日」、「申請者」の項目の手動入力を制限します。

提出日の日付入力要素を選択し、プロパティタブを開きます。
「エレメント固有」 - 「readonly」のラジオボタンで「固定値」を選択します。
下部に表示されたチェックボックスにチェックを入れます。
../../../_images/workflow_screen8.png

申請者のテキスト入力要素を選択し、プロパティタブを開きます。
「エレメント固有」 - 「readonly」のラジオボタンで固定値を選択します。
下部に表示されたチェックボックスにチェックを入れます。
../../../_images/workflow_screen9.png

「プレビュー」をクリックし、 提出日、申請者が入力を受け付けなくなっていることを確認します。

4.3.4.2. アクションの修正

画面に動きをつけることのできるアクションの修正を行います。

4.3.4.2.1. 提出日の自動入力アクションを追加

提出日を自動で入力するように修正します。

画面右側に表示されているアクションタブを選択します。
bm_action_create_new をクリックします。
../../../_images/workflow_screen10.png

アクション名に「提出日の自動入力」と入力します。
「標準」 - 「カスタムスクリプト」を右側のスペースへドラッグ&ドロップします。
下記を入力します。
$variable.state.optionalParameter.userParameter.submission_date = new Date();
次に、申請時のみ動作するように実行条件を追加します。
アクションエディタ画面上部の実行条件タブを開きます。
「標準」 - 「変数〇が〇のとき」を先ほど追加したカスタムスクリプトにドラッグ&ドロップします。
変数の右側にある bm_search をクリックし、セレクタを表示させます。
「入力」の「$input > imwPageType」を選択します。
右辺の「abc▼」をクリックし、変数値を選択します。
表示された bm_search をクリックし、セレクタを表示させます。
「定数」の「$constant > pageType > apply」を選択します。
../../../_images/workflow_screen11.png

4.3.4.2.2. 申請者の自動入力アクションを追加

申請者を自動で入力するように修正します。

画面右側に表示されているアクションタブを選択します。
bm_action_create_new をクリックします。
../../../_images/workflow_screen12.png

アクション名に「申請者の自動入力」と入力します。
「標準」 - 「変数〇に〇を代入する」を右側のスペースへドラッグ&ドロップします。
変数の右側にある bm_search をクリックし、変数セレクタを表示させます。
申請者の入力フォームに紐づいている「$variable > state > optionalParameter > userParameter > applicant」を選択します。
右辺の「abc▼」をクリックし、変数値を選択します。
表示された bm_search をクリックし、セレクタを表示させます。
「環境」 から 「$env > userContext > userProfile > userName」 を選択します。

次に、申請時のみ動作するように実行条件を追加します。
アクションエディタ画面上部の実行条件タブを開きます。
「標準」 - 「変数〇が〇のとき」を先ほど追加したカスタムスクリプトにドラッグ&ドロップします。
変数の右側にある bm_search をクリックし、セレクタを表示させます。
「入力」の「$input > imwPageType」を選択します。
右辺の「abc▼」をクリックし、変数値を選択します。
表示された bm_search をクリックし、セレクタを表示させます。
「定数」の「$constant > pageType > apply」を選択します。
../../../_images/workflow_screen13.png

4.3.4.2.3. Initializeアクションの修正

作成した2つのアクションを画面表示時に実行されるInitializeアクションに追加します。

画面右側に表示されているアクションタブを選択します。
Initializeアクションの bm_action_edit をクリックします。
../../../_images/workflow_screen14.png

「標準」 - 「アクション〇を実行する」を右側下部のスペースへドラッグ&ドロップします。
作成した「提出日の自動入力」の bm_action_edit をクリックします。

「標準」 - 「アクション〇を実行する」を右側下部のスペースへドラッグ&ドロップします。
作成した「申請者の自動入力」の bm_action_edit をクリックを選択します。
../../../_images/workflow_screen15.png

bm_preview をクリックし、 提出日、申請者が自動入力されていることを確認します。
../../../_images/workflow_screen1.png
../../../_images/workflow_screen16.png