スクリプトの動作は、返却値を-1001と返すことにより、関数を
返却値に変換された後のスクリプトにて確認できます。
スクリプトは、これから勤務を
割り当てようとする前に呼ばれます。
スクリプトが負の値を返却すると、割り当てはキャンセルされ次の候補の勤務、
または次のメンバーが割り当て対象となります。
よって、スクリプトへのパ
ラメータ(メンバーID、日にち、割り当てようとする勤務)を変えることで、
スクリプトの
動作を確認することが可能です。
ここでは、
実例集の
メンバー組み合わせ必須 制限 新人とベテランの勤務関係 を例にします。
スクリプトの制限は下記
新人が「早出」の場合は、ベテランは必ず「1名」以上必要
ここで、戻り値を
-1001 としておきます。
-1001 とすることで、スクリプトから返却値がNGで返る場合に、
関数を変換後のスクリプトを表示できます。
function JudgeKinmu()'勤務可能判定
'--- スクリプト開始 ---
if (勤務人数(1,1)=0) and (勤務人数(2,3)>0) then JudgeKinmu=-1001
'--- スクリプト終わり --
end function}
「パラメータ指定」にチェックし、表示されたフォームで、
ID:
730 日にち:
2008/01/02 勤務略称:
△
を選択します。
下図、左中央の
赤丸の部分を示しています。
パラメータの初期値は、
現在選択しているセルの内容となります。
よって、シフト表で調べたいメンバーと日にちの部分
のセルを選択し、
要員設定→ユーザースクリプト→パラメータ指定を開くと、自動的にパラメータ内容が
自動表示されます。
注:
モーダルウィンドウなので、後からシフト表のセルを選択することはできません。
この状態で「構文チェック」をクリックすると、下図のように「OK」のメッセージのみ表示されます。
これは、スクリプトから「0」が返却され、「-1001」の部分は実行押されなかったことを示しています。
2008/01/02 は、ベテラン(上から3人 341,342,343)の中に、「日勤」が割り当てられているため、不可条件を満たさないためです。
次に、
ID:730 日にち:
2008/01/08 勤務略称:△
としてみます。2008/01/08 には、ベテランに「日勤」が割り当てられていません。
「構文チェック」をクリックすると、下図のようなメッセージが表氏されます。
これは、「-1001」を返却する文が実行されたことを意味します。
1
元のスクリプトは下記
if (勤務人数(1,1)=0) and (勤務人数(2,3)>0) then JudgeKinmu=-1001
これが、下記のように変換されて表示されています。
if (0=0) and (1>0) then JudgeKinmu=-1001
これは、
「
日勤」に割り当てられている「
ベテラン」の人数を返す関数(
勤務人数(1,1))から「
0」、
「
早出」に割り当てられている(割り当てようとしている)「
新人」の人数が「
1」
となる返却値が返されたことを意味します。