みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。Win10FM19Proを使用しています。
現在タイムカードを作っていますが、
休憩時間がものすごく変わっています。
絶対的な休憩時間ゾーンで出勤していれば休憩をするというシステムになってます。
会社が開いている時間は朝9時から18時までです。
残業ゼロです。休憩は何時間以上で何分、とかではなく、
1日に3回あって
①10:00-10:59 にいる人は 5分マイナス
②12:00 -12:59 にいる人は50分マイナス
③15:00 -15:59 にいる人は5分マイナス
という休憩になります。
例:
Aさん朝9時出社~15時退社=55分の休憩
Bさん朝11時出社~15時退社=50分の休憩
Cさん昼13時出社~16時退社=5分の休憩
Dさん朝9時出社~18時退社=60分の休憩
のようなパターンで休憩を計算しなくてはいけないのですが、
現在、
「勤務時間」を「退勤時間 - 出勤時間を /3600」という式で求めており
6時間30分の場合は6.5という値が出てくるようになっています。
ここから「休憩時間」を引き算したいのですが
「休憩時間」のフィールドにどのような式が考えられるでしょうか。
難しめの簡略した式より、理解しながら置き換えてみたいので
シンプルで長くなってもかまわないので教えていただきたいです。
どうぞよろしくおねがいいたします。
Case ( not ( 退勤時間 <= Time ( 10 ; 0 ; 0 ) or Time ( 11 ; 0 ; 0 ) <= 出勤時間 ) ; 5 ; 0 ) +
Case ( not ( 退勤時間 <= Time ( 12 ; 0 ; 0 ) or Time ( 13 ; 0 ; 0 ) <= 出勤時間 ) ; 50 ; 0 ) +
Case ( not ( 退勤時間 <= Time ( 15 ; 0 ; 0 ) or Time ( 16 ; 0 ; 0 ) <= 出勤時間 ) ; 5 ; 0 )
Let(
[
#休憩時間 =
Case(出勤時間<=Time(10;0;0) and 退勤時間>=Time(10;59;0); Time(0;5;0))
+
Case(出勤時間<=Time(12;0;0) and 退勤時間>=Time(12;59;0); Time(0;50;0))
+
Case(出勤時間<=Time(15;0;0) and 退勤時間>=Time(15;59;0); Time(0;5;0))
];
(退勤時間 - 出勤時間 - #休憩時間) / 3600
)
Offline
「勤務時間」の計算ですから、「会社が開いている時間」でなく「社員が働いた時間」を元に計算しないとまずいのでは?
「Bさん朝11時出社~15時退社=50分の休憩」4時間勤務だと休憩させる義務はないので、実際に休憩してないのに50分を無給にしたらだめでしょう。
出社が12:00だったら50分休憩=無給になって、12:01だったら休憩なし、というのも変ですよね?(1分遅刻したら50分分お得?)
「絶対的な休憩時間ゾーンで出勤していれば休憩をするというシステム」
労働基準法では、ゾーンではなく「休憩時間は、一斉に与えなければならない(労使交渉による例外あり)」なので、それに沿うならゾーンではなく12:00~12:50を休憩とする、とかでいいのでは。
さんさん様
Hiro様
ありがとうございます。
思った通りの結果になりました。
早速のお返事ありがとうございます。
大変助かりました。
ありがとうございました。
Pages: 1
[ Generated in 0.007 seconds, 12 queries executed - Memory usage: 509.61 KiB (Peak: 514.15 KiB) ]