【JPIERE-0501】予実製造指図伝票

予実製造指図伝票は、JPiereオリジナルの製造指図伝票で、予実管理する事ができる製造指図伝票です。製造工程をツリー構造表示で視覚的に確認できて、製造工程毎に、予実管理できるようにしています。そして製造工程の実績データをもとに、iDempiere標準機能の製造指図伝票を自動作成します。

予実製造指図伝票
予実製造指図伝票

 

 

予実製造指図伝票の特徴

JPiereの予実製造指図伝票では、製造工程を階層構造化して視覚的に表示し、各工程ごとに予実管理する事ができます。そして、実績値よりiDempiere標準機能の製造指図伝票を自動作成します。このコンセプト以外の所ではなるべくシンプルな実装を心掛けて、それぞれの企業ごとにカスタマイズしやすいようにしています。予実製造指図伝票をベースとして、それぞれの企業にあったカスタマイズを加えて、オリジナルの生産管理システムを構築できるように意図しています。

予定(計画)と実績を管理する

予実製造指図伝票には、予定(計画)と実績を入力する事で、予実管理する事ができます。

予定(工程)を、階層構造化して視覚的に確認できる

工程毎に、予定情報(計画情報)を登録し、iDempiere標準機能のツリー階層表示機能を活用して、階層構造化して、視覚的に確認する事ができます。

iDempiere標準機能の製造指図伝票を自動作成する

予実製造指図伝票はトランザクションデータに分類されますが、在庫数に影響は与えませんし、自動仕訳も起票されません。しかしながら、実績値(実績データ)を入力し、伝票ステータスを完成にすると、自動的にiDempiere標準機能の製造指図伝票を作成します。

予実製造指図伝票では、直接在庫数や会計に影響を与えませんが、iDempiere標準機能の製造指図伝票を自動作成する事で、在庫数や会計データの整合性を確保します。

テンプレート機能

予実製造指図伝票は、工程を階層構造管理できる一方で、複雑な工程を生産の都度、登録して行くのは大変です。そのような場合、あらかじめ階層化した各工程の標準的なデータをテンプレートとして登録しておき、テンプレートの情報をコピーして予定製造指図伝票を作成する事ができます。 ※予実製造指図伝票自体は、テンプレートが無くても作成できます!!

 

 

予実製造指図伝票の構造

予実製造指図伝票は、下記の3つの伝票(トランザクションデータ)から構成されます。

  • 予実製造指図伝票
  • 予定製造指図伝票(略称:予定伝票)
  • 実績製造指図伝票(略称:実績伝票)

予実製造指図伝票

予実製造指図伝票は、予定伝票と実績伝票を取りまとめる伝票で、1回の生産の始めから終わりまで1枚の予実製造指図伝票で管理します。3つの伝票を総称して、予実製造指図伝票とも言います。

予定製造指図伝票(予定伝票) ≒ 製造工程

1つの製造工程につき1枚の予定伝票を作成し、予定情報(計画情報)を登録します。予定伝票では、製造工程の実績値を取りまとめる役割もあります。予定伝票は、階層構造化できて視覚的に工程を確認する事ができます。

実績製造指図伝票(実績伝票)

1枚の予定伝票に対して、複数の実績伝票を、登録する事ができます。製造を行った都度、実績伝票を登録して、実績値として管理して行きます。実績伝票を完成にすると、iDempiere標準機能の製造指図伝票が自動作成されます。また実績伝票をリバースすると、作成したiDempiere標準機能の製造指図伝票もリバースされます。

テーブル概念

※予実製造指図伝票に関連するテーブルは"JP_PP_"の接頭辞がついています。

【ポイント】予実製造指図伝票でのワークフローの活用!!

予実製造指図伝票は、3つの伝票から構成されている事で、それぞれの伝票でiDempiere標準機能のワークフロー(以下、WF)を使用する事ができます。WFで生産した製品の検品などを履歴管理するような使い方も可能です。

 

 

予実製造指図伝票

予実製造指図伝票は、 iDempiere標準の製造指図伝票を拡張する機能で、生産に関わる色々な予実管理ができるように意図しています。

 

そして、実績値からiDempiere標準の製造指図伝票を作成します。 JPiereの予実製造指図伝票の標準機能としては、なるべくシンプルに作成して、JPiereの導入企業において拡張して使用できるようにも意図しています。

予実製造指図伝票タブ

◆伝票タイプ

ベース伝票タイプが、”JDD-予実製造指図伝票”となっている伝票タイプを選択する事ができます。

◆伝票番号

予実製造指図伝票の伝票番号です。クライアント内で一意になります。

◆JAN/UPC/EAN

バーコードの番号などを入力しておく事を意図したフィールドです。

◆品目

ここで入力する品目は、予定製造指図伝票の象徴的な役割となります。必ずしも生産する品目を入力する必要はありません。実際に生産する品目は、予定伝票に登録します。例えば家具の製造であれば、予実製造指図伝票の品目には、”ダイニングセット”を入力しておき、予定伝票には、”テーブル”と”椅子”というような構成にする事ができます。

◆テンプレート

予実製造指図伝票テンプレートを使用して、予定伝票以下のデータを自動作成する事ができます。予定伝票以下のデータの作成は、色々なテンプレートを指定して複数回実行する事が可能ですが、同じテンプレートからは1回しか作成できません。また予定伝票が重複する場合も作成できません。

テンプレートから予実製造指図伝票を作成する

予実製造指図伝票テンプレートの情報を使用して、予定伝票や実績伝票を作成する事ができます。

◆入力数量

数量単位あたりの生産する数量を入力します。

◆数量単位

入力数量に入力した数値の単位。数量単位の換算タブの設定により、品目毎に選択できる数量単位が制限されます。

◆生産数量

実際に生産する数量です。入力数量と数量単位により換算されて自動入力されます。

◆開始予定

生産を開始する予定日です。

◆開始実績

生産を開始した日時を入力します。開始プロセスを実行すると、開始プロセスを実行した日時が、自動入力されます。

【補足説明】開始実績の手入力

開始実績の日時は、JPiereの初期設定では読取専用となっており手入力させずに、生産開始プロセスを実行する事で自動入力するようになっています。開始実績の日時は、読取専用を解除する事で、手入力する事もできるようになっています。ただし、手入力すると生産開始プロセスによるビジネスロジックが実行できません。生産開始プロセスでビジネスロジックを実行する必要が無く、開始日時を手入力したい場合に、読取専用を解除して活用して下さい。

生産開始プロセス

開始プロセスを実行すると、実行した日時が、開始実績フィールドに代入されます。そして生産管理しステータスが、”生産中”になり、伝票ステータス更新の”確認中にする”処理も行われます。開始日時の入力をプロセスのボタンにする事で、タブレットやタッチパネルでも開始時間の入力がしやすく、製造現場での入力を簡略化するとともに、ビジネスロジックを実行できるように意図しています。

【カスタマイズポイント】生産開始プロセスのカスタマイズ

開始日時の入力をプロセスのボタンにする事で、製造現場における入力を簡略化するとともに、ビジネスロジックを実行できるように意図しています。 必要に応じてプロセスを差し替えて、自由にカスタマイズして下さい。

◆終了予定

生産を終了する予定日です。

◆終了実績

生産が終了した日時を入力します。終了プロセスを実行すると、終了プロセスを実行した日時が、自動入力されます。 

【補足説明】終了実績の手入力

終了実績の日時も、開始実績同様に手入力できるようになっています。手入力したい場合は読取専用になっているのを解除して下さい。

生産終了プロセス

終了プロセスを実行すると、実行した日時が、終了実績フィールドに代入されます。そして生産管理ステータスが、”完成”になります。さらに、”終了と同時に伝票を完成にする”フィールドがONになっている場合、伝票を完成にする伝票ステータス更新処理が実行されます。

未完成の予定伝票が存在する場合は、終了プロセスを実行する事はできません。 終了プロセスを実行する前には、開始プロセスを実行して下さい。

【カスタマイズポイント】生産終了プロセスのカスタマイズ

終了日時の入力をプロセスのボタンにする事で、製造現場での入力を簡略化するとともに、ビジネスロジックを実行できるように意図しています。 必要に応じてプロセスを差し替えて、自由にカスタマイズして下さい。

◆納品予定日

生産した品目を納品する予定日です。予定日がある場合に入力して下さい。

◆転記日付

会計カレンダーで、伝票登録のオープン/クローズを制御するための日付です。

◆終了と同時に伝票を完成にする

終了プロセスの実行時に、完成にする伝票ステータス更新処理を実行したい場合にONにします。WFが設定されている場合には、WFが起動します。

◆自動的に完成にする

ONの場合は、予定伝票の伝票ステータス更新の"完成"の処理において、他のすべての予定伝票が処理済みになっている場合に、予実製造指図伝票を完成にします。※処理済みになっていない最後の予定伝票をボイドやリバースした際には、自動的には完成になりませんので注意して下さい。

◆検索キー

検索に使用する値を自由に入力する事ができます。クライアント内で一意になる値を入力して下さい。空欄のまま保存しようとすると、自動的に「品目の検索キーの値_日付」になります。

◆名称

予実製造指図伝票の名称を自由に入力して下さい。

◆説明

予実製造指図伝票の説明を自由に入力して下さい。

◆メモ

自由に入力して下さい。

◆社内担当者

予実製造指図伝票の担当者を入力して下さい。

◆伝票ステータス

予実製造指図伝票は、伝票(トランザクションデータ)ですので、他の伝票と同様に伝票ステータスがあり、伝票ステータス更新処理により、伝票ステータスを更新します。

そして伝票ステータスが完成になると、生産ステータスも完成になります

その一方で、生産ステータスが完成になっても、必ずしも伝票ステータスが完成になっていとは限りません。WFが起動している場合や、生産終了プロセスで、「終了プロセスで伝票を完成にする」がOFFになっている場合など、生産ステータスが完成になっていても、伝票ステータスは完成になっているとは限りません。また、完成にした後で、リバースした場合でも、生産が完成したのは事実ですので、生産ステータスは完成のままです。

伝票ステータス更新

基本的に、iDempiereの標準的な伝票ステータス更新処理と同様の動きをします。ワークフローも使用できます。

  • 確認中にする … 伝票ステータスが”確認中”になります。予定伝票が1枚も作成されていないとエラーになります。
  • 完成にする … 伝票ステータスと生産ステータスが”完成”になりますWFが起動します。開始実績と終了実績の時間が入力されていない場合は、完成にした時間が入力されます。すべての予定伝票が処理済みになっていないと完成にできません。再アクテイブする事ができます。
  • 再アクティブする … 予実製造指図伝票は、完成にしても必要に応じて再アクティブする事ができます。再アクティブすると、伝票ステータスは”確認中”になり、生産ステータスは”生産中”に、終了実績は空欄になります。
  • ボイドする … 予実製造指図伝票をボイドすると、予定伝票と実績伝票で、伝票ステータスが完成になっていない場合(処理済みになっていない場合)は、ボイドされます。完成の場合は、実際に生産が行われているため、そのままのステータスで残ります。生産ステータスは”生産中止”になります。
  • 現在の日付でリバースする … 完成になっている予定伝票と実績伝票を現在の日付でリバースします。クローズされていたり、既にボイドやリバースされている伝票には、何もしません。
  • 同じ日付でリバースする… 完成になっている予定伝票と実績伝票を伝票と同じ日付でリバースします。クローズされていたり、既にボイドやリバースされている伝票には、何もしません。
  • クローズする … 完成になっている予定伝票と実績伝票の伝票ステータスもクローズになります。

◆生産ステータス

生産のステータスです。

  • 未着手[Not yet started]:NY … 最初のステータス
  • 生産中[Work in progress]:WP … 開始プロセスを実行すると生産中になります。
  • 完成[Completed]:CO … 終了プロセスを実行すると完成になります。
  • 生産中止[Void]:VO … 伝票ステータス更新処理でボイドすると、生産中止になります。

【補足説明】予実製造指図伝票タブの役割りは予実をまとめるキー情報!!

 予実製造指図伝票タブは、予定伝票と実績伝票をまとめるためにあります。システム的に考えると予実製造指図伝票IDで、予定伝票と実績伝票をグループ化して、集計したりする事が役割です。そして予定伝票で、予実製造指図伝票IDごとに階層表示できるようにするためでもあります。

 これ以外の役割は、JPiereの機能としては意図していません。そのめ、予実製造指図伝票は、伝票として実装はしていますが、データさえ作られれば、必ずしも伝票ステータスを完成にしなければならないわけではありませんし、生産ステータスも更新しなければならないわけでもありません。これらのステータスが他に影響を与えたりする事もありません。開始日時や終了日時の入力も行う必要もありません。

 予実製造指図伝票は、とてもシンプルな役割しかJPiereでは規定していませんので、自由に運用方法を定義したり、カスタマイズして活用して下さい。

 

 

予定製造指図伝票(予定伝票)

予定製造指図伝票(予定伝票)タブ

予定伝票は、予実製造指図伝票の子タブとして配置されており、製造工程毎に1レコード作成するのを想定しており、複数の製造工程を階層構造化して管理する事ができます。この予定伝票と実績伝票のデータを対比して予実管理できます。

予定伝票ダブ
予定伝票ダブ
  • クライアント内で”伝票番号[DocumentNo]”が一意になります。
  • 予実製造指図伝票内で”シーケンスNo[Seqno]” 、”品目[M_Product_ID]” 、”検索キー[Value]”の組み合わせで一意になります。

【補足説明】予定伝票には明細は必ずしも必要ありません!!

予定伝票には必ずしも、予定伝票明細は必要はありません。そして、実績伝票も必要ありません。この事により、予定伝票をメモ的な工程として使用する事ができます。

ツリー階層は、ドラッグ&ドロップで簡単に編集する事ができます。

この階層化されて表示されている情報のひとつひとつをノードと言いますが、このノードを使って製造工程を視覚化できます。

このノード(=予定伝票)毎に、実績値を集計するような事が簡単にできますので、予実製造指図伝票では、工程管理も行えます。

 

◆伝票タイプ

ベース伝票タイプが、”JDP-予定製造指図伝票”となっている伝票タイプを選択する事ができます。

◆伝票番号

予定伝票の伝票番号です。クライアント内で一意になります。

◆シーケンスNo

予定伝票の順番です。製造工程の順番的に使用する事を想定しています。

◆サマリー階層

ONにすると、ツリー階層の表示が太字になります。OFFにすると、その下には予定伝票を配置できなくなります。

◆品目

生産する品目を入力します。ここで選択できる品目は、部品表フラグがONになっている品目のみです。

◆保管場所

生産した品目を保管する保管場所を指定します。組織に結びつく保管場所を選択入力する事ができます。保管場所は在庫を管理する最小単位である事から、”保管場所=製造工程”と考えて運用する事もできます。

◆予定伝票テンプレート

予実製造指図伝票テンプレートを使用して登録した際に、代入されます。予定伝票を手入力する際に、入力するとその予定伝票テンプレートの情報を使用して、予定伝票明細を作成する事ができます。品目マスタフィールドに入力されている品目を使用している予定伝票テンプレートだけを入力する事ができます。

◆差異分割

実績伝票が完成になる時に、予定の生産数量に達していない場合、その差異の数値分の実績伝票を自動作成します。

◆生産数量に達したら伝票を完成にする

実績伝票の生産した数が、予定生産数量以上になった時に自動的に完成にするかどうか制御します。

◆予定生産数量

生産する予定数量を入力します。

◆数量単位

品目マスタに設定されている単位が自動入力され、変更する事はできません。

◆開始予定

生産を開始する予定日時です。

◆終了予定

生産完了する予定日時です。

◆予定工数

生産に関する予定工数です。

◆工数単位

予定工数の単位です。

◆実績生産数量

生実績伝票を完成すると自動的に更新されます。

◆開始実績

はじめの実績伝票の生産開始ボタンが押されると自動的に入力されます。

◆終了実績

予定伝票を完成にすると自動的に入力されます。

◆実績工数

予定伝票に実績値を入力すると自動的に更新されます。

 

ツリー表示の更新について

ツリーには基本的に、検索キーの値と、名称の値が表示されるのが、iDempiereの標準機能の使用です。この仕様を予実製造指図伝票では、[実績生産数量/予定生産数量]の表示を加えています。この表示がたまに、更新されない時がありますが、そのような場合は、ウィンドウの右上にあるレコード選択アイコンをクリックして、レコードの選択を切替えるとリフレッシュされて最新の状態になります。

 

 

予定製造指図伝票明細(予定伝票明細)タブ

予定伝票明細タブは、予定伝票の子タブとして配置されており、この予定伝票明細タブのデータと実績伝票明細タブのデータを対比して予実管理ができるようになっています。 入力については、iDempiere標準機能の製造指図伝票明細の入力方法に準拠しています。

◆予定数量

予定伝票の予定生産数量を生産するために必要な数量を入力します。

◆数量単位

品目マスタに設定されている単位が自動入力され、変更する事はできません。

◆使用数量

生産品目フラグがOFFの場合に表示されます。予定数量と同じ数量が自動入力されます。

◆移動数量

在庫の増減数を表示します。マイナスの符号がついている場合は、在庫が減少する事を意味しています。

◆使用数量(実績)

生産品目フラグがOFFの場合に表示されます。実績伝票を完成にしたタイミングで、実際に使用した数量が自動入力されます。予定していた使用数量に対して、実際に使用した数量を確認できます。

◆移動数量(実績)

実績伝票を完成にしたタイミングで、実際に使用した在庫数量が自動入力されます。マイナスの場合は、それだけ在庫が減少している事を意味します。反対にプラスの場合は、在庫が増加しています。

◆利用可能数量

入力されている保管場所の該当品目の現在の在庫数量を参考情報として表示しています。

 

 

品質検査項目タブ

品質検査項目タブは、予定伝票明細タブの子タブに位置し、予定伝票明細の生産品目フラグがONの場合に表示されます。生産する品目の、品質検査項目を登録しておくと、実績伝票明細の子タブにある品質検査結果タブのレコードを自動作成する事ができます。

品質検査項目タブ
品質検査項目タブ

 

 

実績製造指図伝票(実績伝票)

実績製造指図伝票(実績伝票)タブ

実績伝票タブは、予定伝票タブの子タブに位置し、予定に対する実績を入力します。そしてその実績値より、伝票ステータスを完成にすると、iDempiere標準機能の製造指図伝票が作られます。1つの予定伝票に対して、実績伝票は複数作成する事ができます。この事により、生産に数日かかるようなケースにおいて、実績値を日々登録するような運用も可能です。入力については、iDempiere標準機能の製造指図伝票の入力方法に準拠しています。

実績製造指図伝票タブ
実績製造指図伝票タブ

 

 

実績製造指図伝票明細(実績伝票明細)タブ

実績伝票明細タブは、実績伝票の子タブであり、対応する予定伝票明細タブの予定データとこの実績伝票明細タブの実績データを対比して予実管理ができるようになっています。 入力については、iDempiere標準機能の製造指図伝票明細の入力方法に準拠しています。

 

 

品質検査結果タブ

品質検査結果タブは、実績伝票明細タブの子タブに位置し、実績伝票明細の生産品目フラグがONの場合に表示されます。入力については、iDempiere標準機能の製造指図伝票の入力方法に準拠しています。

 

 

属性情報タブ

品属性情報タブは、実績伝票明細タブの子タブに配置し、実績伝票明細の生産品目フラグがOFFの場合に表示されます。使用した品目の属性情報が、複数ある場合に、使用します。 入力については、iDempiere標準機能の製造指図伝票の入力方法に準拠しています。

製造指図伝票の作成

実績伝票を完成にすると、iDempiere標準の製造指図伝票が自動作成されます。

  • 完成にする … 伝票ステータスを完成にすると、iDempiere標準の製造指図伝票が完成の状態で作成されます。
  • リバースする …既に作成されているiDempiere標準の製造指図伝票もリバースされます。

※品質検査結果の情報は、iDempiere標準の製造指図伝票には引き継ぎません。

【カスタマイズポイント】iDempiere標準の製造指図伝票の作成とリバース

実績伝票を完成にする時に、iDempiere標準の製造指図伝票は完成の状態で作成され、実績伝票をリバースすると、iDempiere標準の製造指図伝票もリバースされます。

iDempiere標準の製造指図伝票を作成し完成にする処理と、リバースする処理において、JPiereでは、MProductionクラスを直接使用してインスタンスを作成するような事はせずに、モデルクラスのファクトリークラスを経由して、インスタンスを作成するようにしています。つまりMProductionクラスをカスタマイズして使っているようなケースにおいて、そのクラスを使用して、iDempiere標準の製造指図伝票を作成し、完成にしたり、リバースしたりする事ができます。

 

 

予実製造指図伝票のワークフローについて

予実製造指図伝票は、予実製造指図伝票と予定伝票、実績伝票の3つの伝票から構成されており、それぞれでワークフローが使用できます。

予実製造指図伝票のワークフロー

予実製造指図伝票のワークフローは、他のワークフローと同じですので、特筆すべき事はありません。

予実製造指図伝票の標準ノード
予実製造指図伝票の標準ノード

 

予定伝票のワークフロー

予定伝票のワークフローには、完成のノードの後に、完成後の処理を行うプロセスのノードが追加されています。この完成の後のプロセスのノードで、予実製造指図伝票が自動的に完成にするようになっている場合に、完成にする処理を行っています。

予定伝票のワークフロー
予定伝票のワークフロー

 

実績伝票のワークフロー

実績伝票のワークフローには、完成のノードの後に、完成後の処理を行うプロセスのノードが追加されています。この完成の後のプロセスのノードで、予定伝票が自動的に完成にするようになっている場合に、完成にする処理や再分轄の処理を行っています。

実績伝票のワークフロー
実績伝票のワークフロー

 

 

予実製造指図伝票その他

生産数量の端数処理

予実製造指図伝票では、生産数量の端数処理を、数量単位のマスタ設定により制御できます。数量単位には、標準精度と原価計算精度という2つの設定がありますが、どちらの設定を使用するかは、システムコンフィグ設定の"JP_PP_UOM_STDPRECISION"で切り替える事ができます。"Y"にすると、標準精度が適用され、”N”にすると原価計算精度が適用されます。デフォルトは"Y"です。

 

ツリー表示のカスタマイズ

予定伝票タブでは、予定伝票をiDempiere標準機能のツリー表示の機能を活用して、階層表示する事ができます。予定伝票は各製造工程を表しますので、階層表示する事で製造工程を視覚的に確認できます。

このツリーに表示される情報は、名称[Name]フィールドの情報です。そして、ツリーマスタの設定により、名称の前に、検索キー[Value]フィールドの情報を表示するかどうか設定できます。

さらに、予実製造指図伝票では最後に、[実績生産数量/予定生産数量]を表示するようにしています。このようにツリーに表示する情報をカスタマイズできるようにしていますので、カスタマイズしたい場合は、下記のクラスを参考にして下さい。

  • jpiere.base.plugin.org.adempiere.base. PPPlanModelValidator
  • jpiere.base.plugin.org.adempiere.base. PPPlanLineModelValidator
  • jpiere.base.plugin.org.adempiere.base. PPFactModelValidator
  • jpiere.base.plugin.org.adempiere.callout.PPDocCalloutのname()メソッド

 

実績製造指図伝票とiDempiere標準の製造指図伝票の結び付け

実績製造指図伝票を完成にすると、iDempiere標準の製造指図伝票が作成されます。そして、実績製造指図伝票には、作成したiDempiere標準の製造指図伝票のIDがセットされ、iDempiere標準の製造指図伝票には、作成元となった実績製造指図伝票のIDがセットされます。この事により、実績製造指図伝票とiDempiere標準の製造指図伝票の双方から簡単にズームできます。

iDempiere標準の製造指図伝票にある実績製造指図伝票ID
iDempiere標準の製造指図伝票にある実績製造指図伝票ID

 

 

カスタマイズ履歴

2021年10月27日

  • 予定伝票明細タブ(JP_PP_PlanLineテーブル)と予定伝票明細テンプレートタブ(JP_PP_PlanLineTテーブル)に、属性情報(M_AttributeSetInstance_ID)カラムを追加しました。

2021年10月18日

  • 予実製造指図伝票の削除において、実績伝票が存在する場合に、削除ができないエラー表示を改善しました。
  • 予実製造指図伝票の登録時に、検索キーが重複する場合、リフレッシュされてしまう挙動を改善しました。
  • 開始実績と終了実績の日時の入力を手入力できるように対応しました。