フィールドAにQRコードによって読み込んだ文字列を
フィールドB、C、Dに各文字列を自動で振り分けて入力されるようにしたいです。
例えば…
フィールドA:1234abc5678 という文字列を読み込んだら
自動で下記が入力される
フィールドB:1234
フィールドC:abcd
フィールドD:5678
レコード追加画面では想定通りの動きをしており
レコード編集画面では、エラーが出て、動きません。
エラー内容:Uncaught TypeError: Cannot read properties of undefined (reading 'substr')
code.substr
でエラーが出ていると思われますが
レコード編集画面でのみエラーが出て、動作しないのはなぜでしょうか。
実行したコード
(() => {
'use strict';
let table = 'TBL';
kintone.events.on([
'app.record.create.change.コード', //レコード追加画面でコードフィールドの値が変更された時
'app.record.edit.change.コード', //レコード編集画面でコードフィールドの値が変更された時
], event => {
for (var i = 0 ; i < event.record[table].value.length ; i ++ ) {
var code = event.record[table].value[i].value.コード.value
var hinmei = code.substr(18,8)
var tsumiba = code.substr(26,4)
var oroshiba = code.substr(30,3)
var hinmei_code = code.substr(1,6)
var tsumiba_code = code.substr(7,4)
var oroshiba_code = code.substr(11,4)
event.record[table].value[i].value.品.value = hinmei
event.record[table].value[i].value.積.value = tsumiba
event.record[table].value[i].value.卸.value = oroshiba
event.record[table].value[i].value.品コード.value = hinmei_code
event.record[table].value[i].value.積コード.value = tsumiba_code
event.record[table].value[i].value.卸コード.value = oroshiba_code
};
return event;
});
})();