新規投稿
フォローする

POST時のエラーが解決できません

初めて投稿させていただきます。仲と申します。

初心者でサンプルを見ながら、手探りで作成している状態です。現在異なるアプリへのPUT処理でエラーなっているようで困っています。ご教授をどうぞよろしくお願いいたします。

『処理内容』

Aアプリ(会員アプリ)Bアプリ(イベントアプリ)が有ります。

①Bアプリ(イベントアプリ)編集時に会員登録ボタンを作成

②会員登録ボタンを押下時 Aアプリ(会員アプリ)の会員番号の最終番号を取得   会員番号(西暦8桁 + -k + 3桁連番) 例)20200430-K001 

③Bアプリ(イベントアプリ)のサブテーブルの新規参加者でチェックボックスがチェックされているレコードを順次配列に保存 会員番号は②を元に発番

④③で作成した配列をAアプリ(会員アプリ)に登録(PUT)

 

 

(function () {
"use strict";
var events = ['app.record.create.show','app.record.edit.show']
kintone.events.on(events, function(event) {
return new kintone.Promise(function(resolve, reject) {
var rec1 = event.record;

var postApp = 45; //AアプリID
var subTable = 'Table_1'; //Bアプリのサブテーブル

// SPACE部分に会員DB登録ボタンを設置

var btn_1 = document.createElement('button');
btn_1.id = 'my_space_field';
btn_1.innerHTML = '会員DB登録';
kintone.app.record.getSpaceElement('my_space_field_0').appendChild(btn_1);

// 会員DB登録ボタンがお押下された時の処理 →①

btn_1.onclick = function() {
var rect = []
// 日付を取得し、2桁の年を取得する
var dt = event.record['日付'].value;
var dtw = dt.substring(0,4) + dt.substring(5,7) + dt.substring(8,10);
// クエリ文の設定
var query = {
"app": 45,
"query": '日付 = "' + dt + '" order by 会員番号自動 desc limit 1'
};
// Aアプリの会員番号の最終をGET →②
// 会員番号体系 例)20200430-K001 (西暦8桁 + -k + 3桁連番)
  
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', query).then(function(resp) {
var records = resp.records;
// 対象レコードがあった場合
if (records.length > 0) {
var rec = records[0];
var autono = rec['会員番号自動'].value;
autono = parseInt(autono.substring(10,13), 10) + 1;
autono = ('000' + autono).slice(-3);
// 対象レコードがなかった場合
} else {
autono = '000';
}

// Bアプリのサブテーブルを保存
var tableRecords = event.record.Table_1.value;
// Bアプリのサブテーブルのレングスを保存
var tbl_idx = event.record.Table_1.value.length;

// Bアプリのサブテーブルで チェックボックスがチェックされているレコードのみ
// 会員番号を発番して配列 (rect)に保存 →③

for (var i = 0; i < tbl_idx; i++) {
var Cybozu = tableRecords[i].value['チェックボックス'].value;
if (Cybozu.length === 0){}
else{
autono = autono + 1;
autono = ('000' + autono).slice(-3);
autono = dtw + '-K' + autono;
tableRecords[i].value['会員番号自動K'].value = autono;
var newRow = {
value: {
会員番号自動: {
type: tableRecords[i].value['会員番号自動K'].type,
value: autono
//value: tableRecords[i].value['会員番号自動K'].value
},
氏名: {
type: tableRecords[i].value['氏名K'].type,
value: tableRecords[i].value['氏名K'].value
},
会員種類: {
type: tableRecords[i].value['会員種類K'].type,
value: tableRecords[i].value['会員種類K'].value
}
}
}
rect.push(newRow);
}
}

// 配列 (rect)からAアプリに保存 →④

return kintone.api(kintone.api.url('/k/v1/records', true), 'POST', {
app: postApp,
records: rect.map(function(row){
return row.value;
})
}).then(function(resp){
}).catch(function(e){
window.alert('error');
});
});
};
resolve(event);
});
});
return event;
})();

0

1件のコメント

Avatar
cybozu Development team
0
サインインしてコメントを残してください。