前回の記事では、在庫引当のスクリプトを実装しました。
今日は、在庫引当を表示するレイアウトについてです。
前提条件
前回の記事を参考に、リレーションシップグラフを組んでおきます。
テーブルのフィールドを載せていなかったので、こちらで載せておきます。
実際に追加したのは、赤枠のフィールドになります。
マスタテーブル
商品情報
顧客情報
顧客情報は、在庫引当表には直接関係しませんが、流れとして実装しました。
必須ではないです。
トランザクションテーブル
注文情報
注文情報_明細
ルックアップするフィールドは、注文情報_明細行で注文があった商品を追加する際の自動追加になります。
リレーションシップグラフを先に作成しておくのを忘れずに。
履歴情報
在庫履歴情報
在庫履歴情報は、ここでは在庫数を計上=1レコードという設計にしています。
在庫履歴の持ち方として、在庫1個=1レコードとするやり方もあります。
小規模で在庫数が少ない場合や在庫が一点ものの場合は在庫1個=1レコードのやり方で、在庫を引き当てる(売れた)場合、売れた個数分だけ在庫レコードを引き当てる、というやり方になります。
このやり方は、在庫が多い場合はレコード数が爆発的に増えますが、引当を戻す(販売した商品が返品されたなど)場合、何個分の何個のレコードを戻す、などの処理が簡易的になる、という利点があります。
どちらでも在庫の引当ができますが、現場に応じて使い分けてみてください。
レイアウトの設計
注文管理画面
今回はサンプルなので、1画面に1注文という構成にしてあります。
レイアウトの表示は、「フォーム形式」です。
一覧と詳細に分けたい場合は、一覧の画面を追加すると使い勝手が良くなると思います。
今回は、在庫引き上げを表示するという趣旨なので、解説は軽くに留めておきます。
基本的には、注文情報の明細行に「引当」ボタンが実装されていれば、在庫引当が実行できます。
スクリプトの内容は、前回の記事を参考にしてください。
リレーションシップグラフでは、下の赤枠部分のリレーションシップで実現しています。
在庫履歴管理
スクリプト
こちらは、商品番号順で表示したいので、スクリプトをもう一つ作っています。
たった1行ですが、大事です。
作成したスクリプトは、在庫履歴管理のレイアウトのスクリプトトリガに設定します。
onLayoutEnterスクリプトトリガは、このレイアウトに遷移するとき、実行されます。
レイアウト
一覧一つで実装する場合
在庫履歴管理は、一覧で実装しました。
こちらは、注文情報管理とは違い、レイアウトの表示は「リスト形式」で構成しています。
運用的には、商品名一覧と在庫履歴の詳細の2レイアウトにした方が、取引が多くなって目的の商品の履歴が見つからない、ということがなくなると思います。
このレイアウトのリレーションシップグラフでの構成は、以下になります。
レイアウトに表示するのに必要な、リレーションシップになります。
リストでは、パートの設定で「商品番号」を小計ソート対象として追加しています。
これを設定し、ソートをかけることで、商品番号順にレコードが並んでくれるわけです。
入出荷区分と在庫数表示では、条件付き書式を設定しています。
入荷は青、出荷は赤です。
在庫管理を一覧と詳細に分ける場合
おまけです。
先にお勧めした、一覧と詳細に分けて実装する方法です。
一覧
先に紹介した在庫履歴管理レイアウトを応用して、パート設定からボディ行を削除します。
詳細画面へ遷移するボタンを追加するのみです。
詳細
詳細画面は、一覧と逆で、パート設定から小計行を削除して実装します。
一覧へ戻るボタンも追加しましょう。
まとめ
在庫引当のレイアウトは、現場ごとにバリエーションがあります。
現場で何を優先して表示すると仕事がスムーズにいくのか、というニーズをもとに、在庫関連の実装をしてみてくださいね。