みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
超初心者です。
深夜時間計算で困っています。
出社、退社、休憩等の時間は30分単位にしてあります。(これはなんとかできました)
退社時間は深夜2:00だったら26:00と入力しています。
深夜時間の計算で
Let(
[
#出社時刻=開始時間+Time((開始時間<Time(5;0;0))*24;0;0);
#退社時刻=終了時間+Time((#出社時刻>終了時間)*24;0;0);
#深夜始点=Time(22;0;0);
#深夜終点=Time(5+24;0;0);
#is深夜=(#出社時刻<#深夜終点) and (#退社時刻>#深夜始点);
#深夜休息=GetAsTime(休憩*60*60)-Max(0; #深夜始点-#出社時刻);
#深夜勤務=Case(#is深夜; Min(#退社時刻;#深夜終点) - Max(#出社時刻;#深夜始点) - #深夜休息)
];
(Div(#深夜勤務;15*60)*15*60) / (60*60)
))
といれました。(ネット検索ででてきたものをはりつけ)
例えば19:00から30:00で休憩1:00の場合 深夜が0になってしまいます
休憩は深夜時間から優先で引く
時間は99:99の表示
にしたいのですが、どのように修正したらいいのでしょうか?
初心者のため説明が不明瞭ですがよろしくお願いします。
>出社、退社、休憩等の時間は30分単位にしてあります
算出される労働時間が切り上げになるならいいのかもしれません(?)けど、切り捨てると労働基準法違反でしょう。
時間単位での給与が発生するわけではありません。
あくまで時間の管理なのですが、労働基準違反とのことなのでそこの部分は修正したいと思います。
#is深夜=(#出社時刻<#深夜終点) and (#退社時刻>#深夜始点);
のロジックの意味がよくわかりませんが、意図している動きに正しく返していますか。
休憩時間は、労働時間が6時間を超えて8時間以内は45分以上、8時間を超える場合は60分以上必要と労働基準法で決められていますが、8時間労働をおこなう場合、8時間の間に60分の休憩を挟むことが必要です。つまり、8時間連続で労働したあとに60分の休憩時間を与える、もしくは労働前に60分の休憩を与えてから8時間連続で働いてもらう、といったことは法律違反とみなされます。
これを解釈すると、14時から24時まで勤務したとして、休憩時間を22時からとらせることは違法とみなされますので、深夜労働時間から引き去ることはできません。
ちなみに、この勤務で、22時以降に休憩を取らせる必要はありません。(時間外勤務にあたり、時間外勤務での休憩は規定がない)
これを考えるとさらに複雑になります。
Last edited by Shin (2022-11-07 13:57:34)
Offline
休憩も労働と同じく、時間でなく開始終了時刻を記録する必要があるってことですね。
19時から30時ですと、内部変数は
#出社時刻 19:00:00
#退社時刻 30:00:00
#深夜始点 22:00:00
#深夜終点 29:00:00
#is深夜 1
#深夜勤務 -2:00:00
#深夜休息 9:00:00
(Div(#深夜勤務;15*60)*15*60) / (60*60) 9
となるようですが、なんか変じゃないですか。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 554.15 KiB (Peak: 582.16 KiB) ]