お世話になっております。
レコード追加・編集画面にて、ルックアップ(テーブル)の各行の取得ボタンを押下した場合に
対応する「取得フラグ」フィールドが更新される処理を実現したいと検討しております。
ルックアップ(テーブル)
①1行目の取得ボタンを押下した場合、「取得フラグ1」フィールドに1が入力
②2行目の取得ボタンを押下した場合、「取得フラグ2」フィールドに1が入力
③3行目の取得ボタンを押下した場合、「取得フラグ3」フィールドに1が入力
検討中の実装概要としては、以下となります。
(1)処理①:追加画面表示イベント時に、ルックアップテーブルに行を追加
(2)処理②:追加・編集画面表示イベント時に、各取得ボタン押下時に取得フラグを更新する
(1)は、追加画面遷移時に、2行目以下の取得ボタンが存在しない場合は、
2つ目以降の、addEventListenerの処理が動作しなかったため、実装しております。
現在、下記コードにて動作確認を行いましたが、処理①/処理②のルックアップテーブルの
処理が競合してしまっている状況のため、いずれの動作も動かない状況となります。
コードの記載方法に誤りがある認識ではございますが、正しい記載方法ご教示いただけないでしょうか?
なお、処理②は、下記サイトを参照しております。
(function() {
“use strict”;
// 処理①:追加画面表示イベント時に、ルックアップテーブルに行を追加
kintone.events.on([‘app.record.create.show’], function (event) {
var record = event.record;
// 初期テーブル行を複製
var row = record[‘テーブル’].value[0].value;
var newRow = {};
var fcodes = Object.keys(row);
fcodes.forEach(function(fcode) {
newRow[fcode] = {
type: row[fcode].type,
value: row[fcode].value
}
});
record[‘テーブル’].value.push({ value: newRow });
record[‘テーブル’].value.push({ value: newRow });
return event;
});
// 処理②:追加・編集画面表示イベント時に、各取得ボタン押下時に取得フラグを更新する
kintone.events.on([‘app.record.create.show’, ‘app.record.edit.show’], function (event) {
document.getElementsByClassName(‘input-lookup-gaia’)[0].addEventListener(‘click’, function(click) {
console.log(“aaa”);
var myRecord1 = kintone.app.record.get();
myRecord1.record.取得フラグ1.value = 1;
kintone.app.record.set(myRecord1);
}, true);
document.getElementsByClassName(‘input-lookup-gaia’)[1].addEventListener(‘click’, function(click) {
console.log(“aaa”);
var myRecord2 = kintone.app.record.get();
myRecord2.record.取得フラグ2.value = 1;
kintone.app.record.set(myRecord2);
}, true);
document.getElementsByClassName(‘input-lookup-gaia’)[2].addEventListener(‘click’, function(click) {
console.log(“aaa”);
var myRecord3 = kintone.app.record.get();
myRecord2.record.取得フラグ3.value = 1;
kintone.app.record.set(myRecord3);
}, true);
});
})();