販売管理 販売商品モデル

最終更新日: 2021年2月12日

用意するモデル

次のモデルを用意します。リポジトリファイルをインストールした場合は不要です。

モデル説明備考
消費税率開始日付と消費税率を管理します。アドオンギャラリー「JSHTAX」で提供されるモデルを利用します。
分類商品の分類コードです。
単位仕入れの単位です。
販売商品販売商品マスタです。
用意するモデル

消費税率

アドオンギャラリー「JSHTAX」のモデルを利用します。(後述)

消費税率モデル

単位

仕入れの単位を管理するマスタです。選択肢モデルとして用意します。
初期データも設定します。

単位モデル
単位モデルの初期データ

分類

分類コードを管理します。

分類モデル

販売商品

販売商品を管理します。上で説明した「単位」と「分類」を利用します。

販売商品モデル

メニューへの登録

用意したモデルをそれぞれメニューに登録します。

消費税率モデルは「共通処理」のタブに追加し、
メニュー名を「消費税率」に、アイコンを「fas fa-yen-sign」に変更しました。

消費税率モデル

分類モデルは一覧更新画面を「マスタ管理」のタブに含めました。

分類モデル

販売商品モデルは新しく用意したタブ「販売管理」に含めるようにしました。

販売商品モデル

単位モデルは初期設定のみを利用するとし、ここではメニューに加えていません。

動作の確認

消費税率の設定

  1. はじめにビルドしたアプリケーションにログインし、
    消費税率モデルの初期データ「data_addon_JSHTAX」をインポートします。
    消費税率モデルの初期データ
  2. インポートしたデータを確認します。
    「メニューへの登録」手順で追加した「消費税率」をクリックします。
    消費税率メニュー
  3. データが以下の通り登録されています。
    消費税率モデルの初期データ

分類コードの登録

  1. 分類コードを事前に登録します。
    「メニューへの登録」手順で追加した「分類一覧更新」をクリックします。
    分類 一覧更新メニュー
  2. 「新規」をクリックし、データを1件登録します。
    分類コードの登録

販売商品の登録

事前準備が終わりました。
次は販売商品を登録します。

  1. 「メニューへの登録」手順で追加した「販売商品」をクリックします。
    販売商品を選ぶ
  2. 検索画面が表示されます。ここで「登録画面へ」ボタンを押下します。
    検索画面
  3. 商品名、写真画像、商品属性、在庫、価格などの情報を登録できます。
    登録した商品の例

販売商品モデルの詳細

販売商品モデルの定義について、より詳しく説明します。

「商品コード」の自動設定

商品コードは自由に設定できます。
未入力のまま登録した場合は、内部で自動採番された主キーの値が商品コードとして使われます。
商品コードの初期値設定で以下の関数を設定することで、この仕様を実現できます。

IF(LEN(${code})>0, ${code}, TOSTR(${id}))

LEN関数は文字列の長さを求めます。
商品コードは文字列型ですが主キーは数値型のため、TOSTR関数を使って数値を文字列に変換しています。

商品コードの計算式

「商品名かな」の入力チェック

「商品名かな」項目はひらがなのみを許容しています。
ひらがな以外の文字が含まれると入力エラーとして扱います。

入力チェックの設定

消費税の計算

アドオンギャラリーが提供する「消費税率」モデルの項目を参照します。
詳細はこちらをお読みください。

消費税の設定

価格の計算

今回は「価格(税抜き)」と「価格(税込み)」のいずれか一つのみ入力できる仕様としています。
「価格(税抜き)」が入力された場合、これをそのまま「税抜き価格」として扱います。
しかし「価格(税込み)」のみが入力されていた場合は、税込み価格と現在の消費税率情報から「税抜き価格」を計算で求めます。

小数点の計算は、DIV関数やADD関数を用いることで演算誤差を抑えることができます。

IF(${priceWithoutTax}>0,
      ${priceWithoutTax},
      INT(
        VALUE(
          DIV(
            ${priceWithTax},
            ADD("1.0",${taxRate}),
            2
          )
        )
      ) 
    )
税抜き価格を求める計算式

分類コードの複数設定

分類コードを繰り返しコンテナ形式にします。
これによって、一つの販売商品に複数の分類コードを付与することができます。

分類コード

また、分類モデルの「有効期限(valid)」項目を、モデル参照時の無効判定に利用しています。
これによって有効期限に値がセットされたデータは無効扱いとなり、選択肢に表示されません。

分類コードの無効判定項目の設定

レイアウト

販売商品モデルのレイアウトは隠しレイアウトを適用しています。
図の赤点線枠で示した部分が隠しレイアウトとなっています。

隠しレイアウトへの入れ子を設定