プロセス管理のステータス更新時に自動採番したい

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

掲題の件、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;
       
    });
})();

 

 

緑茶マニアさん

さっそく、ありがとうございます!

試してみます。