テーブルから別テーブルへコピー

1つのアプリにテーブルが2つあります。
Aテーブル
・ルックアップフィールド
・数値フィールド
・ドロップダウンフィールド

Bテーブル
・数値フィールド
・ドロップダウンフィールド
・数値フィールド2
・文字列1行フィールド

A→Bへ、ルックアップフィールド・数値フィールド・ドロップダウンフィールドをAテーブル編集したタイミングでコピーすることは可能でしょうか。

@kashihara さん

こんにちは、少しお力になれそうだと思ったのでご回答させていただきました。
恐らくされたい事は、レコード新規・編集時のフィールド値チェンジイベントでできますね。(下記に参考リンク貼ってます。)
参考リンク:レコード追加画面でフィールドの値を変更したときのイベント - cybozu developer network
参考リンク:レコード編集画面でフィールドの値を変更したときのイベント - cybozu developer network

ただ一点注意でおっしゃられている中でルックアップフィールドのみチェンジイベントが発生しません。(理由はあるんですが割愛しますね…)
もしルックアップした時にチェンジイベント発火したいと思いましたら、ルックアップでコピーされる先のフィールドにチェンジイベントを書けたら発火します。
加えて、サブテーブルの中をコピーされたいとのことですが、イベント発火時の配列を見てみると

event.changes.row.value

とありますが、そちらで今回変更されたデータが入ってますので、そちらを対象のテーブルにpush()などで追加してあげたらできるかなと考えております。

ちなみに、
サブテーブル行追加に関しては、サブテーブルのフィールドコード。
サブテーブルの中のフィールドは、そのフィールドのフィールドコードで発火できます。

下記に軽くサンプル書かせていただきますね。

(() => {
    'use strict'

    kintone.events.on(['app.record.create.change.数値', 'app.record.edit.change.数値',
    'app.record.create.change.ドロップダウン', 'app.record.edit.change.ドロップダウン',
        'app.record.create.change.Aテーブル', 'app.record.edit.change.Aテーブル',], (event) => {

            //record,changesを定義
            const record = event.record;
            const changes = event.changes;

            //Bテーブルを定義
            const b_table = record.Bテーブル.value;

            //Bテーブルの配列にpush
            b_table.push(
                {
                    value:{
                        数値2:{
                            value:changes.row.value.数値.value,
                            type:'NUMBER'
                        },
                        ドロップダウン2:{
                            value:changes.row.value.ドロップダウン.value,
                            type:'DROP_DOWN'
                        },
                        文字列1行:{
                            value:changes.row.value.ルックアップ.value,
                            type:'SINGLE_LINE_TEXT'
                        },
                    }
                }
            )

            console.log(changes);

            //return eventをして値更新
            return event;
        });
})();
「いいね!」 1

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