経費精算の申請アプリにて、新規レコード保存ボタン押下に連動してプロセスを「申請」にしたいです
申請時に経理担当者へ通知を出すためにはプロセスの始点は「未処理(入力者=作業者もしくは作業者なし)」でなければいけないかと思いますが、レコード保存 →「申請」のフローを省略する仕組みは構築可能でしょうか
JavaScriptなど、プログラム知識に乏しい為、是非ともご教授を頂きたいです
宜しくお願い致します
経費精算の申請アプリにて、新規レコード保存ボタン押下に連動してプロセスを「申請」にしたいです
申請時に経理担当者へ通知を出すためにはプロセスの始点は「未処理(入力者=作業者もしくは作業者なし)」でなければいけないかと思いますが、レコード保存 →「申請」のフローを省略する仕組みは構築可能でしょうか
JavaScriptなど、プログラム知識に乏しい為、是非ともご教授を頂きたいです
宜しくお願い致します
素人なりに下記のJavaScriptを書いてみましたが動作しませんでした
問題点お分かりになる方見えましたらアドバイスをお願い致します
() => {
‘use strict’;
// レコード追加画面の保存成功後イベント
kintone.events.on(‘app.record.create.submit.success’, (event) => {
const record = event.record;
const Status = event.Status.value;
const Data = event.record[‘購入方法’].value;
switch (Data) {
case '現金(個人)':
// 指定したフィールドに文字列を設定
Status = '処理中';
return event;
case 'クレジットカード(個人)':
// 指定したフィールドに文字列を設定
Status = '処理中';
return event;
case ‘クレジットカード(会社)’:
// 指定したフィールドに文字列を設定
Status = ‘完了’;
return event;case ‘現金(会社)’:
// 指定したフィールドに文字列を設定
Status = ‘完了’;
return event;
default:
// 他のステータスのデフォルト処理
break;
});
});
})();
@chubiz_rf
プロセス管理のステータス更新は実行アクションしないと更新できないと思います。
別の方法としてアプリにステータス用のドロップダウンフィールドを用意し、新規レコード保存成功時にRest Apiを使用してフィールド値更新する処理ではいかがでしょうか。
以下サンプルコードです。
(function() {
‘use strict’;
kintone.events.on([‘app.record.create.show’,‘app.record.edit.show’], function(event) {
// 編集不可設定
event.record.status.disabled = true;
return event;
});
kintone.events.on(‘app.record.create.submit.success’, function(event) {
const {record} = event;
const Data = record.購入方法.value;
let nxtStatus;
switch (Data) {
case '現金(個人)':
// 指定したフィールドに文字列を設定
nxtStatus = '処理中';
break;
case 'クレジットカード(個人)':
// 指定したフィールドに文字列を設定
nxtStatus = '処理中';
break;
case 'クレジットカード(会社)':
// 指定したフィールドに文字列を設定
nxtStatus ='完了';
break;
case '現金(会社)':
// 指定したフィールドに文字列を設定
nxtStatus = '完了';
break;
}
// パラメータ設定
const body = {
app: kintone.app.getId(),
records:[
{
id: Number(record.$id.value),
record: {
status: {
value: nxtStatus
}
}
}
]
};
// 更新処理
return kintone.api(kintone.api.url('/k/v1/records.json',true),'PUT',body).then(function(resp){
return event;
}).catch(function(e){
console.log(e.message);
alert(e.message);
});
});
})();
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。