受注者→弊社→下請け
という構造の業務をしています
月単位で売上の入力をするので、
受注者からのデータと下請けへの支払いのデータの入力が前後することがあります
どちらから入力しても1対多で入力できるようにするにはどうしたらよいでしょうか?
例えば今月の売上を入力するとして
受注者Aから業務Aを下請けAに10000円で委託
受注者Aから業務Aを下請けBに5000円で委託
というデータを入力したあとで
受注者Aの業務Aの金額を20000円を入力すると
どの下請けにいくら払ったのか、合計の下請け金額などがわかるようにしたいです
その逆で前もって受注者からのデータを入力しておき
あとから下請けへの金額を入力するというパターンもあります
どちらの入力でも
日付と受注者、業務内容
などが一致するものがあったら該当の売上金額から委託金額を引くような感じにしたいです
ちょっとよく分からないのですが、
実際の取引では、
受注してから、それを下請けに割り振るという形になると思います。
受注者からの入金、下請けへの支払いが前後することがあったとしても、
受注 → 下請け の順は変わらないと思いますが、どうなんでしょう。
受注があったら、その時点で「受注番号」とかの主キーになるものを入力します。
それを下請のテーブルの外部キーとするような設計にすればいいと思いますが。
金額が未定の場合は未入力にしておいて、後から入力しても問題ないと思います。
電話などで軽く依頼があり
そのときに下請けに発注することがあります
下請けには先に払う(入力)することがあり
あとから取引先から正式な受注データがくることがある、といった感じです
また、受注データは1案件扱いで10万だったとして、それは月末などに確定します
それの案件を自社と下請けで分担してやるので
先に下請けのデータだけを入力する場合がでてしまいます
1案件に対して複数の下請けが存在します
例えば
今日、複数の下請けのデータを入力したとします
月末に受注データを入力します
受注データを入力するときに、自動的に対応する下請けの
データを関連付けることは可能なのでしょうか?
その月かつその取引先からの業務のすべての下請け金額の小計を差し引いて粗利を表示するといったものです
文章だとわけわかりませんよねえ
一対多の入力フォームは、メインフォーム(一側データ)にサブフォーム(多側データ)を埋め込む形にします。
軽く依頼があった場合は、
メインフォームで新規レコードへ移動して、主キー(受注番号など)と仮受注日、顧客コードは確定させて、金額など未確定のものは未入力(Null)にしておきます。そして、サブフォームで下請けへの発注データを入力します。
というような設計になると思います。
下請けのデータを入力するときに、関連付けするべき一側のデータを決めておかないと、
どれとどれが対応するかは後から判断できないですよね。
テーブル設計の一例
(そちらの詳しい業務内容が分からないので想像ですので参考程度に)
受注テーブル
受注番号 主キー
仮受注日
受注先顧客コード
受注内容
本受注日
金額
下請発注テーブル
下請発注ID 主キー オートナンバー型
受注番号 受注テーブルとリンクする外部キーフィールド
下請顧客コード
下請発注日
下請内容
金額
下請けデータを入力する前に、受注テーブルの受注番号、仮受注日、受注先顧客コードは確定しておく必要があると思います。