プロセス管理実行時のアクション時にフィールドをクリアする

現在見積書のアプリを作成しており、プロセス管理を使用しております。

特定のステータス時に自動入力され、別のステータス時に入力されている特定のフィールドの値をクリア(空白)したいのですが、どのように実装すればよいでしょうか。

具体的には、ステータスが[承認]になったときに、「承認者」のフィールドにプロセス管理で承認した人の名前が入力され、ステータスが[再調整]になったときには、「承認者」フィールドの値をクリアしたいです。

承認者のフィールド登録は下記の通りで実装できました。

あとは特定のステータス実行時に空白にできればと思います。

分かる方がいらっしゃいましたらご教示ください。

よろしくお願いします。


(function () {
“use strict”;

// レコード登録/編集画面の表示時
var eventsCreateShow = [‘app.record.create.show’, ‘app.record.index.create.show’,
‘app.record.edit.show’, ‘app.record.index.edit.show’];
kintone.events.on(eventsCreateShow, function(event){
var record = event.record;

// 編集不可フィールドの設定
record[‘承認者’][‘disabled’] = true;

return event;
});

// プロセス管理アクション実行時
kintone.events.on([“app.record.detail.process.proceed”], function(event){
var record = event.record;
var nStatus = event.nextStatus.value;

// ステータスが「承認」の場合、承認者を設定する
switch(nStatus){
case “承認”:
var user = kintone.getLoginUser();
record[‘承認者’][‘value’][0] = {code : user.code};
break;
}
return event;
});

})();

 

 


ステータスが「再調整」の時にrecord[‘承認者’][‘value’] = [];となるように、case文を足して頂ければ良いと思います。

早急なコメントありがとうございます。

問題なく実装できました。

1点追加で質問させていただきたいとのですが、レコードコピー(再利用)時においても承認者の欄を空白にしたいのですが

記述の方法お分かりになりますでしょうか。

別に下記のようなスクリプトで実装し問題なくできました。

お騒がせしました

 

(function () {

“use strict”;
kintone.events.on(‘app.record.create.show’, function(event){

if (event.reuse) {

var record = event.record;

record[‘承認者’][‘value’] = [];
}

return event;
});
})();