テーブルを別アプリのレコードに書き出し、常に同期を取る方法 などで、テーブル行を別のアプリのレコードに書き出している場合に、

逆にレコード側で更新した内容をテーブルの既存行に反映したい場合もあると思います。

そういった場合は「テーブル付きでレコードを書き出す」を使用すれば可能です。


kintone アプリの構成

テーブルを持つアプリです。

テーブルに登録された各行を、カスタマイズ対象アプリのレコードと同期しています。


カスタマイズ対象アプリです。

テーブルを持つアプリと共通のフィールドを持ちます。


※フィールド名とフィールドコードは同じに設定しています。



カスタマインのカスタマイズ

まず、更新対象のレコードを取得します。

やること「テーブル付きでレコードを書き出す」は、テーブルの既存行を更新する場合(既存のレコードを更新する場合)は、「レコード」に指定できるのは「書き出し先アプリ」に指定したアプリのレコードでなければいけません。

そのため、下記のような流れでカスタマイズします。

  1. 更新対象のレコードを取得する

  2. テーブル付きでレコードを書き出す」で、1のレコードを書き出す際にマッピングでカスタマイズ対象アプリのフィールドの値を指定し、
    テーブルの既存行を更新する


そのため、まずは「テーブルを持つアプリ」から、更新対象のレコードを取得する必要があります。

今回は、カスタマイズ対象アプリと「テーブルを持つアプリ」で共通の「コード」フィールドの値が一致するレコード、という条件で更新対象のレコードを取得しました。


やることは「キーを指定してレコードを取得する」、条件は「レコードを保存した直後(削除後は除く)」を指定します。


次に、「テーブル付きでレコードを書き出す」で、テーブルの既存行を更新します。

「書き出し先アプリ」には「テーブルを持つアプリ」、「書き出し先テーブル」には更新したいテーブルを指定してください。


その他のパラメーターは下記のように指定します。

  • 書き出し対象テーブル行の条件になるフィールド(1)
    このパラメーターは、複数あるテーブル行のうち、どのテーブル行を更新するかを指定するためのものです。
    今回は、テーブル内の「No」フィールドの値と、カスタマイズ対象アプリの「No」フィールドの値が同じ行を更新するよう設定しました。
    テーブルの特定の行だけを更新したい場合は、このパラメーターで行を特定するフィールドを指定してください

  • テーブルに対するマッピング
    テーブル内の「開催日」フィールドに、カスタマイズ対象アプリの「開催日」をセットします。
    マッピングを指定するときは、後述のマッピングを参考に指定してください。


マッピングでは、入力補助機能で「挿入」⇒「フィールド」を指定してください。


「カスタマイズ対象アプリ」タブをクリックすると、カスタマイズ対象アプリの開催日を選択できます。


以上でカスタマイズは完了です。

「kintone アプリへ登録」ボタンをクリックしてカスタマイズを kintone アプリに登録したら、
カスタマイズ対象アプリのレコードを保存していただき、

テーブルを持つアプリの既存のテーブル行が更新されている(開催日フィールドの値がカスタマイズ対象アプリの開催日と同じになっている)ことを確認してください。




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

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