お世話になります。
最近カスタマイズができるようになったばかりで、
至らない部分があれば申し訳ありません。
フォームに承認者と口頭承認のチェックボックスを設置し、
口頭承認のチェックが入っていたら、「申請する」の次のプロセスである
「システム登録」に飛ばしたいと考えています。
さらに、保存時に下記の通りに自動でプロセス実行を行いたいです。
・口頭承認に未チェックの場合=「申請する」にステータスを自動更新。
・口頭承認にチェックが入っている場合=「システム登録」にステータスを自動更新。
① ステータスの自動更新
(() => {
'use strict';
// レコード追加画面の保存成功後イベント
kintone.events.on('app.record.create.submit.success', (event) => {
const record = event.record;
const appId = event.appId;
const recordId = event.recordId;
const authorizer = record.authorizer.value[0].code;
// レコードのステータス更新API
const body = {
'app': appId,
'id': recordId,
'action': '申請する',
'assignee': authorizer,
'revision': 1
};
return kintone.api(kintone.api.url('/k/v1/record/status', true), 'PUT', body).then((resp) => {
alert('申請するボタンを実行しました');
return event;
}, (error) => {
alert(error.message);
return event;
});
});
})();
② 承認のスキップ(参考 :https://blog.intracker.net/archives/2594)
(function() {
'use strict';
//経路の値が変更されたときの処理
kintone.events.on([
'app.record.create.change.Decision',
'app.record.edit.change.Decision'
], function(event) {
var record = event.record;
var changes = event.changes;
//console.dir(record);
record['口頭承認'].disabled = false;
//承認者が必要かをチェック
if(record['authorizer']['value']['length'] >= 1 ) {
console.log('口頭承認なし');
record['口頭承認'].value = [];
}else{
console.log('口頭承認あり');
record['口頭承認'].value = ['口頭で承認済み'];
}
record['口頭承認'].disabled = true;
return event;
});
})();
こちらを組み合わせて利用しようと試行錯誤しており、
煮詰まってしまったので一からやり直しております。
今は上記の通りのものを別々のJSファイルにしてアップロードしている状態で、
②は上手く動くものの①が動きません。
おそらく①もifで条件分岐しなくてはいけないと思うのですが、
参考になりそうなページや、記述方法をご教示いただけると幸いです。
よろしくお願いいたします。