単独なら動くカスタマイズ

お世話になっております。表題の件に関して質問させて下さい。

下記のカスタマイズを有効にすると、アクション(プロセス管理の実行)ができなくなってしまいます。
エラーも出ず、実行をクリックしても何の音沙汰もなしという感じです。

それだけなら文法エラーを探すのですが、これ以外のカスタマイズを全てコメントアウトすると問題なく実行ができ、かつ想定通りの動きをします。

内容としては、ワークフローが「差戻し」や「取りやめ」となった場合に
特定のチェックボックスのチェックを外すというものです。

現状わかっていることは以下です。
① 保存後に画面をリロードしても、変わらずプロセス管理を実行できない。
② これ以外のカスタマイズを全てコメントアウトし、単独なら問題なく実行できる。

/*(function() {
    “use strict”;
    // ステータス推移
    var events16 = [‘app.record.detail.process.proceed’];
    kintone.events.on(events16, function(event) {
        
        // レコードを取得
        var record16 = event[‘record’];
        // 現在のステータスを取得
        var status16 = record16[“ステータス”][“value”];
        
        // 稟議が起案まで戻った場合、もしくは否決、廃止となった場合
        if(status16 == “起案” || status16 == “起案(差戻し)” || status16 == “否決” || status16 == “廃止”){ 
            // 購買再交渉チェックボックスの値(配列)にブランクを代入
            var cb_array = [];
            record16[‘チェックボックス_価格交渉’][‘value’] = cb_array;    
        }  

邪魔しあっているカスタマイズがあるならそれを特定するか、そもそもこちらの書き方に問題があるのか何から手を付けるか迷っています。
アドバイスいただければ幸いです。

 

イベント処理の終了部分が記載されていませんが、現象からすると return false; している可能性があります。

プロセス管理のアクションイベント

・false を return した場合アクションがキャンセルされます。

ご返答ありがとうございます。
途中で切れていました。失礼いたしました。

(function() {
    “use strict”;
    // ステータス推移
    var events16 = [‘app.record.detail.process.proceed’];
    kintone.events.on(events16, function(event) {
        
        // レコードを取得
        var record16 = event[‘record’];
        // 現在のステータスを取得
        var status16 = record16[“ステータス”][“value”];
        
        // 稟議が起案まで戻った場合、もしくは否決、廃止となった場合
        if(status16 == “起案” || status16 == “起案(差戻し)” || status16 == “否決” || status16 == “廃止”){ 
            // 購買再交渉チェックボックスの値(配列)にブランクを代入
            var cb_array = [];
            record16[‘チェックボックス_価格交渉’][‘value’] = cb_array;    
        }  

            return event; 
   });
})();

ここでは、return event; しているので、原因は、他にあるような気がします。

・eventオブジェクトをreturnすることでレコード情報を更新できます。

‘app.record.detail.process.proceed’ イベント処理は、他にありますか?

 

 

>ただ、自分として少し気になるのは ‘app.record.create.submit’ や ‘app.record.edit.submit’ を他で使っていることです。
近いイベント同士でなにか競合する?といった事もあるのでしょうか。同じ項目を見にいっているとか。。。

イベントが異なれば、関係ないです。

現状は、下記ということですね。

>‘app.record.detail.process.proceed’ を使っているのはここだけです。
>① 保存後に画面をリロードしても、変わらずプロセス管理を実行できない。
② これ以外のカスタマイズを全てコメントアウトし、単独なら問題なく実行できる。

上記からすると、単純に何らかのエラーか ‘app.record.detail.process.proceed’ イベント処理が実行されていない原因が、「これ以外のカスタマイズ」部分にあると思われます。

「これ以外のカスタマイズ」を含めたソースで、ブラウザーの開発ツールを使ってステップ実行してみてください。

'app.record.detail.process.proceed’イベント処理が実行されているのか、実行されていないのか確認しましょう。

 

なお、「② これ以外のカスタマイズを全てコメントアウトし、単独なら問題なく実行できる。」であれば、とりあえずソースを分けて登録すれば、実行はできるようになる気がします。

 

 

 

 

返信が遅くなりすみません。

 

‘app.record.detail.process.proceed’ を使っているのはここだけです。

また確認しましたが return event; は全てのカスタマイズで使用しています。

他のイベントをコメントアウトすると動くので、直近のイベントが邪魔するようなこともあるかと思いましたが

 ‘app.record.detail.show’ は使っていません。
 ‘app.record.create.submit’ や ‘app.record.edit.submit’ は使っていますが、直前に保存するしないに関わらず動きません。