ルックアップ先自動更新について

お世話になります。

 

現在、マスターアプリとして従業員マスター、顧客先マスターがあり、

従業員マスターは新社員番号、顧客リストマスターは顧客IDをキーとして

アプリID 177 の 単価等詳細アプリでルックアップ取得しております。

「第11回 REST APIを利用したレコード更新」

を例に設定を行いまして、

従業員マスターからの自動更新は成功したのですが、

顧客先マスターからは成功いたしません。

原因がお分かりになりましたら、どなたかお教え願えますでしょうか?

宜しくお願い致します。

 

/*
* ルックアップ更新のサンプルプログラム
* Copyright (c) 2019 Cybozu
*
* Licensed under the MIT License
*/
(function() {
‘use strict’;

// 単価単価等詳細アプリのアプリID
var updateAppId = 177;

/**
* kintone REST APIで一括更新するrecordsデータを作成する関数
* @param records kintone REST APIで一括取得したrecordsデータ
* @returns {Array} kintone REST APIで一括更新するrecordsデータ
*/
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: {
lookup: {
value: record.lookup.value
}
}
};
}
return putRecords;
}

// 保存成功後イベント
kintone.events.on([‘app.record.edit.submit.success’, ‘app.record.index.edit.submit.success’], function(event) {

// レコードの一括取得(100件まで)
var paramGet = {
‘app’: updateAppId,
‘query’: ‘lookup2 = ‘+ event.record[‘顧客ID’].value+“”
};
return kintone.api(kintone.api.url(’/k/v1/records’, true), ‘GET’, paramGet).then(function(resp) {

// ルックアップの更新
var records = resp.records;
var paramPut = {
‘app’: updateAppId,
‘records’: createPutRecords(records)
};
return kintone.api(kintone.api.url(‘/k/v1/records’, true), ‘PUT’, paramPut);

}).then(function(resp2) {

// 処理成功
alert(‘ルックアップの更新が完了しました!’);
return event;

}).catch(function(error) {

// エラー表示をする
alert(‘ルックアップの更新でエラーが発生しました。’ + error.message);
return event;

});
});
})();

 

顧客リストマスター

 

ルックアップ先の単価等詳細アプリ

エラー内容

エラーが「入力内容が正しくありません。」となっていますので、実際のリクエスト内容を確認しましょう。

kintoneカスタマイズの基本的なデバッグの流れを身につけよう を参考にして、デバッグを行い REST API に渡している内容を確認してみてください。

また、chrome のデバッグツールで「Network」タブを開いて、REST API を実行するとリクエスト内容と応答内容を確認できます。

ありがとうございます!

クエリを読んでいなかったりなんなりで

ようやく動きました。