下記のソースを作成しました。
(function (){
‘use strict’;
kintone.events.on([‘app.record.edit.submit.success’,‘app.record.index.edit.submit.success’], function(event) {
//alert(“採用者ルックアップ先更新”)
var record = event.record;
var Id = record.採用者名.value;
var tagetappID = 154; //受注データ
var params = {
‘app’: tagetappID,
‘query’: ‘採用者名 in "’ + Id + ‘"’
}
//上記の情報をもとにサブアプリに対いてGETリクエストを送信
kintone.api(‘/k/v1/records’, ‘GET’, params).then(function(resp) {
var subRecords = resp.records
var body = {
‘app’: tagetappID,
‘records’: [
]
};
for (var i = 0; i < subRecords.length; i++){
var putRecord = {
‘id’: subRecords[i].レコード番号.value,
‘record’: {
‘採用者名’: {
‘value’: record.採用者名.value
},
‘役職’: {
‘value’: record.役職.value
},
‘採用者住所1’: {
‘value’: record.住所1.value
},
‘採用者住所2’: {
‘value’: record.住所2.value
},
‘TEL’: {
‘value’: record.TEL.value
},
‘郵便番号’: {
‘value’: record.郵便番号.value
}
}
}
body.records.push(putRecord);
}
console.log(body);
return kintone.api(‘/k/v1/records’, ‘PUT’, body)
}).then(function(resp) { //callback
console.log(resp);
return event;
}).catch(function(err) {
console.log(err);
return event;
});
});
})();
ルックアップ元のテキストフィールドを更新した場合にルックアップ先のテーブルを自動更新したいのですが、クエリ指定がうまくいかず、処理がうまくいきません。
分かる方がいらっしゃいましたらご指導のほどよろしくお願いします。
コンソール上にはどういったエラーが出力されていますか?
'query': '採用者名 in "' + Id + '"'
を、
'query': '採用者名 in ("' + Id + '")'
にすると、エラーは変わりますか?
PVさん。ご回答ありがとうございます。
query を ‘query’: ‘採用者名 in ("’ + Id + ‘")’ のようにした結果エラーが出なくなりました。
また、リクエストボディの構造もテーブルだと少し違ったので修正し、無事動くようになりました。
ありがとうございます。
ちなみに、なぜ括弧を付けたら動作する理由がよくわかっていないのですが教えていただけますと幸いです。
よろしくお願いいたします。
下記に修正後のソースを載せておきます。
(function (){
‘use strict’;
kintone.events.on([‘app.record.edit.submit.success’,‘app.record.index.edit.submit.success’], function(event) {
//alert(“採用者ルックアップ先更新”)
var record = event.record;
var Id = record.採用者名.value;
var tagetappID = 154; //受注データ
var params = {
‘app’: tagetappID,
‘query’: ‘採用者名 in ("’ + Id + ‘")’
}
//上記の情報をもとにサブアプリに対いてGETリクエストを送信
kintone.api(‘/k/v1/records’, ‘GET’, params).then(function(resp) {
var subRecords = resp.records
var body = {
‘app’: tagetappID,
‘records’: [
]
};
for (var i = 0; i < subRecords.length; i++){
var putRecord = {
‘id’: subRecords[i].レコード番号.value,
‘record’: {
‘採用者テーブル’: {
‘value’: [
{
‘value’: {
‘採用者名’: {
‘value’: record.採用者名.value
},
‘役職’: {
‘value’: record.役職.value
},
‘採用者住所1’: {
‘value’: record.住所1.value
},
‘採用者住所2’: {
‘value’: record.住所2.value
},
‘TEL’: {
‘value’: record.TEL.value
},
‘郵便番号’: {
‘value’: record.郵便番号.value
}
}
}
]
}
}
}
body.records.push(putRecord);
}
console.log(body);
return kintone.api(‘/k/v1/records’, ‘PUT’, body)
}).then(function(resp) { //callback
console.log(resp);
return event;
}).catch(function(err) {
console.log(err);
return event;
});
});
})();