プロセス管理について

 いつもお世話になっております。

今ステータスの 未処理 から 処理中 に流れるフローのなかで、

①日付 ②数値 ④チェックボックス ⑤ドロップダウン

の項目が記入してないと出来ないようにしたいですが、どう表現すればうまく出来るのかわからなくて、投稿させていただきました。

③文字列、⑥ユーザー選択の場合は以下で出来そうなのです。

kintone.events.on([“app.record.detail.process.proceed”], function(event){
var nStatus = event.nextStatus.value;
switch(nStatus){
case “処理中”:
if(event.record.ユーザー選択.value.length === 0){
event.error = “ユーザーを選択してから実行ボタンを押してください!”;
}
else if(event.record.文字列.value === “”){
event.error = “文字列を入力してから実行ボタンを押してください!”;
}
return event;
});

})();

基本知識がなくて、とても焦っております。(サンプルソースなど)助けていただけると幸いです。どうそよろしくご指導のほどお願い致します。

goroさん

ご質問いただきありがとうございます。
プロセス管理のアクション操作でのエラー制御について、こちらの記述をぜひ試してみてください。
ポイントは以下です。

  • レコード表示時は、「event.フィールドコード.error = “エラー内容”」が使えないので、「window.alert」を使う

  • フィールドの値ありなし判定後にwindow.alertを入れると、値がないフィールドがあるごとにエラーメッセージがポップアップするので、
    エラー判定結果は配列に入れておいて、最後にまとめて「window.alert(errorArray)」のようにする

  • 最後はプロセス管理の更新が実行されないようにretuen errorを返す

    (function() {
    “use strict”;
    kintone.events.on([“app.record.detail.process.proceed”], function(event){
    var nStatus = event.nextStatus.value;
    var errorArray = [];
    switch(nStatus){
    case “処理中”:
    if(event.record.ユーザー選択.value.length === 0){
    errorArray.push(‘ユーザー選択’);
    }
    if(!event.record.文字列.value){
    errorArray.push(‘文字列’);
    }
    if (!event.record.日付.value) {
    errorArray.push(‘日付’);
    }
    if (!event.record.数値.value) {
    errorArray.push(‘数値’);
    }
    if (!event.record.チェックボックス.value) {
    errorArray.push(‘チェックボックス’);
    }
    if (!event.record.ドロップダウン.value) {
    errorArray.push(‘ドロップダウン’);
    }
    break;
    }
    if (errorArray.length === 0) {
    return event;
    } else if (errorArray.length > 0) {
    window.alert(errorArray + “を入力してから実行ボタンを押してください!”)
    return error;
    }
    });
    })();

cybozu Development team 御中

いつもお世話になっております。

とても変わりやすく説明していただき、本当にありがとうございました。

大変勉強になりました。

goroさん

良かったです!正常動作しましたでしょうか?
また何かあればご質問ください。