gusuku Customine カスタマインの歩き方 レコード更新編
3. レコード追加、レコード更新に関する「やること」一挙解説

3-3. レコードがあれば更新、なければ追加できる「レコードを更新または追加する(キーの値を直接指定)」

前の記事:3-2. シンプルに更新できる「レコードを更新する(キーの値を直接指定)」

次の記事:3-4. テーブルの行数分、処理を繰り返して更新できる「レコードを更新する(キーの値をフィールドで指定)」


カスタマイズ対象のレコードと紐づくレコードを更新するという点においては、やること「レコードを更新する(キーの値を直接指定)」と同じですが、紐づくレコードが更新先アプリに存在しない際にレコード追加ができるのが、やること「レコードを更新または追加する(キーの値を直接指定)」です。


この記事では、やること「レコードを更新または追加する(キーの値を直接指定)」を用い、キーの値を元に同じレコードがあれば更新、同じレコードがなければ追加するカスタマイズを作ります。実行例は次のようになります。


アプリ

カスタマイズ例を確かめるためには、2つのアプリを作成します。

※今回動かすのに必要最低限となるフィールドのみ記載しています


活動履歴

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

案件ID

文字列(1行)


案件名

文字列(1行)


顧客ID

文字列(1行)


顧客名

文字列(1行)


顧客種別

ドロップダウン

項目と順番は「重点顧客」「新規開拓」を設定

営業担当

ユーザー選択


活動日

日付



案件管理

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

案件ID

文字列(1行)


案件名

文字列(1行)


顧客ID

文字列(1行)


顧客名

文字列(1行)


顧客種別

ドロップダウン

項目と順番は「重点顧客」「新規開拓」を設定

営業担当者

ユーザー選択


最終活動日

日付




カスタマイズ

カスタマイズは「活動履歴」アプリに対して行います。

また、アクションは次のように設定してください。


ボタンを配置する

やること「ボタンをメニュー位置に配置する」、条件「詳細画面を表示した時」を用います。


ボタンを押したらレコードを更新または追加する

やること「レコードを更新または追加する(キーの値を直接指定)」、条件「ボタンを押した時」を用います。


「やること」のパラメータで、キーとなるフィールドとキーの値は「案件ID」を設定し、マッピングは次の画像の要領で設定します。


カスタマイズのポイント

このカスタマイズは、やること「レコードを更新する(キーの値を直接指定)」を使った時と似ていますが、違うところは更新の対象となる、キーで紐づくレコードがなかった場合の動きです。


レコード更新をする際には「キー」が必要になります。レコード更新でパラメーターに指定した「キー」を持つ更新先のアプリのレコードを探して見つかった場合にレコード更新を行います。


ここまでは、やること「レコードを更新する(キーの値を直接指定)」と同じですが、やること「レコードを更新または追加する(キーの値を直接指定)」の場合は、指定した「キー」を持つレコードが見つからなかったときに「レコード追加」をする点が大きな違いです。


今回の例では、「活動履歴」アプリの「案件ID」フィールドと、「案件管理アプリの「案件ID」フィールドをそれぞれのキーとしています。


ですので、「活動履歴」アプリの「案件ID」フィールドに一致する値が「案件管理」アプリの「案件ID」フィールドに存在しない場合には、「案件管理」アプリにレコード追加をします。

一方、「活動履歴」アプリの「案件ID」フィールドの値と、「案件管理」アプリの「案件ID」フィールドが一致するレコードが存在する場合には、そのレコードに対してレコード更新を行います。


おわりに

この記事ではボタンを押すことで、更新先のアプリに同じキーのレコードがあればレコード更新、無ければレコード追加するカスタマイズをご紹介しました。


登録ないし更新を行う処理の場合は、やること「レコードを更新または追加する(キーの値を直接指定)」を使うと簡潔に登録/更新を含めたカスタマイズを実現できます。


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!


gusuku Customine カスタマインの歩き方 レコード更新編
3. レコード追加、レコード更新に関する「やること」一挙解説

3-3. レコードがあれば更新、なければ追加できる「レコードを更新または追加する(キーの値を直接指定)」

前の記事:3-2. シンプルに更新できる「レコードを更新する(キーの値を直接指定)」

次の記事:3-4. テーブルの行数分、処理を繰り返して更新できる「レコードを更新する(キーの値をフィールドで指定)」