ルックアップドロップダウンの選択に基づくフィールドの自動入力

ルックアップドロップダウンの選択に基づくフィールドの自動入力

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

要件  

ルックアップドロップダウンで値を選択したとき、同じフォーム内の他のフィールドに関連する値が自動入力されるようにします。

ユースケース  

注文管理アプリに、注文の詳細を保存するフォームがあります。管理者が ドロップダウンから顧客名を選択すると、顧客の詳細が自動入力されます。同様に、管理者がサブフォーム内のルックアップ項目である商品を選択すると、 単位や単価など、その他の関連フィールドも自動入力されます。

動作を確認する

手順  

1. 3 つのフォームを作成します (詳細は次のとおり):
フォーム
フォームリンク名
フィールドタイプ
フィールド名
フィールドリンク名
顧客
顧客
名前
顧客名
Customer_Name
番号
顧客 ID
C_ID
電話番号
Phone_number
P_No
商品
商品
一行テキスト
商品
商品
通貨
価格
価格
一行テキスト
単位
Unit_of_measure
注文
注文
ルックアップ
(顧客)
顧客名
Customer_Name
一行テキスト
顧客 ID
Customer_ID
電話番号
電話番号
Phone_number
サブフォーム
  • ルックアップ
    (商品)
  • 番号
  • 通貨
  • 番号
  • 通貨
商品
  • 商品
  • 単位(単位)
  • 単価
  • 数量
  • 合計
商品
  • 商品
  • 単位(単位)
  • Unit_Price
  • 数量
  • 合計
 
2. フォームワークフローを作成 し、次の詳細を設定します。


このワークフローは、自動入力される 注文 フォームの項目を無効化するためのものなので、 フォームイベント として「フォームの読み込み時」を選択します。
 
3. [新しいアクションを追加] をクリックし、次の Deluge スニペットを Deluge エディターに保存します。
  1. disable Customer_ID;
  2. disable Phone_number;

4. フォームワークフローを作成 し、次の詳細を設定します。

このワークフローは、ユーザーが 注文フォームの 顧客名 項目に値を入力し、フォームが正常に送信されたときに実行されるように設定します。そのため、 フォームイベント として「項目へのユーザー入力」を選択します。

5. [新しいアクションを追加]をクリックします。

6. 次の Deluge スニペットを Deluge エディターに保存します。
  1. if(Customer_Name != null)
  2. {
  3. // 顧客フォームから、選択した顧客名に対応するデータを取得します
  4. related_record = 顧客[ID == input。Customer_Name];

  5. // 顧客フォームから取得した関連値で項目を更新します
  6. input。Customer_ID = related_record。C_ID;
  7. input。Phone_number = related_record。P_No;
  8. }

input.<lookup 項目> は、選択された値を含む親フォームデータの ID を返します。 そのため、上記のスニペットでは ID == input。Customer_Name という条件を使用して、 顧客 フォームから対応するデータを取得しています。
 
7. 次に、サブフォーム項目に基づいて別のサブフォーム項目を自動入力してみましょう。 フォームワークフローを作成 し、次の詳細を設定します。

このワークフローは、 ユーザーが 商品 サブフォームの項目に値を入力したときに実行されるようにする必要があるため、 フォームイベント として「項目へのユーザー入力」を選択します。
 
8. [新しいアクションを追加] をクリックし、 次の Deluge スニペットをDeluge エディターに保存します。
  1. if(row。商品 != null)
  2. {
  3. // 商品フォームで選択された商品のデータを取得
  4. related_record = 商品[ID = row。商品];

  5. // 顧客フォームから取得した関連値で項目を更新
  6. row。Unit_of_measure=related_record。Unit_of_measure;
  7. row。Unit_Price=related_record。価格;
  8. }

動作を確認する     


注意点  

  • input.<LookupField> には、親フォーム内のデータの参照 ID を指定します。同様に、ルックアップ項目に値を挿入するには、 set ステートメントを使用して、親フォーム内のデータの ID をその項目の値として設定します。