2015年4月2日木曜日

kintone@プロセス管理(ステータス変更時)のイベント

●背景
1)承認済みに変更された日付を更新したい
2)承認済みに変更できる作業者を制限したい


●APIの記載事項
・eventオブジェクトを return することでレコード情報を更新できます。
  (参考:フィールドの値を書き換える)※レコード編集権限が必要です。
・false を return した場合アクションがキャンセルされます。
・eventオブジェクトに error プロパティを設定して return した場合、
  error に設定した文字列でアラートが表示され、アクションがキャンセルされます。
・不正な値を return した場合エラーが表示されてアクションがキャンセルされます。
・何も return しない場合ステータスのみが更新されます。


●サンプルコード
// プロセス管理アクション実行時
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();
          if(user.code == "上長") {
                record['承認日']['value'] = moment().format("YYYY-MM-DDTHH:mmZ");
                record['承認者']['value'][0] = {code : user.code};
            } else {
                event.error = "上長以外は承認済みに設定できません";
            }
            break;
    }
    return event;
});

0 件のコメント:

コメントを投稿