ユーザースクリプト使用例 ≫ トップ
仕様 同じ人と同じ勤務での2連続禁止
仕様
下図では、赤枠の部分が、2連続勤務にて同じ人と被(かぶ)っている。
このような 「
同じ人と
同じ勤務で、
2日以上連続して勤務する状態」 を避けるようなスクリプトを作成する。
使用関数
シフト表の作成結果
スクリプトを組み込んでシフト表を作成すると、
2連続以上の勤務で、
同じ人と被ることがなくなった。
ユーザースクリプト - VBScript
function JudgeKinmu()'勤務可能判定
'--- スクリプト開始 ---
if 勤務ID(勤務番号())<>0 then
if 勤務番号()=前日勤務(1) then
if 勤務番号()=前日勤務(1,勤務ID(勤務番号())) then JudgeKinmu = -1
elseif 勤務番号()=翌日勤務(1) then
if 勤務番号()=翌日勤務(1,勤務ID(勤務番号())) then JudgeKinmu = -1
end if
end if
'--- スクリプト終わり --
end function
スクリプトの意味
まず、現在割り当てようとしている勤務(
勤務番号())と同じ勤務が既に割り当てられている人(
①)を探す。
勤務ID(
勤務番号()) -- 同じ勤務の人のIDが返される
居た場合に、禁止する条件を記述 -
if 勤務ID(勤務番号())<>0 then
割り当てようとしている勤務が前日勤務と同じ場合 -
if 勤務番号()=前日勤務(1) then
①の人も前日勤務と同じ場合は割り当て不可とする
割り当てようとしている勤務が翌日勤務と同じ場合 -
elseif 勤務番号()=翌日勤務(1) then
①の人も翌日勤務と同じ場合は割り当て不可とする