intra-mart Accel Platform ローコード開発チュートリアルガイド 第7版 2022-09-30

5.2.2. 「担当者」項目の修正

シンプルな登録、更新、削除、一覧表示を行うアプリケーションを作成する 」で作成したToDoアプリケーションに担当者の項目を修正します。
担当者は「 扱うデータの定義設定 」で作成したデータの中から「manager」を利用します。「 シンプルな登録、更新、削除、一覧表示を行うアプリケーションを作成する 」では、「manager」に操作ユーザを自動で設定していましたが、ユーザ検索でユーザマスタから設定できるように修正します。
まずは、自動で操作ユーザを設定している IM-LogicDesigner の各処理を修正します。
その後に、登録・編集・参照画面、一覧画面の修正を行います。

5.2.2.1. ロジックの修正

アプリケーション詳細のアプリケーション構成情報で「ロジック」のタブを選択します。
ロジックタブの画面から各処理を選択して編集していきます。

5.2.2.1.1. 登録処理

「【チュートリアル】ToDoアプリケーション_INSERT」タスクをダブルクリックします。
「アカウントコンテキスト > userCd」と「manager」の紐付けを削除します。

「manager」と入力値の「manager」を紐づけます。
../../../_images/todo_add_assignee_ld_insert5.png
「更新」 - 「決定」をクリックします。

画面左上の「保存」- 「決定」 - 「決定」をクリックし保存します。

5.2.2.2. 登録系画面

アプリケーション詳細のアプリケーション構成情報で「画面」のタブを選択します。
「【チュートリアル】ToDoアプリケーション 登録・編集・参照画面」を選択します。
IM-BloomMaker コンテンツ画面で「デザイン編集」を選択します。
IM-BloomMakerのデザイン編集画面が表示されます。

5.2.2.2.1. 変数の追加

デザイン編集画面の右側にある変数タブを選択します。

「$variable」 を選択し、 bm_variable_create_new をクリックします。
../../../_images/todo_add_assignee_bm_crud3.png
キー名を「tempManager」、値の型を「マップ」とした変数を追加します。
../../../_images/todo_add_assignee_bm_variable2.png
作成した「tempManager」に以下の変数を設定します。
キー名 値の型 代入値
userCd 文字列 (空文字)
../../../_images/todo_add_assignee_bm_variable3.png

5.2.2.2.2. アクションの追加、修正

デザイン編集画面の右側にあるアクションタブを選択します。
「Initialize」を選択します。
../../../_images/todo_add_assignee_bm_crud6.png
下記の位置にアクションエディタ画面で「標準」タブにある「変数〇に〇を代入する」を以下の位置へ配置します。
../../../_images/todo_add_assignee_bm_crud7.png
変数は以下のように設定します。
変数「$variable.tempManager.userCd」に「$variable.responseData.entity.manager」を代入する。
画面下部の「決定」をクリックします。

次に、アクションタブの bm_action_create_new をクリックします。
../../../_images/todo_add_assignee_bm_crud8.png
アクション名に「insert Manager」を設定します。
アクションエディタ画面で「標準」タブにある「変数〇に〇を代入する」を配置します。
変数は以下のように設定します。
変数「$variable.state.entity.manager」に「$variable.tempManager.userCd」を代入する。
../../../_images/todo_add_assignee_bm_crud9.png
画面下部の「決定」をクリックします。

5.2.2.2.3. 単一ユーザ検索を配置

画面上部のタブの中から「Input Area」タブを選択します。

表示領域として「フォーム部品(Bulma)」 - 「フィールド」を選択し、配置します。
../../../_images/todo_add_assignee_bm_crud10.png
「プロパティ」タブのクリックします。

「showLabel」にチェックをつけます。
表示されたフィールドラベルをクリックし、プロパティタブを開きます。
「label」を変数値 に変更し、 bm_search から「多言語」の「$i18n.entity_label_manager」を選択します。
../../../_images/todo_add_assignee_bm_crud11.png

「フィールド」を選択し、「showValidationErrorMessage」にチェックをつけます。
表示された入力規則エラーメッセージを選択します。
「variable」に「$variable.state.entity.manager」を設定します。
「caption」を変数値に変更し、 bm_search から「多言語」の「$i18n.entity_label_manager」を選択します。
../../../_images/todo_add_assignee_bm_crud12.png

「フォーム部品(Bulma)」 - 「エレメント配置アイテム」を選択し、先ほど配置した「フィールド」に配置します。
../../../_images/todo_add_assignee_bm_crud13.png
「共通マスタ」 - 「単一選択ユーザ検索」をエレメント配置アイテムの中に配置します。
../../../_images/todo_add_assignee_bm_crud14.png
「readonly」を変数値に変更し、「= $input.__mode__ == $constant.mode.refer」を設定します。
「selected」に「$variable.tempManager」を設定します。
「onSelectionChanged」に「insert Manager」を設定します。
../../../_images/todo_add_assignee_bm_crud15.png

画面左上の「上書き保存」をクリックします。
これで、担当者を登録画面で指定できるようになりました。
../../../_images/todo_add_assignee_bm_crud19.png