1アプリに2つのルックアップ(参照先別)設置→1つ目の値で2つ目を自動取得したい。

タイトルの通りですが、参照先が違う2つのルックアップフィールドがあり、1つ目で取得した値で2つ目を自動取得出来ないものかと考えております。

参照先は違いますが、参照先のキー項目においてもそれぞれマスタデータからのルックアップとなっており、キー項目となる値は同一となります。

2つのルックアップをルックアップA、ルックアップBとします。
ルックアップAを取得した際にコピー先に ルックアップBに入れたい値 を設定します。
仮にコピー先をフィールドAとします。フィールドAの変更イベントでルックアップBに格納→自動ルックアップ

ということが可能かと思います。
上記の場合、フィールドAとルックアップBの値は等しくなります。

こちらのフィールドコードを変えれば可能です。

 

(function() {
'use strict';

const EVENT = [
'app.record.create.change.fieldA',
'app.record.edit.change.fieldA'
];

 //下記三項を変更
const lookupA = 'lookupA';//ルックアップAのフィールドコード
const fieldA = 'fieldA';//フィールドAのフィールドコード
const lookupB = 'lookupB'//ルックアップBのフィールドコード

kintone.events.on(EVENT, function(event) {

const record = event.record;
record[lookupB].value = record[fieldA].value;
record[lookupB].lookup = true;

return event;
});
})();

ご回答ありがとうございます。上記参考に各フィールドコード書換しjs適用してみました。

結果としてはうまく動作せずでしたが、私の解釈違いでしょうか。

ルックアップAの「ほかのフィールドのコピー」設定からフィールドAをセットする形で(取得した、したい値)よろしかったでしょうか。

gscさんの解釈で間違いないと思いますが、イベントも書き換える必要があります、
こちらの説明不足かもしれません。

 

(function () {

    'use strict';

    //下記2項を変更

    const fieldA = 'fieldA';//フィールドAのフィールドコード

    const lookupB = 'lookupB'//ルックアップBのフィールドコード

    const EVENT = [

        `app.record.create.change[${fieldA}]`,

        `app.record.edit.change[${fieldA}]`

    ];

    kintone.events.on(EVENT, function (event) {

        const record = event.record;

        record[lookupB].value = record[fieldA].value;

        record[lookupB].lookup = true;

        return event;

    });

})();

度々すみません。

上記書き換え後のコード導入し、ルックアップAの方の取得してみましたが、ルックアップBの方反応無しでございました。

フィールドコードも何度も確認し直しましたが、どこが間違ってるかわからず。。。

 

となるとプラグインが競合してしまっているのでしょうかね。。

こちら動きますか?
イベントを書き換えてください。
こちらも都度不具合申し訳ないです。

`app.record.create.change.${fieldA}`,
`app.record.edit.change.${fieldA}`