✅ それぞれの役割と関係性
| 機能 | 主な役割 | 関連 |
|---|
| プロダクト(product.template) | 製品の基本情報(共通部分) | プロダクトバリアントの親、BOMの対象、ロット管理の対象 |
| プロダクトバリアント(product.product) | 個別の製品バリエーション(色、サイズ等) | プロダクトの派生形。各ロット/シリアルに紐づく |
| 部品表(BOM、mrp.bom) | 製品を作るための部品構成 | プロダクト/プロダクトバリアントに関連付け可能 |
| ロット・製品番号(stock.lot) | 製品/原材料の追跡管理(トレーサビリティ) | プロダクトバリアント単位で発行。BOMの部品にも紐づく |
graph TD
A[プロダクト (product.template)]
--> B[プロダクトバリアント (product.product)]
B --> C[ロット/シリアル (stock.lot)]
A --> D[部品表 (mrp.bom)]
D --> E[部品 (product.template または product.product)]
✅ 各要素の詳細とつながり
1️⃣ プロダクト(product.template)
- 製品の基本情報(共通属性)
- 例:Tシャツ(色・サイズは共通)
2️⃣ プロダクトバリアント(product.product)
- プロダクトの具体的な「バリエーション」
- プロダクトに定義した属性(Attribute)によって自動生成される
- 例:
- Tシャツ(赤・Mサイズ)
- Tシャツ(青・Lサイズ)
- ロット/シリアルはこのレベルで紐づく
3️⃣ 部品表(BOM、mrp.bom)
- ある製品を作るために必要な部品のリスト
- 対象は:
- プロダクト単位(全バリアント共通)
- またはプロダクトバリアント単位(個別BOM)
- 例:
- プロダクト「自転車」→ 部品表にはフレーム、タイヤ、ハンドルなど
- 製造時にはBOMに従って作業オーダーや材料引当が行われる
4️⃣ ロット・製品番号(stock.lot)
- 個別の在庫単位を識別するための番号
- ロット(Lot):複数の数量が同じ番号で管理
- シリアル(Serial Number):1つの製品ごとに一意の番号
- 紐づき先は プロダクトバリアント単位(product.product)
- 例:
- 製品「Tシャツ(赤・M)」のロット番号「LOT-20240526-001」
✅ 製品作成から出荷までの流れイメージ
| ステップ | データの関係 |
|---|
| 製品を作成 | プロダクト(product.template)作成 |
| バリエーション追加 | 属性を設定 → プロダクトバリアント生成 |
| 製造のため部品表作成 | プロダクト/バリアントにBOMを作成 |
| 製造オーダー発行 | BOM参照 → 材料引当/作業オーダー作成 |
| 完成品入庫 | プロダクトバリアント + ロット/シリアル で在庫管理 |
| 出荷 | ロット番号やシリアル番号で追跡可能 |
✅ まとめ
| 項目 | 管理対象 | 関連性 |
|---|
| プロダクト | 製品の共通情報 | 親 |
| プロダクトバリアント | 色・サイズ別の個体 | 子。ロット/シリアルはここで管理 |
| 部品表(BOM) | 組立に必要な部品リスト | プロダクト/バリアントに紐づく |
| ロット/シリアル | 追跡単位の識別子 | バリアントに紐づき、入出庫を管理 |
erDiagram
PRODUCT_TEMPLATE ||--o{ PRODUCT_PRODUCT : has
PRODUCT_PRODUCT ||--o{ LOT : has
PRODUCT_TEMPLATE ||--o{ BOM : has
BOM ||--o{ BOM_LINE : has
BOM_LINE }o--|| PRODUCT_TEMPLATE : uses
PRODUCT_PRODUCT ||--o{ STOCK_MOVE : generates
PRODUCT_PRODUCT ||--o{ PURCHASE_ORDER_LINE : purchased
PRODUCT_PRODUCT ||--o{ SALE_ORDER_LINE : sold
PRODUCT_TEMPLATE ||--o{ MRP_PRODUCTION : produces
MRP_PRODUCTION ||--o{ MRP_WORKORDER : consists_of
PRODUCT_TEMPLATE {
string name
string type
}
PRODUCT_PRODUCT {
string name
string attribute_values
}
LOT {
string name
string serial_number
}
BOM {
string name
string type
}
BOM_LINE {
int quantity
}
STOCK_MOVE {
int quantity
date move_date
}
PURCHASE_ORDER_LINE {
float price_unit
int quantity
}
SALE_ORDER_LINE {
float price_unit
int quantity
}
MRP_PRODUCTION {
string production_name
int quantity
}
MRP_WORKORDER {
string workorder_name
string state
}
コメントを残す