カスタマイズ対象のレコードと紐づくレコードを更新するという点においては、やること「レコードを更新する(キーの値を直接指定)」と同じですが、紐づくレコードが更新先アプリに存在しない際にはレコード追加できるのが、やること「レコードを更新または追加する(キーの値をフィールドで指定)」です。
これは、やること「レコードを更新または追加する(キーの値を直接指定)」と似ていますが、利用できるシーンに一部違いがあります。
具体的には、次の例のようにテーブル内の値をキー項目として設定した場合に、テーブル行の件数分だけ処理を繰り返すことができます。
ただし、やること「レコードを更新または追加する(キーの値を直接指定)」ではキーとして「フィールド」「他のアクションの結果」「関数」などが指定可能なのに対し、やること「レコードを更新または追加する(キーの値をフィールドで指定)」ではキーに指定できるのは「フィールド」のみとなる点に注意が必要です。
この記事では、やること「レコードを更新または追加する(キーの値を直接指定)」を用い、案件管理アプリのレコードを更新した時に、発注台帳アプリの発注台帳キーをもとにレコード追加ないし、数量が更新されるカスタマイズを作ります。実行例は次のようになります。
アプリ
カスタマイズ例を確かめるためには、2つのアプリを作成します。
※今回動かすのに必要最低限となるフィールドのみ記載しています
案件管理
※フィールド名とフィールドコードは同じものを指定
発注台帳
※フィールド名とフィールドコードは同じものを指定
カスタマイズ
カスタマイズは「案件管理」アプリに対して行います。
また、アクションは次のように設定してください。
レコードを保存した直後にレコードを更新または追加する
やること「レコードを更新または追加する(キーの値をフィールドで指定)」、条件「レコードを保存した直後(削除後は除く)」「現在の画面が追加画面または編集画面ならば」を用います。
「やること」のパラメータのキーとなる更新先のフィールド、キーの値となるこのアプリのフィールドはどちらも「発注台帳キー」を設定します。
また、マッピングは次の要領で設定します。
解説
やること「レコードを更新する(キーの値をフィールドで指定)」と似ていますが、違うところは、更新の対象となるレコードがなかった場合の動きです。
レコード更新をする際には「キー」が必要になります。レコード更新でパラメーターに指定した「キー」を持つ更新先アプリのレコードを探して、レコードが見つかった場合にレコード更新を行います。
ここまでは、やること「レコードを更新する(キーの値をフィールドで指定)」と同じですが、やること「レコードを更新または追加する(キーの値をフィールドで指定)」の場合は、指定した「キー」を持つレコードが見つからなかったときに「レコード追加」する動きとなる点が大きな違いです。
今回の例では、すでに登録されていたテーブル行に対しては変更内容をレコード更新、新しく追加されたテーブル行に対してはレコード追加しています。
また、レコードがすでに登録されているかどうかは「キー」で判断します。
おわりに
この記事では、やること「レコードを更新または追加する(キーの値をフィールドで指定)」を使い、テーブル行の全行を元にして、他のアプリのレコードにキーで対応するものがあればレコード更新、なければレコード追加するカスタマイズをご紹介しました。
また、ご不明点等ございましたら、チャットにてご質問ください!


