ユーザースクリプト使用例 ≫ トップ

仕様 3週連続の同一曜日/同一勤務を禁止する

サンプルコードのダウンロード  サンプルの使い方

同じ曜日で3週続けて同じ勤務は不可

シフト表の作成結果

右端の(選択されている)表は検算用
最初の3週間を調べて、第1週=第2週、かつ、第2週=第3週 の場合「1」を表示するようにしている(合致しない場合は「0」)
(ここでは第4週の検算は省略)
仕様に沿ったシフト表が完成


ユーザースクリプト - VBScript

最適化/日数自動調整があるため、3週間の期間内で間隔7日間の勤務を調査する。
割り当てようとしている勤務は、3週間の第一週、第二週、第三週の3パターンあるので、下記のように3つの式が必要
function JudgeKinmu()'勤務可能判定

'--- スクリプト開始  ---

' 3週連続同一勤務禁止

	if ((勤務番号()=前日勤務(7)) and (勤務番号()=前日勤務(14)) ) then JudgeKinmu=-1
	if ((勤務番号()=前日勤務(7)) and (勤務番号()=翌日勤務(7) ) ) then JudgeKinmu=-1
	if ((勤務番号()=翌日勤務(7)) and (勤務番号()=翌日勤務(14)) ) then JudgeKinmu=-1

'--- スクリプト終わり --

end function

勤務種別表

連続勤務が発生しやすいように、種別数は2個にしている

要員設定-VBScript:週間勤務日数の指定

VBScriptで記述。