みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
↓下記イメージのように注文フォームへ商品マスタの一覧をカテゴリごとに表示させて、注文個数を入力できるようなレイアウトを作りたいと思います。
現状では商品マスタとD注文テーブルとD注文明細テーブルが存在します。
まずはD注文レイアウトに商品マスタのレコード一覧をカテゴリを考慮しないで表示させたいと考えたのですが、適切な方法が思い浮かびませんでしたのでご教示頂けると大変助かります。
またこの注文データは確定したタイミングで受注データとして保存されるようになればと考えています。
https://www.dropbox.com/s/bykg44exjc0qs … 9.png?dl=0
Last edited by mo888 (2021-10-06 11:39:50)
Offline
商品マスタのレコード一覧は、デカルト積のリレーションを設定して、ポータルで表示させればいいでしょう。カテゴリは、ポータルフィルターを設定すればいいでしょう。
入力は、どのようにしたいですか。
上のポータルでクリックをして商品を選択し、明細の一覧ポータルへ追加し、数量を入力させる、という方法が簡単ですが、
上のポータルの中で数量を入力する、入力した行が、明細に追加されている、という動き(少々複雑な動きになりますが)を作りまるか。
Offline
Shin様
いつもお世話になっております。
教えて頂いたデカルト積のリレーションを使用して商品マスタをポータルで表示させることができました。ありがとうございます。
入力についてなのですが、できれば前者の簡単な方法を取りたいのですが入力した内容を上記のポータルに表示させておきたいので後者の方法になってしまうのかなと考えております。
Offline
提示されたイメージはカテゴリがありませんよね?
また、各商品はロット数による単価違いがありますが、
そのデータはどこにあるのでしょうか?
Offline
提示されたイメージで、ロット数と個数というのがあるのですが、それぞれ説明してください。
また、ロット数での区切りは、例えば3ロット以上6ロット未満という区切りですか、それとも5ロットの場合は3ロット1個と1ロット2個ということになりますか。
ちなみに、後者は、ちょっと特殊なリレーションを貼りますので、高度な理解が必要になりますよ。
Last edited by Shin (2021-10-06 14:01:13)
Offline
チポ様
返信ありがとうございます。
提示したイメージでいうカテゴリは「メイン商品」「サブ商品」「オプション」にあたる部分です。
商品のロット数による単価の違いはまだ設定しておりませんが、シンプルに商品マスタにて管理者が任意に設定できるようにしたいと考えております。
登場人物は「ユーザー」「管理者」「開発者」になり「ユーザー」は注文フォームのみしか触れない想定で、ロット数と掛率は管理者が商品マスタから任意の値を設定できるようにする予定です。
Shin様
登場人物としては「ユーザー」「管理者」「開発者」になり「ユーザー」は注文フォームのみしか触れない想定です。
ロット数と掛率は管理者が商品マスタから任意の値を設定できるようにする予定です。
個数は「ユーザー」が注文したい個数を注文フォームから任意に入力していく想定になります。1商品に5種類のロット&掛け率がある場合も個数フィールドは1つにしたいです。そして個数に応じて掛け率の金額が明細にはいるといったイメージです。
伝わりづらくてすみません。
またやはり前者の簡単な方法でできれば一番いいと思うのですが、Shin様のご提案を私の方でイメージしきれていない部分があるかも知れません。
前者の簡単な方法では上記のポータルへの個数の表示はやはり出来ないのでしょうか。
Last edited by mo888 (2021-10-06 15:02:07)
Offline
商品のみの一覧なら商品マスタのポータルでいいでしょう。
単価ごとも、となると、
商品・単価ごとを1レコードとする別テーブルが必要になるのでは。
商品マスタのポータルでカテゴリでソート指定すれば、カテゴリ順に並び替えられます。
入力方法は、Shinさんが書かれているように、
マスタのポータル行をクリックで、
明細テーブルにレコードを作り、明細のポータルで表示、数量等を入力。
二つのポータルを並べておけばいいのでは。
Offline
チポ様
ありがとうございます。
>入力方法は、Shinさんが書かれているように、
マスタのポータル行をクリックで、
明細テーブルにレコードを作り、明細のポータルで表示、数量等を入力。
二つのポータルを並べておけばいいのでは。
こちらは以下のように注文フォームレイアウト内に並べて表示することができるという認識で良さそうでしょうか?
青部分が商品マスタのポータル
赤部分が注文明細のポータル
のようにとチポ様はおっしゃられているのかなと感じました。
であれば私の目指す形に実装できそうなので、とても助かります。
https://www.dropbox.com/s/xb1xoflzn7963 … 2.png?dl=0
Last edited by mo888 (2021-10-06 16:02:14)
Offline
わたくしが書いたのはそうではありません。
マスタのポータルをクリックすると、
明細のポータルにその商品のポータル行が増える。
というものです。
ですから、最初は明細のポータルはすべて空白から始まります。
ポータルは関連テーブルのレコードを表示するものですから、
空白行でも、それがレコードでなければ表示されません。
ご希望の表示は、間にもう一つテーブルを挟めば可能でしょう。
Offline
ロット数の説明がされていませんが、
https://www.dropbox.com/s/qh1rtytgk4ddj … 2.zip?dl=0
こんな形?マスター一覧の中で数量入力ができます。
Last edited by Shin (2021-10-06 17:29:15)
Offline
Shin様
すみません。回答になっていなかったみたいなので、あらためて返答させて下さい。
> また、ロット数での区切りは、例えば3ロット以上6ロット未満という区切りですか、それとも5ロットの場合は3ロット1個と1ロット2個ということになりますか。
こちらは5個注文された場合は3ロット以上6ロット未満に振り分けられることを想定しております。
頂いたサンプルファイルを確認させて頂きました。素晴らしいです!まさに思っていたイメージにとても近いサンプルを頂いたので私なりに組み立てて紐解いてみたいと思います。
こちら受注テーブルの商品価格マスターポータルから注文個数を入力したら受注明細にレコードが入ると思うのですが、その後受注テーブルの商品価格マスターポータルから個数を削除しても受注明細にはレコードが残っており金額が0になるのは仕様でしょうか?
レコード自体を削除する方法はありますでしょうか。
Offline
内部を見ればわかることですが、受注数を入力するとレコードが作られます。それを削除してもレコードが削除されることはないです。表示だけの問題でしたら、0を表示しないフィルターの設定にしておくのがいいでしょう。レコードの削除は、そのテーブルのレコードを特定できれば簡単ですよ。
> 5個注文された場合は3ロット以上6ロット未満に振り分けられる
あなたの提示しているレイアウトは、紙運用では仕方ないかもしれませんが、電子運用では致命的な欠点があります。例えば、3ロットの区分で5が入力された後、それがそのまま6に修正されると誤りになります。ですから、そのままの運用ではだめで、勝因ごとに受注数を入力、その数に従って価格を別テーブルより参照する、という動きが合理的です。ですから、ロットごとの入力ではなく、商品ごとの受注数を入力させるようなレイアウトが必要です。(レイアウト上では、価格はあくまで参照データにします)
サンプルは、レイアウトの様式から、5ロットの場合は3ロット1個と1ロット2個 という想定で作っていますので、根本的に変更が必要です。やることは簡単ですので、考えてみてください。
Last edited by Shin (2021-10-07 11:08:02)
Offline
Shin様
ありがとうございます。
上記の内容を自分なりに考えてみたのですが以下で考え方としてはあっていますでしょうか?
商品マスタに「掛率1」「掛率2」「掛率3」「掛率4」「最低ロット1」「最低ロット2」「最低ロット3」「最低ロット4」を追加して、商品価格マスターに入力される個数に応じて掛け率が適用されるといった方法でしょうか?
Offline
永久に掛け率が変わらず、顧客によって例外がないのでしたら、商品マスターの中に設定する方法も無くもないですが、別テーブルで設定しておいたほうが色々と処理が楽です。
データの保存は、サンプルのように、商品に対して、4レコードの価格レコードをもたせます。数量によって、そのなかから適当なレコードを選択します。(比較条件とソートを設定します)
Offline
Shin様
アドバイスをもとに下記ファイルのように別テーブルでユーザーが任意に掛率とロット数を設定できるようにしてみました。
しかし私の注文フォームでは受注明細にレコードが入っていきません。何か考えられる原因はありますでしょうか?
また現在、注文フォームから個数を入力した時にすべてのフィールド値が変更されてしまいます。リレーションの問題なのでしょうか?
> データの保存は、サンプルのように、商品に対して、4レコードの価格レコードをもたせます。数量によって、そのなかから適当なレコードを選択します。(比較条件とソートを設定します)
またこの比較条件とソートを設定するというもよく分からないままでいます。
Offline
数量で掛け率を選択するサンプルです。
https://www.dropbox.com/s/8ywywhqrjo3iz … 2.zip?dl=0
基準価格、掛け率の履歴管理が可能で、受注日で自動的に適合する価格、掛け率を選択して計算させています。また、商品一覧のポータルに数量ごとの価格を一覧表示させてありますので、提示されている紙運用とほぼ同じ感覚で運用できると思います。
スクリプトは変数の設定の数行だけで、動きはほぼすべてリレーションのみです。
実用レベルの骨格ですので、レイアウトなどを整備すれば、そのまま運用できると思います。
Last edited by Shin (2021-10-13 16:01:33)
Offline
私の注文フォームでは受注明細にレコードが入っていきません。何か考えられる原因はありますでしょうか?
また現在、注文フォームから個数を入力した時にすべてのフィールド値が変更されてしまいます。
動的なリレーションを動かしていますので、サンプルの動きをよく観察してみてください。スクリプトも動いています。
リレーションの設定も、よく観察してみてください。
Last edited by Shin (2021-10-08 14:02:43)
Offline
Shin様
ありがとうございます!
天才にしか思えません。。。しっかりと観察してみます。
Offline
お陰様で少しづつではありますが頂いたサンプルのリレーションや計算式などについて理解が進んでいっております。
ありがとうございます。
ひとつお聞きしたいのですが、こちらのサンプルで個数を入力した際に明細に反映されず、スクリプトで前のページへ移動→次のページへ移動をすると内容が更新されます。
一応これで狙い通りに動くのは動くのですが、前のレコードが一瞬見えてしまいあまりよろしくないと感じております。
何か良い方法はありませんでしょうか?
Last edited by mo888 (2021-10-13 13:15:03)
Offline
そこのトリガーの設定を忘れていました。ウインドウの再表示を行えば良いです。
#16より、もう一度ダウンロードしてみてください。
Offline
Shin様
ありがとうございます。
大変勉強になります。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 617.88 KiB (Peak: 650.79 KiB) ]