テーブル内のルックアップの自動更新

いつもお世話になっております。

アプリA(ID:203)ではルックアップでアプリBの値を取得しています。

アプリBを変更後保存をしたら自動的にアプリAの値も変更するようにしたいです。

投稿を参考に組んだのですが、以下のエラーが出ます。

クエリ部分が間違っていると思うのですが、書き方が分からず困っています。

参考になる資料等あれば教えていただけますでしょうか。

そもそもテーブル内のルックアップは自動更新できないのでしょうか。

(function() {
"use strict";

var target = null;
kintone.events.on(['app.record.edit.submit', 'app.record.index.edit.submit'], function(event) {

var updateappid = 203;
var target = event.record.社内品番.value;

var manager = new KintoneRecordManager;
manager.getRecords(updateappid, target, function(records) {


updateLookup(updateappid, createPutRecords(records));
KintoneRecordManager.prototype.records = [];
KintoneRecordManager.prototype.offset = 0;

});


});

kintone.events.on('app.record.edit.submit', function(event) {


var updateappid = 203;
var target = event.record.社内品番.value;

var manager = new KintoneRecordManager;
manager.getRecords(updateappid, target, function(records) {


updateLookup(updateappid, createPutRecords(records));
KintoneRecordManager.prototype.records = [];
KintoneRecordManager.prototype.offset = 0;

});


});

var KintoneRecordManager = (function() {

function KintoneRecordManager() {
}

KintoneRecordManager.prototype.records = []; // 取得したレコード
KintoneRecordManager.prototype.limit = 2; // 一回あたりの最大取得件数
KintoneRecordManager.prototype.offset = 0; // オフセット


KintoneRecordManager.prototype.getRecords = function(updateappid, target, callback) {


kintone.api(
kintone.api.url('/k/v1/records', true),
'GET',
{
app: updateappid,
query: '品番 = "'+ target + '" ' + (' limit ' + this.limit + ' offset ' + this.offset)
},
(function(_this) {
return function(res) {


var len;
Array.prototype.push.apply(_this.records, res.records);
len = res.records.length;


_this.offset += len;

if (len < _this.limit) { // まだレコードがあるか?

if (callback !== null) {
callback(_this.records); // レコード取得後のcallback
}
}
else {
_this.getRecords(updateappid, target, callback); // 自分自身をコール
}
};
})(this)
);
};

return KintoneRecordManager;
})();


function createPutRecords(records) {
var putRecords = [];
for (var i = 0, l = records.length; i < l; i++) {
var record = records[i];
putRecords[i] = {
id: record['$id'].value,
record: {
"品名一覧" : {
value: record.品名一覧.value
}
}
};
}

return putRecords;
}

function updateLookup(updateappId, records) {
if ( records.length !== 0 ) {
kintone.api(

kintone.api.url('/k/v1/records', true),
'PUT',
{
app: updateappId,
records: records
},
function(resp) {

}

);
}
}

})();

こんにちは!

https://developer.cybozu.io/hc/ja/articles/202331474#q1

の下~の方に

テーブル化されたフィールド、関連レコードのフィールドをクエリに含める場合の注意事項
テーブル化されたフィールドおよび、関連レコードのフィールドをクエリに含める場合、「=」、「!=」演算子の代わりに「in」、「not in」演算子を使う必要があります。

とありますね!

私も勉強になりました:eyes::sparkles::sparkles:

juridon 様

コメントありがとうございます。

教えていただいた通り「in」を使ったところできました。

juridon様のおかげです。とても助かりました。

今後ともよろしくお願いいたします。