テーブルを別アプリのレコードに書き出し、常に同期を取る方法 などで、テーブル行を別のアプリのレコードに書き出している場合に、
逆にレコード側で更新した内容をテーブルの既存行に反映したい場合もあると思います。
そういった場合は「テーブル付きでレコードを書き出す」を使用すれば可能です。
kintone アプリの構成
テーブルを持つアプリです。
テーブルに登録された各行を、カスタマイズ対象アプリのレコードと同期しています。
カスタマイズ対象アプリです。
テーブルを持つアプリと共通のフィールドを持ちます。
※フィールド名とフィールドコードは同じに設定しています。
カスタマインのカスタマイズ
まず、更新対象のレコードを取得します。
やること「テーブル付きでレコードを書き出す」は、テーブルの既存行を更新する場合(既存のレコードを更新する場合)は、「レコード」に指定できるのは「書き出し先アプリ」に指定したアプリのレコードでなければいけません。
そのため、下記のような流れでカスタマイズします。
更新対象のレコードを取得する
「テーブル付きでレコードを書き出す」で、1のレコードを書き出す際にマッピングでカスタマイズ対象アプリのフィールドの値を指定し、
テーブルの既存行を更新する
そのため、まずは「テーブルを持つアプリ」から、更新対象のレコードを取得する必要があります。
今回は、カスタマイズ対象アプリと「テーブルを持つアプリ」で共通の「コード」フィールドの値が一致するレコード、という条件で更新対象のレコードを取得しました。
やることは「キーを指定してレコードを取得する」、条件は「レコードを保存した直後(削除後は除く)」を指定します。
次に、「テーブル付きでレコードを書き出す」で、テーブルの既存行を更新します。
「書き出し先アプリ」には「テーブルを持つアプリ」、「書き出し先テーブル」には更新したいテーブルを指定してください。
その他のパラメーターは下記のように指定します。
書き出し対象テーブル行の条件になるフィールド(1)
このパラメーターは、複数あるテーブル行のうち、どのテーブル行を更新するかを指定するためのものです。
今回は、テーブル内の「No」フィールドの値と、カスタマイズ対象アプリの「No」フィールドの値が同じ行を更新するよう設定しました。
テーブルの特定の行だけを更新したい場合は、このパラメーターで行を特定するフィールドを指定してくださいテーブルに対するマッピング
テーブル内の「開催日」フィールドに、カスタマイズ対象アプリの「開催日」をセットします。
マッピングを指定するときは、後述のマッピングを参考に指定してください。
マッピングでは、入力補助機能で「挿入」⇒「フィールド」を指定してください。
「カスタマイズ対象アプリ」タブをクリックすると、カスタマイズ対象アプリの開催日を選択できます。
以上でカスタマイズは完了です。
「kintone アプリへ登録」ボタンをクリックしてカスタマイズを kintone アプリに登録したら、
カスタマイズ対象アプリのレコードを保存していただき、
テーブルを持つアプリの既存のテーブル行が更新されている(開催日フィールドの値がカスタマイズ対象アプリの開催日と同じになっている)ことを確認してください。
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページもぜひご活用ください。