サブテーブルのあるフィールドが変更されたとき、別アプリから値を取得して別のフィールドに値をセットしたいのですがうまくいきません。
値取得先のアプリは動的に変えたいのでルックアップは使用せずJavascriptで対応したくて以下のように書いてみました。
consoleのrecordにはgetRecordsで取得した顧客名が格納されていましたが、画面上のフィールドに値がセットされません。
どこを直せばよいのか、どなたかご教授のほどよろしくお願いいたしますm(_ _)m
(function() {
“use strict”;
kintone.events.on([
‘app.record.create.change.受付番号’
], function(event) {
var changes = event.changes;
var tbl = event.record[‘Table’].value;
var uketsukeNo = changes[‘row’].value[‘受付番号1’].value;
var kokyakuName = changes[‘row’].value[‘顧客名’].value;
var whereStr = ‘受付No = "’ + uketsukeNo + ‘"’;
var appArray = { ‘業務名1’:1, ‘業務名2’:2, ‘業務名3’:3}; //アプリIDの連想配列
var bukkenName;
if (uketsukeNo){
kintoneUtility.rest.getRecords({‘app’:appArray[gyomuName],‘query’: whereStr}).then(function(result){
kokyakuName =result.records[0].顧客名.value;
return new Promise(function (resolve, reject) {
changes[‘row’].value[‘顧客名’].value = kokyakuName;
console.log(‘1’);
console.log(event);
return resolve();
});
}).then(function(result){
console.log(‘2’);
return event;
});
}
});
})();