記念すべき?本シリーズ10本目です。
今回も粛々と営業支援アプリの機能拡張を行っていきます。
今回は、あるSharePointリスト(CDSエンティティなど)の一個のレコードに含まれる項目から参照する別レコードを関連付け、表示させるテクニックの紹介です。
これまでに、関連付けの中でもいわゆる1:Nのケースの紹介を行ってきましたが、今回はN:1のケースの紹介です。
目次
選択した営業案件に関連する顧客マスタの表示
顧客マスタのフォームのDataSourceプロパティには、以下のように取引先企業と入力します。
次に、営業案件レコード1つをクリックして、フォーム内の顧客マスタのドロップダウンリストのオブジェクト名を確認します。
私の環境では特に改称していないので、Dropdown3というようでした。
この名前をフォームのItemプロパティに以下のように入力します。
コードは以下の通りです。
コード
Dropdown3.Selected
ちなみに、今回はドロップダウンリストはレコードだけで返されるため、Itemプロパティに設定することができました。
このように、フォームやボタンなどのオブジェクトに対して、どのプロパティが表示や処理に重要な役割となっているかという事と、その制限(データ型や関数)についてわかると、開発のスピードがアップします。
一連の流れとしては以下のように設定しています。
新規顧客マスタの作成
次に、このフォームから新しい顧客マスタを作成できる機能をつくります。
AddボタンのOnSelectプロパティに以下のような関数を登録します。
コードは以下の通りです。
コード
NewForm(CustomerForm);
UpdateContext({ThisRecordNumber: CountRows(取引先企業.ID) + 1});
UpdateContext({ThisRecordNumberLength: Len(Text(ThisRecordNumber))});
If(
ThisRecordNumberLength=1,
UpdateContext({CreatedRecordNumber: "CUS0000" & Text(ThisRecordNumber)}),
ThisRecordNumberLength=2,
UpdateContext({CreatedRecordNumber: "CUS000" & Text(ThisRecordNumber)}),
ThisRecordNumberLength=3,
UpdateContext({CreatedRecordNumber: "CUS00" & Text(ThisRecordNumber)}),
ThisRecordNumberLength=4,
UpdateContext({CreatedRecordNumber: "CUS0" & Text(ThisRecordNumber)}),
ThisRecordNumberLength=5,
UpdateContext({CreatedRecordNumber: "CUS" & Text(ThisRecordNumber)})
)
また、保存ボタンのOnSelectプロパティには以下のように設定します。
コードは以下の通りです。
コード
SubmitForm(CustomerForm)
以上です。
参考になれば幸いです。