レコード追加が成功した時に、次の2つの処理を行ったあとにリロードされるようにしたいのですが、うまくいきません。初歩的な質問で恐縮ですが、アドバイスいただけますと幸いです。
→ 更新は1,2ともに行なわれるのですが、OK1→NG2→catchになります。
-
レコード番号を取得して1フィールド更新
-
プロセスアクションを実行してステータス更新
//レコード追加が正常終了した時
kintone.events.on(‘app.record.create.submit.success’, function(event) {
発注番号セット(event);
});
~~~~~~~~~
//発注番号を採番してセットする
function 発注番号セット(event) {
var wHNo = event.recordId;
//レコード番号の下6桁を数値に
var wHText = “000000” + wHNo;
wHNo = parseInt(wHText.slice(-6),10);
if (wHNo < 500000) {
wHNo = wHNo + 400000;
} else {
wHNo = wHNo - 100000;
}
wHText = String(wHNo);
var wMessage = ‘’;
var params1 = {
“app”: event.appId,
“id”: event.recordId,
“record”: {
“発注番号”: {
“value”: wHText
}
}
};
var params2 = {
“app”: event.appId,
“id”: event.recordId,
“action”: “発注書作成対象にする”
};
//kintone.Promise対応版
new kintone.Promise(function(resolve, reject) {
kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘PUT’, params1, function(resp) {
alert(“OK1”);
//OK1
kintone.api(kintone.api.url(‘/k/v1/record/status’, true), ‘PUT’, params2, function(resp) {
alert(“OK2”);
//OK2
resolve(resp); //resolveでthenへ
}, function(resp) {
alert(“NG2”);
//NG2
wMessage = ‘【発注管理】[発注書作成対象にする]アクションに失敗しました。’;
reject(resp); //rejectでcatchへ
});
}, function(resp) {
alert(“NG1”);
//NG1
wMessage = ‘【発注管理】レコード更新に失敗しました。’;
reject(resp); //catchへ
});
//成功
}).then(function(resp) {
alert(“then”);
return event;
//失敗
}).catch(function(resp) {
alert(“catch”);
システムエラー表示(resp, event.appId, event.recordId, wMessage);
return event;
});
}