みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM Pro15 Ad Mac
請求書作成のレイアウトで、カレンダーから請求書発行日を選ぶと、
支払期日(当月末)が自動で表示されるようにしています。
例:請求書発行日→5/26 支払期日→5/31 が自動表示される
例:請求書発行日→6/11 支払期日→6/30 が自動表示される
ただ、支払期日が土日祝日と被る場合は、その前日の日付となります。
今のところは、下記の計算式を支払期日フィールドにいれていて、
月末が土日祝日と被る場合、月初に手動で式を編集して直しています。
Date ( Month ( 請求書発行日 )+1 ; -0; Year ( 請求書発行日 ) )
なんとか自動化したいなと思っているのですが…
よろしくお願いします。
Offline
ごく簡単に作るには、土日祝日を省いたカレンダーを作っておき、請求月でリレーションを張り、その最大日を設定する、という方法でしょうね。
計算で求めるのでしたら、上の式で月末を求めて、その日が土日祝ならば前日に、という計算を再帰で行います。(きっと誰かが作ってくれるでしょう)ただ、祝日を計算で求めるか、祝日を設定した別テーブルを参照するか、などの処理が必要です。
Offline
Shin様
ご返信ありがとうございます。
ごく簡単に…の場合は、カレンダーを毎年作成しなければならないでしょうか。
計算式の場合、祝日の設定というのは具体的にどのようにしたら良いですか?
Offline
https://fm-aid.com/bbs2/viewtopic.php?id=2681
を参照して見てください。
私のサンプルが参考になるかと思います。
ただ、単純に考えて
月末平日が祝日に影響されるのは、4月だけのはずです。年末も影響されるかもしれません。
それ以外は、月末の曜日を確認すれば良いだけでしょう。(日曜日なら2日前、土曜日ならば前日)
4月は、月末が日曜日ならば2日前、土曜日ならば2日前でいいでしょうね。
Last edited by Shin (2017-05-26 22:15:26)
Offline
私2年前にも同じ質問してたんですね。
出来ないまま放置していたようです…!
2年前に比べれば出来ることも増えているかと思いますので、
サンプル見ながら再チャレンジしてみたいと思います。
ありがとうございます!
Offline
前のサンプルは、非常に大掛かりなことをしています。すべての休日の管理を行うには、このような方法しかないのですが。
#4 に書いた方法がシンプルでいいかと思いますが。
Let (
[
d = Date ( Month ( 請求書発行日 )+1 ; -0; Year ( 請求書発行日 ) ) ;
dw = DayOfWeek ( d ) - 1
] ;
Case (
Month ( d ) = 4 ; Choose ( dw ; d - 2 ; d ; d ; d ; d ; d ; d - 2 ) ;
Month ( d ) = 12 ; Choose ( dw ; d - 3 ; d - 3 ; d - 4 ; d - 5 ; d - 3 ; d - 3 ; d - 3 ) ; // 12/28仕事納めとして
Choose ( dw ; d - 2 ; d ; d ; d ; d ; d ; d - 1 )
)
)
で求められるでしょう。(仕事納めの日によりますが)
Last edited by Shin (2017-05-29 14:15:18)
Offline
アドバイス頂きありがとうございます。できました!こちらの方が使い勝手が良さそうです。
あとはShin様がおっしゃった通り、年末はその年によって変わるので、その際は計算式の中を変更して使いたいと思います。
ありがとうございました!
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 513.18 KiB (Peak: 518.09 KiB) ]