詳細画面でボタンを押すと、テーブル内に配置された数値の値を変更し、ルックアップを更新したいのですが、数値の変更は出来るのですがルックアップの更新ができません。
以下のコードを実行すると
PUT https://xxxx.cybozu.com/k/v1/record.json 400 (Bad Request)
のエラーが出ます。
ルックアップ:{
lookup: true
}
の記述の問題だと思うのですが、正しい記述方法が判りません。
(() => {
‘use strict’;
const events = [‘app.record.detail.show’]; //編集画面
kintone.events.on(events, async (event) => {
// 増殖バグを防ぐ
if (document.getElementById(‘menu_button’) !== null) {
return false;
}
const menuButton = document.createElement(‘button’);
menuButton.id = ‘menu_button’;
menuButton.innerText = ‘入力を反映する’;
menuButton.onclick = function() {
Swal.fire({
title: "入力した内容を反映させますか?",
text: "",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "反映する",
cancelButtonText: "反映しない",
}).then((result) => {
if (result.isConfirmed) {
// レコード更新のパラメータ設定
const body = {
app: kintone.app.getId(),
id: kintone.app.record.getId(),
record: {
テーブル:{
value:[
{
id:17344, //テーブル上のデータID
value:{
数値1:{
value: 456
},
数値2:{
value: 123
},
ルックアップ:{
lookup: true
}
}
}
]
},
},
};
// フィールドの値を更新する
return kintone.api(
kintone.api.url("/k/v1/record.json", true), "PUT", body, (resp) => {
// 更新できたらリロード
location.reload();
}
);
} else {
// 「反映しない」をクリックした処理
}
});
};
//フォーム上の'space_field'の位置にボタンを表示
menuButton.className = 'kintoneplugin-mybutton-1';
const spaceField = kintone.app.record.getSpaceElement('space_field');
spaceField.appendChild(menuButton);
return event;
});
})();
ルックアップの部分をコメントアウトし実行すると
正常に動作して数値1、数値2は変更できています。
アドバイス等よろしくお願いいたします。