平成19年11月26日(月):初稿 |
○平成19年11月23,24,25日の3日間かけて事務員給与計算システムの基本を作りました。新たに作ったのではなく、会計担当の筆頭事務員が作っていたファイルを整理・統合して編集しやすいように一覧表フォームを複数作っただけですが、その過程で新たな発見もいくつかありました。ソフト使用においては、自分で操作してあーでもない、こーでもないと考えることが重要です。 ○事務員へ毎月支払う給与の基本を決めるのが、給与計算書H19.TBLでその定義は以下の通りです。項目名とデータ型だけ記述しました。 年月日 日時 年 整数 月 整数 月修正 整数 事務員名 文字列 始時 文字列 終時 文字列 有給 数値 時間 数値 常勤 数値 時間外 数値 調整手当 数値 休日出勤 数値 残業手当 通貨 休日出勤手当 通貨 基本給 通貨 備考 文字列 ○当事務所の給与支払は、前月21日以降当月20日までの基本給、時間外残業手当等を加えた金額を当月25日に支払います。そのため[月]をグループ項目とした一覧表フォームにおいて、例えば11月分給料は、10月21日から11月20日までの1ヶ月間を表示しなければなりません。 ○通常[月]をグループ項目とするとその月の1~31日が一覧表フォームに表示されますので、これが11月の場合、10月21日から11月20日までの1ヶ月間を表示するために、[月修正]と言う項目をもうけてこれをグループ項目として以下の計算式を入れました。 #条件選択(#日([年月日])>20 .and #月([年月日])=12,1,#日([年月日])>20,#月([年月日])+1,1,#月([年月日])) ○これによって一応は11月のグループ項目値で、10月21日から11月20日を表示出来るようになりまた残業手当等の合計値も自動算出出来るようになりましたが、どこかで不都合が生じる可能性もあり、もっと合理的な方法があるかと思いますが、不都合が生じた時に検討していきたいと思っております。 ※早速、桐師匠【多遊】さんが桐質問のほか掲示板で #mod(#月([年月日])+#int(#日([年月日])/21)-1,12)+1 と言う計算式を提案してくれました。こっちの方がずっと合理的であり、その仕組みを勉強します。 以上:931文字
|