みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんばんは。Filemaker19にて質問させてください。
毎日の勤怠(出退勤時間)を取り、アルバイトの時給を毎日出しています。
時間給といったもので日々出しているのですが、小数点以下を切り捨てているため、毎日の時間給を集計すると
一カ月や期間で集計すると数円のズレが出ています。
そこで、勤怠テーブルでは今まで通り毎日のレコードを作成し、他に給与用として給与テーブルというものを作り
月毎や期間毎で勤怠テーブルの総勤務時間を拾い、給与テーブルの時間給で計算させるといった形にしようかと考えています。
月毎または期間毎でアルバイト一人につき1レコードを作りたいのですが、勤怠テーブルからどのようにしてレコードを作るのが適切でしょうか?
また課題として、月の途中で未確定の状態の給与レコードを作成してしまった場合、翌月にその月の確定給与でレコードを作成するとその月に一人2つのレコードが出来てしまいます。
その回避方法などはあるでしょうか?
ご回答よろしくお願いします。
人&年月のフィールドを作って、
ユニーク・常時
とすれば重複されません。
Offline
一人1日1レコードの出勤テーブルは必要でしょう。
給与は、1日毎の時間給×時間で、小数点以下切り捨てているのですか。それでしたら、その切り捨てた計算フィールドを集計すればいいです。
月ごとに給与を合計して切り捨てているのでしたら、時間を合計して計算しても同じ結果になるはずです。
Offline
皆様ご回答ありがとうございます。
チポ様
ユニークな値を計算フィールドで作るということまで理解できましたが、給与レコードを作成するのにそのユニーク値をどのように使うのかが解りませんでした。
そもそも日々の勤怠を集計したものをスクリプトで給与1レコードにする方法が解らなかったりします・・・。
Shin様
こちらは給与レコードは作らずに、現在の日々の勤怠レコードの集計に切り捨てた分の値を引っ張って足し算するといったご回答でしょうか?
初心者なもので、ご回答を見て1日考えましたが、上記のようなとこまでしか考え付かなかったです。
もう少し具体例などいただけると助かります。よろしくお願いします。
基本的には、勤怠テーブルは、1勤務1レコードにします。1日で中抜けがある可能性があれば、2レコードにしておいた方が、後の扱いは楽です。
給与テーブル、というのは、月単位とか週単位とかのレコードですよね。給与を計算する上で控除の計算をするために必要ですが、期間ごとの集計(多分年単位でしょう)は勤怠テーブルのレコードは拾わずに、給与テーブルから集計したほうがいいのでは。
切り捨ては、どこで行われていますか。1勤務単位、それとも、1日単位、それとも月で集計したものに対してですか。
Offline
日ごとのテーブルをインポートして、
月ごとのテーブルにレコードを作ります。
月ごとのテーブルのフィールド
人
年月
それと、
テキストフィールドを作り、(計算フィールドではダメです)
計算値自動入力で
人&年月
として、入力値の制限で、
常時・ユニーク
とします。
これでインポート時に、重複を排除してレコードが作られます。
Offline
Shin様
1日1勤務で1レコード作っており、中抜けなどはありません。
そのため、1日単位で切り捨てを行っています。1分単位での給与になり、小数点1以下を切り捨てているので、毎日数銭切り捨てられています。
チポ様
なるほど。自身のファイルを自身にインポートするといったことでしょうか?
集計フィールドを給与テーブルに入れるように試してみます。
勤怠テーブル側で、Int ( 時間給×時間 ) という計算フィールドを作っておき、それを合計する集計フィールドを作ります。
給与テーブルでのレコードの作り方は、職員マスターがあると思いますが、そこで、入退職のデータからその月の在籍者が抽出できます。それをインポートする、という方法もあります。そこから勤怠テーブルの集計フィールドを参照すればいいでしょう。
期間毎の集計は、その給与テーブルをさらに集計するのがいいのでは。
Offline
Shin様
ありがとうございます。
スタッフマスタがありますので、そこからレコード作れます。
自ファイルから給与テーブルにインポートすることは出来たのですが
スクリプトでインポート指定する際に、インポート元の自ファイルのパスを指定するかと思うのですが
例えばファイルを移動したり、FilemakerServerにファイルをアップロードなどでファイルの場所が変わった場合はまた再設定となるでしょうか?
それともスクリプトでインポートする際は一度csvなどでエクスポートして給与テーブルにインポートした方がいいでしょうか?
インポートなどのファイルを指定するダイアログの下に、ファイルの指定方法が書いてありますが、どちらも同じディレクトリーの中にあるならば、fileプロトコールで指定しておけばそのままでいいです。
FMS へアップロードするときには、IPアドレス付きの指定が適切です。ただ、FMS の Database フォルダーの中に子フォルダーを作って管理している場合は、別の子フォルダにあるとパスを設定しないとファイルを認識しないことがあります。
そのパスは複数を指定することができ、上から参照されているようです。
2テーブルが同じファイルの中にあるのでしたら、単純に file プロトコールでいいです。
Last edited by Shin (2022-10-05 12:28:13)
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 568.52 KiB (Peak: 585.06 KiB) ]