同じレコード内で2つのテーブルを1つにしたい【保存後】

キントーン使うのは初めてで、コードの意味もわからない初心者で申し訳ないです。

同じレコード内の2つのテーブルを3つ目のテーブルに統合させたいです。
下記コードを実行したら問題なく実現できたのですが、
1回保存してしまったら、再編集するタイミングでは統合できないので、
再編集するタイミングでも3つめに統合できるようにしたいです。

よろしくお願いいたします。

kintone.events.on(
  [
    "app.record.create.change.名前1",
    "app.record.create.change.名前2",
    "app.record.create.change.年齢1",
    "app.record.create.change.年齢2",
    "app.record.create.change.テーブル1",
    "app.record.create.change.テーブル2",
    // 編集のときも同様にフィールド指定してね。
  ],
  (event) => {
    // テーブル3 消しとく
    event.record.テーブル3.value = [];

    // テーブル3の行になるもの
    const tb3Rows = [];

    // テーブル1 の行を tb3Rowsに追加する
    event.record.テーブル1.value.forEach((element) => {
      if (
        element.id ||
        element.value.名前1.value ||
        element.value.年齢1.value
      ) {
        const r = {
          id: element.id,
          value: { 名前3: element.value.名前1, 年齢3: element.value.年齢1 },
        };
        tb3Rows.push(r);
      }
    });

    // テーブル2 の行を tb3Rowsに追加する
    event.record.テーブル2.value.forEach((element) => {
      if (
        element.id ||
        element.value.名前2.value ||
        element.value.年齢2.value
      ) {
        const r = {
          id: element.id,
          value: { 名前3: element.value.名前2, 年齢3: element.value.年齢2 },
        };
        tb3Rows.push(r);
      }
    });

    // tb3Rowsをテーブル3の行にする
    event.record.テーブル3.value = tb3Rows;

    return event;
  }
);

下記コードを実行したら問題なく実現できたのですが、
1回保存してしまったら、再編集するタイミングでは統合できないので、

コードを深くは見てないですが、上記だけをみると、
create.change だけじゃなくて edit.change もやることで動くんではないですかね?

イベントハンドラに下記も追加するイメージです

    "app.record.edit.change.名前1", 
    // 以降別のフィールドについても書く
1 Like

ありがとうございます。
おっしゃっていただいた通り、作成したら理想通りにできました。

ありがとうございます。

1 Like

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。