新規投稿
フォローする

kintone.app.record.set()のエラー

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

エラーが出る原因がわからず躓いています。

コードとエラーを貼り付けますので、ご教示いただけますと幸いです。

(function() {
"use strict";
kintone.events.on(["app.record.edit.show","app.record.create.show"], function(event) {

var Button = document.createElement('button');
Button.id = 'button';
Button.innerText = '取得';
Button.onclick = async function() {

var record = kintone.app.record.get().record;
var tsubo = parseInt(record.建物面積_坪.value, 10);
var type = record.タイプ.value;
var category = record.カテゴリ.value;
var age = parseInt(record.築年数.value,10);
var query;

var body = {
"app":308,
"query": 'カテゴリ in ("' + category + '") and タイプ in("'+ type +'") ',
"fields" : ["坪単価","築年数_未満","築年数_以上","坪数_未満","坪数_以上"],
"totalCount": true
};

const resp = await kintone.api('/k/v1/records','GET', body);
console.log(resp);
var price;
if(record.タイプ.value === "築年数"){
for(var i = 0; i < resp.totalCount; i++){
if(age < parseInt(resp.records[i].築年数_未満.value, 10) && age >= parseInt(resp.records[i].築年数_以上.value, 10)){
price = resp.records[i].坪単価.value;
}
}
}else if(record.タイプ.value === "坪数"){
for(var i = 0; i < resp.totalCount; i++){
//n坪以上の上限なしの場合
if(!resp.records[i].坪数_未満.value) {
if(tsubo >= parseInt(resp.records[i].坪数_以上.value, 10)) {
price = resp.records[i].坪単価.value;
}
} else if(!resp.records[i].坪数_以上.value) {
//n坪未満の下限なしの場合
if(tsubo < parseInt(resp.records[i].坪数_未満.value, 10)) {
price = resp.records[i].坪単価.value;
}
} else if(tsubo < parseInt(resp.records[i].坪数_未満.value, 10) && tsubo >= parseInt(resp.records[i].坪数_以上.value, 10)){
price = resp.records[i].坪単価.value;
}
}
}

record.坪単価.value = price;
kintone.app.record.set(record); //ここでエラー
}
kintone.app.record.getSpaceElement('space').appendChild(Button);

});
})();

値の取得等はできているのですが、セットするところでエラーがでます。

よろしくお願いいたします。

0

2件のコメント

Avatar
江田篤史

rinoさん

お世話になっております。

kintone.app.record.set()の引数には、「kintone.app.record.get().record」ではなく「kintone.app.record.get()」で得たオブジェクトと同じ構造(階層?)のものを使う必要があるかと思います。
https://developer.cybozu.io/hc/ja/articles/201942014#step4

1
Avatar
rino

江田様

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

迅速な回答をいただけて大変助かりました。

早速手元で同じ構造になるように変更したところ、エラーも消えて思った通りの動作をしました。

心より感謝申し上げます。

参考のリンクまでありがとうございます。

熟読いたします。

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

1
サインインしてコメントを残してください。