いつもお世話になっております。
今ステータスの 未処理 から 処理中 に流れるフローのなかで、
①日付 ②数値 ④チェックボックス ⑤ドロップダウン
の項目が記入してないと出来ないようにしたいですが、どう表現すればうまく出来るのかわからなくて、投稿させていただきました。
③文字列、⑥ユーザー選択の場合は以下で出来そうなのです。
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;
});
})();
基本知識がなくて、とても焦っております。(サンプルソースなど)助けていただけると幸いです。どうそよろしくご指導のほどお願い致します。
Legacy_Account631
(cybozu developer network team(Legacy Account))
2
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 御中
いつもお世話になっております。
とても変わりやすく説明していただき、本当にありがとうございました。
大変勉強になりました。
Legacy_Account631
(cybozu developer network team(Legacy Account))
4
goroさん
良かったです!正常動作しましたでしょうか?
また何かあればご質問ください。