いつも大変お世話になっております。
掲題の件、kintoneにて
レコード登録時ではなく、プロセス管理の機能でステータスを更新した
レコードにだけ、自動的に番号を振っていくことは可能でしょうか。
ご助言いただけると幸いです。
よろしくお願いいたします。
いつも大変お世話になっております。
掲題の件、kintoneにて
レコード登録時ではなく、プロセス管理の機能でステータスを更新した
レコードにだけ、自動的に番号を振っていくことは可能でしょうか。
ご助言いただけると幸いです。
よろしくお願いいたします。
稲葉 康弘さん
プロセス管理のアクションイベント(app.record.detail.process.proceed)の
変更後のステータス (nextStatus)を使えばできるかと思います。
自動採番のロジックは、JSで作ることになるかと。こちら
こんな感じで。
==========================================================
(function() {
“use strict”;
function autoNum(event) {
var record = event.record;
// 変更後のステータスを取得する
var nStatus = event.nextStatus.value;
if (nStatus === “承認済”){
// クエリ文の設定
var query = {
“app”: kintone.app.getId(),
“query”: ‘自動採番 != “”’ + ’ order by 自動採番 desc limit 1’
};
// 最新の自動採番番号を取得する
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(3), 10) + 1;
autono = ‘00000’ + autono;
autono = ‘JS-’ + autono.substring(autono.length - 5);
event.record[‘自動採番’].value = autono;
// 対象レコードがなかった場合
} else {
event.record[‘自動採番’].value = ‘JS-00001’;
}
return event;
}).catch(function(e) {
alert("レコードの取得でエラーが発生しました - error: " + e.message);
return false;
});
}
}
kintone.events.on(“app.record.detail.process.proceed”,autoNum);
kintone.events.on([‘app.record.edit.show’,
‘app.record.index.edit.show’,
‘app.record.create.show’], function(event) {
var record = event.record;
//フィールドを非活性にする
record[‘自動採番’].disabled = true;
return event;
});
})();
緑茶マニアさん
さっそく、ありがとうございます!
試してみます。