みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
現在勉強がてら色々と試してるのですが、いくつか疑問に思いアドバイス頂けますと助かります。
1:締日と請求日を絡めて入金予定日を求めたい・・・出来たのは出来たのですが、もっとシンプルな計算式に出来ますでしょうか?
顧客レイアウト上で、請求テーブルをポータル表示しています。
顧客レイアウト上の締日は、値一覧で 末日 , 20日 , 10日 をポップアップ設定。(値一覧追加の場合、数字+"日"にてルール化)
------------------------
顧客テーブル
・顧客ID
・顧客名
・締日 (テキストフィールド)
===
||顧客IDでリレーション
===
請求テーブル
・請求ID
・顧客ID
・請求件名
・請求日 (日付フィールド)
・入金予定日(計算フィールド:日付:非保存)
入金予定日:計算式
Case (
顧客::締日 = "末日" ; Date ( Month ( 請求日 )+1 ; 0; Year ( 請求日 ) );
Day ( 請求日 ) ≤ GetAsNumber (顧客::締日);Date ( Month ( 請求日 ) ; GetAsNumber (顧客::締日); Year ( 請求日 ) );
Day ( 請求日 ) > GetAsNumber (顧客::締日);Date ( Month ( 請求日 )+1 ; GetAsNumber (顧客::締日); Year ( 請求日 ) );
)
------------------------
2:今回のような締日・請求日・入金予定日のような形は多々存在すると思うのですが、
もっと汎用性が高い方法はないでしょうか?
ん?と思ったのは締日の入力、それによる入金予定日の判定の仕方です。
はじめ、締日を数字フィールドにして数だけ入れようと思ったのですが、末日の場合どうすりゃ・・・となって1のようになりました。
以上、アドバイス頂けますと助かります。
顧客テーブルに支払月を設けて
当月 → 0
翌月 → 1
翌々月 → 2
支払日計算:
Date(請求月+支払月;日;年)でどうでしょうか
末日は0にしておいて、
締日は、
Date ( Month ( 請求日 - 締日 ) + 1 ; 締日 ; Year ( 請求日 - 締日 ) )
Offline
入金予定日は、
請求日が締日以前なら当月締日
以降なら翌月締日
ということですよね?
末日は0として、入金予定日は
Date ( Month ( 請求日 ) + ( 請求日 > 締日 ) ; 締日 ; Year ( 請求日 ) )
でいいのでは。
Offline
FM12始めたばかり様、ありがとうございます。
凄く現実的で勉強になりました。
実際支払いが翌々月払いとかありますね。
支払月も今後視野に入れたいと思います!
--
Shin様、ありがとうございます。
少し教えて頂きたいのですが、実際には以下のような処理の流れと考えていいのでしょうか?
計算式:Date ( Month ( 請求日 - 締日 ) + 1 ; 締日 ; Year ( 請求日 - 締日 ) )
例: 請求日:2014/8/10、締め日:15
1:Date ( Month ( 2014/8/10 - 15 ) + 1 ; 15 ; Year ( 2014/8/10 - 15 ) )
2:Date ( Month ( 2014/7/26 ) + 1 ; 15 ; Year ( 2014/7/26 ) )
3:Date ( 7 + 1 ; 15 ; 2014 )
--
チポ様、ありがとうございます。
仰るとおりの考え方です。
教えて頂いた式を入れてみましたが、請求日が締め日以前、以降の場合も
0以外は来月締め日になってしまいました。
どこか私の設定がまちがってるのでしょうか?
もう少し見てみます。
また少しお聞きしたいのですが、以下はどのような処理の流れになるのでしょうか?
Date ( Month ( 請求日 ) + ( 請求日 > 締日 ) ; 締日 ; Year ( 請求日 ) )の
Month ( 請求日 ) + ( 請求日 > 締日 ) ←の部分
例: 請求日:2014/8/10、締め日:15
Date ( Month ( 2014/8/10 ) + ( 2014/8/10 > 15 ) ; 15 ; Year ( 2014/8/10 ) )
の 2014/8/10 > 15 がどういう結果が出るのか理解できませんでした。。
ぜひお教え頂けますとうれしいです。
・ 締日必着
・ 締日後何日以内必着
・ 締日20日で21日以降の日付は翌月処理とか
諸条件の会社がありますから
印刷日とか発送日とか無視して
請求日=客先締日
これを基本にされてはいかがでしょうか
ごめんなさい、間違えていました。
請求日 > 締日
これは
Day ( 請求日 ) > 締日
と訂正してください。
Offline
処理の流れ、の意味が分かりませんが、請求日に日付で、締日に数字でデータを設定しておけば、上の式で締日に変換されます。
Offline
FM12始めたばかり様、再度ありがとうございます。
実際の話、翌月払いか翌々月払いが多いため、ご意見参考に致します。
ありがとうございました。
--
チポ様、再度ありがとうございます。出来ました!
再度質問なのですが、Day ( 請求日 ) > 顧客::締日の > についてですが、
これは請求日が締め日よりも以降なら、真を返す(経過日数に関係なく1)という考え方でいいのでしょうk?
つまり
例: 請求日:2014/8/10、締め日:15 とすると、
Date ( Month ( 請求日 ) + ( Day ( 請求日 ) > 顧客::締日 ) ; 顧客::締日 ; Year ( 請求日 ) )
↓
Date ( Month ( 2014/8/10 ) + ( Day ( 10 ) > 15 ) ; 15 ; Year ( 2014 ) )
↓
Date ( Month ( 2014/8/10 ) + 0 ; 15 ; Year ( 2014 ) )
↓
Date ( Month ( 8 ) + 0 ; 15 ; Year ( 2014 ) )
↓
2014/08/15
--
Shin様、再度ありがとうございます。
結果ではなく、出来れば以下の場合の計算値の変化をお聞きしたく。。
ん~説明べたで、すいません。
例: 請求日:2014/8/10、締め日:15 とすると、
この計算式:Date ( Month ( 請求日 - 締日 ) + 1 ; 締日 ; Year ( 請求日 - 締日 ) ) は、
1:Date ( Month ( 2014/8/10 - 15 ) + 1 ; 15 ; Year ( 2014/8/10 - 15 ) ) の様に値が入り、その結果
2:Date ( Month ( 2014/7/26 ) + 1 ; 15 ; Year ( 2014/7/26 ) ) となり、
3:Date ( 7 + 1 ; 15 ; 2014 ) となり、
4:2014/08/15 となる
と考えていいのでしょうか?という意味です。
ようするに、Month (請求日 - 締日) と Year (請求日 - 締日) 内の計算結果がそれぞれ、
どうなってるのかが知りたいというわけです。
月末〆の場合は、処理が楽ですよね。全ての計算をそれに準拠させる様に、日付をシフトさせています。
20日〆の場合、"2014/7/21" - 20、"2014/8/20" - 20 は、2014/7/1、2014/7/31 になり、実際の締日の前月の日付になります。その翌月の締日が、締日になります。
Offline
Shin様、再度ありがとうございます。
理解できました。 なかなか計算式が苦手でなぜそうなるのか?が理解できないと、使い勝手がわからないことが多く。
助かりました。
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 541.88 KiB (Peak: 562.42 KiB) ]