背景・実現したいこと
こんにちは。
以下2つのアプリ間で[社員マスタ]を更新した時に[アプリA]のルックアップ を更新したいと思い、以下コードを作成しました。
使用したアプリ(うまくいった)
・社員マスタ(updateLookup_A.js)
・アプリA
この段階ではエラーは出ずに思ったとおりの動作をしてくれました。
エラー情報
うまく動作したのでアプリBに対しても同様の処理をしたいと思い [updateLookup_2.js] を作成しました。
使用したアプリ(エラーが出た)
・社員マスタ(updateLookup_A.js、updateLookup_B.js)
・アプリA
・アプリB
しかし実行してみると「Uncaught TypeError: Cannot read property ‘姓名’ of undefined」とエラーが出てしまいます。しかし作成した2つのJSファイルのどちらか片方を削除すると動作します。
変数 paramGet の名前空間やスコープに問題があるのでしょうか?
どなたかエラーの原因を教えていただけませんでしょうか。
よろしくお願いいたします。
利用したソースコード
updateLookup_A.js
(function() {
'use strict';
function createPutRecords(records,fieldName) {
const putRecords = [];
for (let i = 0; i < records.length; i++){
const record = records[i];
putRecords[i] = {
id: record.$id.value,
record: {
報告者: {
value: record['報告者'].value
}
}
};
}
return putRecords;
}
kintone.events.on('app.record.edit.submit.success', function(event) {
const record = event.record;
// レコードの一括取得
const paramGet = {
'app': 6,
'query': '報告者 = "' + record['姓名'].value + '"'
};
console.log(paramGet);
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', paramGet)
.then(function(resp){
const records = resp.records;
console.log(records);
const paramPut = {
'app': 6,
'records': createPutRecords(records)
};
console.log(paramPut.records);
return kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', paramPut);
});
});
})();
updateLookup_B.js
(function() {
'use strict';
function createPutRecords(records) {
const putRecords = [];
for (let i = 0; i < records.length; i++){
const record = records[i];
putRecords[i] = {
id: record.$id.value,
record: {
受講者: {
value: record['受講者'].value
}
}
};
}
return putRecords;
}
kintone.events.on('app.record.edit.submit.success', function(event) {
const record = event.record;
// レコードの一括取得
const paramGet = {
'app': 19,
'query': '受講者 = "' + record['姓名'].value + '"'
};
console.log(paramGet);
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', paramGet)
.then(function(resp){
const records = resp.records;
console.log(records);
const paramPut = {
'app': 19,
'records': createPutRecords(records)
};
console.log(paramPut.records);
return kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', paramPut);
});
});
})();