オープンソースのERP iDempiereの標準機能である、受注伝票明細に入力したセット品目を、部品表を構成する品目ごとに明細を自動作成する機能をJPiereとしてカスタマイズしました。
使い方
マスタ設定
セット品目のマスタは在庫管理するフラグをOFFにし、部品表フラグをONにします。そして部品表タブで構成品目を入力し、部品表の構成チェックプロセスを実行して、検査済みフラグをONにさせます。
伝票入力
セット品目を受注伝票明細にセットし、受注伝票ヘッダのプロセスアイコンを押して、選択した受注伝票のセット品目の展開プロセスを実行します。
【補足説明】
※選択した受注伝票のセット品目の展開プロセスは伝票ステータスが"草案"の時にしか実行する事ができません。
※選択した受注伝票のセット品目の展開プロセスを実行しなくても、伝票ステータスを完成にしようとすると、自動でセット品目は展開されます。
プロセスの実行後、セット品目は、それを構成する品目に展開されます。
セット品目は、受注伝票明細のセット品目フィールドに設定されます。
システムコンフィグ設定
JP_REMAIN_EXPLODE_PRODUCT_LINE
セット品目の明細行をそのまま残すかどうか制御します。
- Y … セット品目の明細行は、そのまま残して、セット品目を展開した単品の明細行を追加します。
- N … セット品目の明細行はなく、セット品目を展開した単品の明細行だけで受注伝票明細を構成します(デフォルト設定)。
カスタマイズ情報
追加カラム
◆C_OrderLineテーブルに、JP_ProductExplodeBOM_IDカラムを追加
セット品目の情報を保持するために、JP_ProductExplodeBOM_IDカラムをC_OrderLineテーブルに追加しました。
◆M_InOutLineテーブルに、JP_ProductExplodeBOM_IDカラムを追加
セット品目の情報を保持するために、JP_ProductExplodeBOM_IDカラムをM_InOutLineテーブルに追加しました。
追加クラス
◆jpiere.base.plugin.org.adempiere.process.ExplodeBomOrder
MOrderJPクラスのexplodeBOM()メソッドを呼び出すプロセスです。
カスタマイズクラス
◆jpiere.base.plugin.org.adempiere.model.MOrderJP
MOrderクラスに標準機能であるexplodeBOM()メソッドをオーバーライドしてカスタマイズしました。
◆jpiere.base.plugin.webui.apps.form.JPiereCreateFromShipment
受注伝票をもとに明細行を作成する際に、セット品目の情報も引き継ぐように改修しました。
更新情報
2022年9月7日(v9):マルチBOM対応
iDempiere ver9にて、マルチBOMが実装されたので、それに対応できるようにメンテナンスしました。デフォルトのBOM(「部品表タイプ」が"現在使用中の部品表"であり「部品表使用用途」が"マスタ")を使用して展開します。
参考
2018年3月15日
出荷納品伝票明細で結びつく受注伝票明細を選択して保存した際に、セット品目の情報が代入されなかったのを、代入するように改善しました。 同様に、得意先返品入庫伝票明細にも、得意先返品受付伝票明細から返品元となった出荷納品伝票の明細情報をたどって、セット品目の情報を取得して代入するように改善しました。
- jpiere.base.plugin.org.adempiere.base.JPiereInOutLineModelValidator
2018年3月24日
得意先返品受付伝票で返品対象となった出荷納品伝票明細を選択して保存した際に、セット品目の情報が代入されなかったのを、代入するように改善しました。 同様に、仕入先返品依頼伝票明細にも、セット品目の情報を取得して代入するように改善しました。
- jpiere.base.plugin.org.adempiere.base.JPiereRMALineModelValidator