iDempiere 品質検査の使い方|製造 操作マニュアル・技術仕様
📖 製造の全体像: 製造の全体図 も合わせてご覧ください。
品質検査は、製造した完成品に対して実施する検査項目を定義し、対象品目と期待結果を割り当てるマスタです。ここで割り当てた検査は、製造指図伝票(単品)でロット管理された完成品を登録した際に検査結果行として自動生成され、検査担当者が結果と合否を記録します。
📌 ポイント: 検査結果の入力はこのウィンドウではなく、製造指図伝票(単品)の「品質検査結果」タブで行います。このウィンドウは「どの品目に・どの検査を・どの期待結果で行うか」の定義専用です。
品質検査でできること
Section titled “品質検査でできること”- 検査項目(検査名・説明・実施手順コメント)の定義
- 検査項目への対象品目の割り当て(1 検査 : 多品目)
- 品目ごとの期待結果(合格基準)の登録
- 製造指図伝票での完成品ロット登録時の検査結果行の自動生成
品質検査はシンプルな 2 タブ構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| 品質検査 | M_QualityTest | 6項目 | 検査項目の定義(名称・説明・コメント) |
| Product | M_Product_QualityTest | 6項目 | 対象品目と期待結果の割り当て |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>生産管理 > 品質検査"] --> B["➕ 新規で検査項目を定義<br/>(名称・説明・コメント)"]
B --> C["📋 Product タブで対象品目を割当<br/>(品目 + 期待結果)"]
C --> D["💾 保存"]
D --> E["🏭 製造指図伝票 (単品) で<br/>完成品ロットを登録すると<br/>検査結果行が自動生成"]
E --> F["✅ 品質検査結果タブで<br/>結果と QC Pass を入力"]
アクセス方法
Section titled “アクセス方法”メニューから「生産管理(Manufacturing Lite) > 品質検査」を開きます。
- ツールバーの「新規」ボタンをクリック
- 品質検査タブで検査項目を入力:
- 名称: 検査項目名(例:
外観検査、寸法検査) - 説明: 検査の概要(任意)
- コメント: 検査手順や判定基準のメモ(任意)
- 名称: 検査項目名(例:
- 「保存」をクリック
- 「Product」タブに移動し、対象品目を割り当て:
- 品目: 検査対象の品目
- 希望通りの結果(期待結果): 合格基準となる期待値(必須。例:
キズなし、10.0±0.1mm)
- 「保存」をクリック
💡 ヒント: 1 つの検査項目に複数の品目を割り当てられます。同じ品目に複数の検査項目を割り当てることもでき、その場合は製造時に検査項目の数だけ結果行が生成されます。
項目リファレンス
Section titled “項目リファレンス”品質検査タブ
Section titled “品質検査タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | 検査項目名 |
| 説明 | - | 文字列 | 検査の概要 |
| コメント | - | テキスト | 検査手順・判定基準のメモ |
| 有効 | 必須 | チェック | 無効化すると結果の自動生成対象外 |
Product タブ
Section titled “Product タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| Quality Test | 必須 | 選択 | 親の検査項目(自動セット) |
| 品目 | 必須 | 検索 | 検査対象の品目 |
| 希望通りの結果 | 必須 | 文字列 | 合格基準となる期待値 |
| 有効 | 必須 | チェック | 割り当ての有効/無効 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 検査結果はどこで入力しますか?
Section titled “Q. 検査結果はどこで入力しますか?”製造指図伝票(単品)の「品質検査結果」タブで入力します。品質検査ウィンドウは検査項目の定義と品目への割り当てのみを行い、実際の結果(対応結果・QC Pass)はロットごとに伝票側で記録します。
Q. 検査結果行が自動生成される条件は?
Section titled “Q. 検査結果行が自動生成される条件は?”以下の 3 条件がすべて満たされたとき、製造指図伝票の明細保存時に結果行が自動生成されます。
- 明細が最終製品行(完成品行)である
- 明細に属性セットインスタンス(ロット等)が設定されている
- その品目が品質検査の Product タブに割り当て済みである
同一ロット(同一属性セットインスタンス)で既に結果行がある検査項目は重複生成されません。生成された行は QC Pass = N・未処理の状態で作成されます。
Q. 品目マスタ側での設定は必要ですか?
Section titled “Q. 品目マスタ側での設定は必要ですか?”品質検査の割り当て自体はこのウィンドウの Product タブで完結します。ただし結果の自動生成にはロット管理が前提となるため、対象品目に属性セット(ロット等)を設定しておく必要があります。属性セットは品目マスタで設定します。
Q. 検査項目を削除できますか?
Section titled “Q. 検査項目を削除できますか?”検査結果(M_QualityTestResult)や品目割り当てから参照されている検査項目は削除できません。使用を止める場合は「有効」チェックを外して無効化してください。無効化した検査は結果の自動生成対象から外れます。
🛠 技術仕様(開発者向け)
品質検査はマスタデータ型のウィンドウ(AD_Window_ID: 53149)で、検査定義を M_QualityTest、品目割り当てを M_Product_QualityTest に格納します。モデルクラス MQualityTest(78行)は結果レコード生成メソッド createResult() を 1 つ持つ薄いクラスで、MQualityTestResult(62行)はコンストラクタのみの生成クラスラッパです。M_Product_QualityTest には M クラスが無く、生成クラス(X_ クラス)のみです。アクセスレベルはいずれも Client+Org です。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MQualityTest {
+createResult(M_AttributeSetInstance_ID) MQualityTestResult
}
class MQualityTestResult
class X_M_QualityTest {
<<generated>>
}
class X_M_QualityTestResult {
<<generated>>
}
class MProductionLine
MQualityTest --|> X_M_QualityTest
MQualityTestResult --|> X_M_QualityTestResult
MQualityTest --> MQualityTestResult : createResult()
MProductionLine --> MQualityTest : beforeSave で照会
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MQualityTest.java / MQualityTestResult.java
関連DBテーブル
Section titled “関連DBテーブル”M_QualityTest(品質検査)
Section titled “M_QualityTest(品質検査)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_QualityTest_ID | ID | PK | 検査 ID | 主キー |
| Name | String(60) | Y | 検査項目名 | 識別子 |
| Description | String(255) | N | 説明 | |
| Help | Text(2000) | N | コメント | |
| IsActive | YesNo | Y | 有効 | デフォルト Y |
M_Product_QualityTest(品目割り当て)
Section titled “M_Product_QualityTest(品目割り当て)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_Product_QualityTest_ID | ID | PK | 割り当て ID | 主キー |
| M_QualityTest_ID | TableDirect | Y | 検査 FK | 親リンク |
| M_Product_ID | Search | Y | 対象品目 FK | |
| ExpectedResult | String(255) | Y | 期待結果 | 必須 |
M_QualityTestResult(検査結果 ※製造指図伝票側のタブ)
Section titled “M_QualityTestResult(検査結果 ※製造指図伝票側のタブ)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_QualityTestResult_ID | ID | PK | 結果 ID | 主キー |
| M_QualityTest_ID | TableDirect | Y | 検査 FK | |
| M_AttributeSetInstance_ID | Product Attribute | Y | 対象ロット(ASI) | 親リンク |
| ExpectedResult | String(22) | N | 期待結果 | |
| Result | String(255) | N | 実測結果 | |
| IsQCPass | YesNo | Y | 合否 | 自動生成時 N |
| Processed | YesNo | Y | 処理済み | 自動生成時 N |
ビジネスロジック
Section titled “ビジネスロジック”MQualityTest.createResult()
Section titled “MQualityTest.createResult()”属性セットインスタンス ID を受け取り、M_QualityTestResult を新規生成・保存して返します。生成時は Processed=false・IsQCPass=false で初期化されます。
結果行の自動生成(呼び出し元: MProductionLine.beforeSave())
Section titled “結果行の自動生成(呼び出し元: MProductionLine.beforeSave())”製造指図伝票明細の保存時、最終製品行かつ ASI 設定ありの場合に以下のクエリで「割り当て済みかつ当該 ASI で未実施」の検査を抽出し、それぞれ createResult() を呼び出します。
M_QualityTest_ID IN (SELECT M_QualityTest_ID FROM M_Product_QualityTest WHERE M_Product_ID=?)AND M_QualityTest_ID NOT IN (SELECT M_QualityTest_ID FROM M_QualityTestResult WHERE M_AttributeSetInstance_ID=?)有効な検査のみが対象です(setOnlyActiveRecords(true))。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”OSGi Model Validator(推奨)
Section titled “OSGi Model Validator(推奨)”合否判定の自動化(例: Result が数値範囲内なら IsQCPass=Y を自動セット)や、不合格時の後続処理(通知・ロットのステータス変更)は、M_QualityTestResult を対象とした Model Validator の TYPE_BEFORE_CHANGE / TYPE_AFTER_CHANGE で実装できます。標準では合否判定ロジックは無く、QC Pass は手動チェックです。
Callout
Section titled “Callout”このウィンドウのカラムに標準 Callout はありません。
関連プロセス
Section titled “関連プロセス”リファレンスページ・メニューに関連プロセスはありません。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”iDempiereの品質検査は標準では定義と結果記録のみのシンプルな機能です。 数値基準による合否自動判定や不合格ロットの出荷ブロックなど、Model Validator による拡張が効果的な領域です。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。