初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2020-11-19 00:58:22

kyuki73
ゲストユーザー

[解決] タイムカードの計算で、休憩時間の考え方について

いつもお世話になっております。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という値が出てくるようになっています。
ここから「休憩時間」を引き算したいのですが
「休憩時間」のフィールドにどのような式が考えられるでしょうか。

難しめの簡略した式より、理解しながら置き換えてみたいので
シンプルで長くなってもかまわないので教えていただきたいです。
どうぞよろしくおねがいいたします。

#2 2020-11-19 04:00:50

さん さん
ゲストユーザー

Re: [解決] タイムカードの計算で、休憩時間の考え方について

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 )

#3 2020-11-19 04:11:56

Hiro
メンバー

Re: [解決] タイムカードの計算で、休憩時間の考え方について


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
)

オフライン

#4 2020-11-19 09:28:27

himadanee
ゲストユーザー

Re: [解決] タイムカードの計算で、休憩時間の考え方について

「勤務時間」の計算ですから、「会社が開いている時間」でなく「社員が働いた時間」を元に計算しないとまずいのでは?
「Bさん朝11時出社~15時退社=50分の休憩」4時間勤務だと休憩させる義務はないので、実際に休憩してないのに50分を無給にしたらだめでしょう。
出社が12:00だったら50分休憩=無給になって、12:01だったら休憩なし、というのも変ですよね?(1分遅刻したら50分分お得?)

「絶対的な休憩時間ゾーンで出勤していれば休憩をするというシステム」
労働基準法では、ゾーンではなく「休憩時間は、一斉に与えなければならない(労使交渉による例外あり)」なので、それに沿うならゾーンではなく12:00~12:50を休憩とする、とかでいいのでは。

#5 2020-11-19 09:51:58

kyuki73
ゲストユーザー

Re: [解決] タイムカードの計算で、休憩時間の考え方について

さんさん様
Hiro様
ありがとうございます。
思った通りの結果になりました。
早速のお返事ありがとうございます。
大変助かりました。
ありがとうございました。

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer