【JPIERE-0505】カスタム予実製造指図伝票

カスタム予実製造指図伝票は、JPiereベースプラグイン(JPBP)の【JPIERE-0501】予実製造指図伝票【JPIERE-0502】予実製造指図伝票テンプレートの機能を、自由にカスタマイズできるように、JPiereプラグインズ(JPPS)として外だししたものです。

このようにJPiereベースプラグインから外だしする事により、JPiereの予実製造指図伝票の仕様に縛られる事無く、自由にカスタマイズできる上に、iDempiere/JPiereをバージョンアップする際にも、その影響を最小限にする事ができます!!

開発環境について

リポジトリ

ソースコードは、JPiereのcustom.ppというリポジトリで管理しています。クローンやダウンロードするなどして下さい。

プラグインのファイル構成

ダウンロードしたプラグインをEclipseにインポートすると左記のように表示されます。

 

クラスのパッケージ名は、JPiereベースプラグインのもともとのパッケージ名にcustom.pp.という接頭辞を付しています。クラス名は、基本的にJPiereベースプラグインの予実製造指図伝票で使用しているクラスと同じ名前にしています。

 

クラスの名前は同じですが、パッケージ名が異なり、ファクトリークラスで、cutom.ppのパッケージに属するクラスを呼び出すように切り替えています。

 

このような仕組みのため、カスタム予実製造指図伝票では、JPiereのオリジナルの予実製造指図伝票の仕様に縛れらることなく自由にカスタマイズする事ができます。

 

実行の構成

実行の構成で、custom.ppのプラグインを有効にして起動して下さい。

システムクライアントのセットアップ作業

 システムクライアントのセットアップのStep1~Step3を順番に行って下さい。

Step1 : 2Packのパックイン

JPiere8.2の9月より以前のバージョンを使用している場合には、このStep1を実行して、カスタマム予実製造指図伝票を動かすのに必要となるアプリケーション辞書の各種設定をパックインして下さい。

※JPiere8.2の10月以降のダンプファイルには設定が含まれていますので、このStep1は飛ばして、Step2から行って下さい。

パックインするZipファイルは、ソースコードの一式の中のPackOutフォルダの中にあります。

JPiere8.2にパックインする場合は、forJPiere8.2の中にあるZipファイルをパックインして下さい。

◆JPIERE-0501-1.zip

主に次の設定が含まれています。

  • エンティティタイプ - JPiere
  • リファレンス
  • CSS Style
  • フィールドグループ
  • ダイナミックバリデーション
  • メッセージ

◆JPIERE-0501-2.zip

  • プロセス
  • モデルバリデーター

◆JPIERE-0501-3.zip

  • 予実製造指図伝票
  • 予実製造指図伝票テンプレート
  • ログインユーザーが担当の未処理の実績製造指図伝票

◆JPIERE-0501-4.zip

  • 検索ウィンドウ
  • iDempiere標準の製造指図伝票へのカラム追加
    • M_Production.JP_PP_Fact_ID
    • M_Production.JP_PP_FactLine_ID

【注意】必ずテスト環境で確認してから本番環境にパックインして下さい。

何かしらのエラーが発生した場合に、JPiereのからパックアウトし直す事をオススメします。2021年10月以降のJPiereのダンプファイルには、パックアウトできるように設定されています。

パックインが終わったら、メニュー設定を開いて下さい。

 

一番下に、赤で囲んで3つのメニューが追加されているはずです。

 

この3つを好きな所にドラッグ&ドロップで移動させて下さい。

パックインの最後に翻訳適用プロセスを実行しておくことをオススメします‼

【補足説明】M_Productionテーブルに追加されているカラムについて

JPIERE-0501-4.zipをパックインすると、M_Productionテーブルには、JP_PP_Fact_ID(実績伝票のID)カラムが追加されており、M_ProductionLineテーブルには、JP_PP_FactLine_ID(実績伝票明細のID)カラムが追加されています。どちらもテーブルにカラムを追加しているだけで、ウィンドウに表示する設定はしていませんので、必要であればウィンドウに表示するように各自で行って下さい。

 

Step2 : コールアウトクラスの変更

JPiereベースプラグインのクラスから、カスタム予実製造指図伝票のクラスに切り替えるために、テーブルのカラムのコールアウトのパッケージ名の先頭に、"custom.pp."を追記して下さい。

◆コールアウトのクラスを修正するカラム一覧

下記、リストに掲載しているテーブルのカラムに設定されているコールアウトのクラスのパッケージ名の先頭に"custom.pp."を追加して修正して下さい。下記リストアップしている13か所のすべてを修正する必要があります赤線を引いているカラムは、コールアウトを";(セミコロン)"で区切って、2つ設定していますので、両方とも修正して下さい。

修正するカラム一覧
修正するカラム一覧

【補足説明】2023年12月25日追記

【JPIERE-0609(v10)】工程管理と予実製造指図伝票による在庫移動において、下記3つのカラムにもコールアウトが追加されています。合わせて修正して下さい。

  • JP_PP_PlanTテーブルのJP_PP_WorkProcess_IDカラム
  • JP_PP_PlanテーブルのJP_PP_WorkProcess_IDカラム
  • JP_PP_FactテーブルのJP_PP_Fact_IDカラム

 

◆修正例

テーブルとカラムウィンドウのカラムタブの最下部に、コールアウトのクラスが設定されていますので、修正して下さい。

修正箇所
修正箇所

(修正前) jpiere.base.plugin.org.adempiere.callout.PPDocCallout.convertUom

->(修正後) custom.pp.jpiere.base.plugin.org.adempiere.callout.PPDocCallout.convertUom

このように、他の箇所も同様に修正して下さい。

 

◆修正をちょっと楽にするSQL(*´▽`*)

下記のSQLを使用して頂くと、手修正する手間が少し省けます。

UPDATE adempiere.AD_Column set Callout = 'custom.pp.' || Callout WHERE Callout like '%PPDocCallout%' ;

JP_PP_DocテーブルのM_Product_IDカラムと、JP_PP_DocTテーブルのM_Product_IDカラムには、コールアウトが2つ設定されています。上記のSQLだと、最初の1つ分しか修正されていませんので、2つ目は手で修正して下さい。m(_ _)m

 

Step3 : モデルバリデータークラスの変更

モデルバリデーターに設定されている下記の赤線で囲んだ5つのクラスのパッケージ名の先頭に"cusom.pp."を追記して下さい。JPiereベースプラグインのクラスから、カスタム予実製造指図伝票のクラスに切り替えるためです。

モデルバリデーター
モデルバリデーター

◆jpiere.base.plugin.org.adempiere.base.PPPlanModelValidator

➡ custom.pp.jpiere.base.plugin.org.adempiere.base.PPPlanModelValidator

◆jpiere.base.plugin.org.adempiere.base.PPPlanLineModelValidator

➡ custom.pp.jpiere.base.plugin.org.adempiere.base.PPPlanLineModelValidator

◆jpiere.base.plugin.org.adempiere.base.PPPlanLineTemplateModelValidator

➡ custom.pp.jpiere.base.plugin.org.adempiere.base.PPPlanLineTemplateModelValidator

◆jpiere.base.plugin.org.adempiere.base.PPPlanTemplateModelValidator

➡ custom.pp.jpiere.base.plugin.org.adempiere.base.PPPlanTemplateModelValidator

◆jpiere.base.plugin.org.adempiere.base.PPFactModelValidator

➡ custom.pp.jpiere.base.plugin.org.adempiere.base.PPFactModelValidator

下記のSQLを使用して頂くと、手修正する手間が省けます。

UPDATE adempiere.AD_ModelValidator set ModelValidationClass = 'custom.pp.' || ModelValidationClass WHERE ModelValidationClass like 'jpiere.base.plugin.org.adempiere.base.PP%'

【注意】セットアップ後に再起動して下さい!!

モデルバリデーターの設定変更を有効化するために、すべてのセットアップが完了したらサーバーを再起動して下さい。

業務クライアントのセットアップ

業務クライアントのセットアップは、下記のStep1~Step3を実行して下さい。

Step1 : ツリー設定

予実製造指図伝票ウィンドウの予定伝票タブと、予実製造指図伝票テンプレートウィンドウの予定伝票タブには、左側にツリー階層が表示されています。ツリー階層を表示するためには、ツリーの設定が必要です。

◆予実製造指図伝票 - 予定伝票タブのツリーの設定

ツリーの表示に、予定伝票タブの検索キーの値を表示したくない場合には、"検索キーを表示"をOFFにして下さい。それ以外は、下記のように設定して下さい。設定したら"ツリーチェック"プロセスを実行して下さい。

 

◆予実製造指図伝票テンプレート - 予定伝票テンプレートタブのツリーの設定

ツリーの表示に、予定伝票テンプレートタブの検索キーの値を表示したくない場合には、"検索キーを表示"をOFFにして下さい。それ以外は、下記のように設定して下さい。設定したら"ツリーチェック"プロセスを実行して下さい。

Step2 : 伝票タイプの登録

次の3つのベース伝票タイプの伝票タイプを登録する必要があります。

  • JDD-予実製造指図伝票
  • JDP-予定製造指図伝票
  • JDF-実績製造指図伝票

◆JDD-予実製造指図伝票

下記は、サンプル設定です。特別な制限などはありませんので普通の伝票タイプと同じように登録して下さい。

◆JDP-予定製造指図伝票

下記は、サンプル設定です。特別な制限などはありませんので普通の伝票タイプと同じように登録して下さい。

◆JDD-実績製造指図伝票

下記は、サンプル設定です。特別な制限などはありませんので普通の伝票タイプと同じように登録して下さい。

Step3 : ベース会計カレンダーにベース伝票タイプの追加

会計期間のオープン/クローズに使用しているベース会計カレンダーに、下記のベース伝票タイプを追加して下さい。既に作成されている会計期間には手で登録する必要があります。

  • JDD-予実製造指図伝票
  • JDP-予定製造指図伝票
  • JDF-実績製造指図伝票

これで、予実製造指図伝票を使用する準備は完了です!!

カスタマイズ履歴

2023年7月14日(v10):製造指図伝票の伝票タイプ指定

予実製造指図伝票の実績伝票を完成にした時に作成する製造指図伝票の伝票タイプを、実績伝票の伝票タイプに設定できるようにしました。

※ C_DocTypeテーブルにJP_ProductionDocType_IDカラムの追加