[IMP] Improved yml files for mrp* modules
bzr revid: pso@tinyerp.com-20120724131411-cf4tg0h8ylk5dlt7
This commit is contained in:
commit
8d58cdc1bf
|
@ -67,7 +67,7 @@ So that we can compare the theoretic delay and real delay.
|
||||||
'demo_xml': ['mrp_operation_data.xml',
|
'demo_xml': ['mrp_operation_data.xml',
|
||||||
'mrp_operations_demo.yml'],
|
'mrp_operations_demo.yml'],
|
||||||
'test': [
|
'test': [
|
||||||
# 'test/workcenter_operations.yml',
|
'test/workcenter_operations.yml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'auto_install': False,
|
'auto_install': False,
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
I compute the production order.
|
I compute the production order.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
order.action_compute(context=context)
|
order.action_compute(context=context)
|
||||||
-
|
-
|
||||||
I check planned date in workcenter lines of production order.
|
I check planned date in workcenter lines of production order.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
for line in order.workcenter_lines:
|
for line in order.workcenter_lines:
|
||||||
#TODO: to check start date of next line should be end of date of previous line.
|
#TODO: to check start date of next line should be end of date of previous line.
|
||||||
assert line.date_planned, "Planned Start date is not computed: %s" %(line)
|
assert line.date_planned, "Planned Start date is not computed: %s" %(line)
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
-
|
-
|
||||||
I confirm the Production Order.
|
I confirm the Production Order.
|
||||||
-
|
-
|
||||||
!workflow {model: mrp.production, action: button_confirm, ref: mrp.mrp_production_shelf100cm}
|
!workflow {model: mrp.production, action: button_confirm, ref: mrp.mrp_production_1}
|
||||||
-
|
-
|
||||||
I run scheduler.
|
I run scheduler.
|
||||||
-
|
-
|
||||||
|
@ -27,17 +27,17 @@
|
||||||
I forcefully close internal shipment.
|
I forcefully close internal shipment.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
self.force_production(cr, uid, [ref("mrp.mrp_production_shelf100cm")])
|
self.force_production(cr, uid, [ref("mrp.mrp_production_1")])
|
||||||
-
|
-
|
||||||
I start production.
|
I start production.
|
||||||
-
|
-
|
||||||
!workflow {model: mrp.production, action: button_produce, ref: mrp.mrp_production_shelf100cm}
|
!workflow {model: mrp.production, action: button_produce, ref: mrp.mrp_production_1}
|
||||||
-
|
-
|
||||||
Production start on first work center, so I start work operation on first work center.
|
Production start on first work center, so I start work operation on first work center.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
||||||
-
|
-
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_pause', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_pause', cr)
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_resume', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_resume', cr)
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_resume', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_resume', cr)
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_cancel', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_cancel', cr)
|
||||||
-
|
-
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_draft', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_draft', cr)
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_done', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_done', cr)
|
||||||
-
|
-
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
import netsvc
|
import netsvc
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
for work_line in order.workcenter_lines[1:]:
|
for work_line in order.workcenter_lines[1:]:
|
||||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', work_line.id, 'button_start_working', cr)
|
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', work_line.id, 'button_start_working', cr)
|
||||||
|
@ -98,7 +98,7 @@
|
||||||
I check that the production order is now done.
|
I check that the production order is now done.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!python {model: mrp.production}: |
|
||||||
order = self.browse(cr, uid, ref("mrp.mrp_production_shelf100cm"), context=context)
|
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||||
print order.state
|
print order.state
|
||||||
assert order.state == 'done', "Production should be closed after finished all operations."
|
assert order.state == 'done', "Production should be closed after finished all operations."
|
||||||
-
|
-
|
||||||
|
|
|
@ -47,7 +47,7 @@ With this module:
|
||||||
],
|
],
|
||||||
'demo_xml': [],
|
'demo_xml': [],
|
||||||
'test': [
|
'test': [
|
||||||
#'test/mrp_subproduct.yml'
|
'test/mrp_subproduct.yml'
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'auto_install': False,
|
'auto_install': False,
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
In order to test mrp_subproduct with OpenERP, I add subproduct in bill of material.
|
In order to test mrp_subproduct with OpenERP, I add subproduct in bill of material.
|
||||||
I make a production order, confirm it so stock moves for subproducts are generated.
|
I make a production order, confirm it so stock moves for subproducts are generated.
|
||||||
-
|
-
|
||||||
I add a sub product in Bill of material for product Cabinet.
|
I add a sub product in Bill of material for product External Hard Disk.
|
||||||
-
|
-
|
||||||
!record {model: mrp.bom, id: mrp_bom_arm1}:
|
!record {model: mrp.bom, id: mrp.mrp_bom_24}:
|
||||||
product_id: product.product_product_28
|
product_id: product.product_product_28
|
||||||
name: ARM100 + Subproduct
|
name: External Hard Disk + Subproduct
|
||||||
product_uom: product.product_uom_unit
|
product_uom: product.product_uom_unit
|
||||||
sub_products:
|
sub_products:
|
||||||
- product_id: product.product_product_33
|
- product_id: product.product_product_33
|
||||||
|
@ -14,13 +14,13 @@
|
||||||
product_qty: 2.0
|
product_qty: 2.0
|
||||||
subproduct_type: fixed
|
subproduct_type: fixed
|
||||||
-
|
-
|
||||||
I create a production order for Cabinet.
|
I create a production order for External Hard Disk.
|
||||||
-
|
-
|
||||||
!record {model: mrp.production, id: mrp_production_mo0}:
|
!record {model: mrp.production, id: mrp_production_mo0}:
|
||||||
product_id: product.product_product_28
|
product_id: product.product_product_28
|
||||||
product_qty: 10.0
|
product_qty: 2.0
|
||||||
product_uom: product.product_uom_unit
|
product_uom: product.product_uom_unit
|
||||||
bom_id: mrp_bom_arm1
|
bom_id: mrp.mrp_bom_24
|
||||||
location_src_id: stock.stock_location_stock
|
location_src_id: stock.stock_location_stock
|
||||||
-
|
-
|
||||||
I compute the data of production order.
|
I compute the data of production order.
|
||||||
|
@ -30,8 +30,7 @@
|
||||||
-
|
-
|
||||||
I confirm the production order.
|
I confirm the production order.
|
||||||
-
|
-
|
||||||
!python {model: mrp.production}: |
|
!workflow {model: mrp.production, action: button_confirm, ref: mrp_production_mo0}
|
||||||
self.action_confirm(cr, uid, [ref('mrp_production_mo0')])
|
|
||||||
-
|
-
|
||||||
I check production order state.
|
I check production order state.
|
||||||
-
|
-
|
||||||
|
@ -59,7 +58,7 @@
|
||||||
I create record for selecting mode and quantity of products to produce.
|
I create record for selecting mode and quantity of products to produce.
|
||||||
-
|
-
|
||||||
!record {model: mrp.product.produce, id: mrp_product_produce0}:
|
!record {model: mrp.product.produce, id: mrp_product_produce0}:
|
||||||
product_qty: 10.00
|
product_qty: 2.00
|
||||||
mode: 'consume_produce'
|
mode: 'consume_produce'
|
||||||
-
|
-
|
||||||
I finish the production order.
|
I finish the production order.
|
||||||
|
@ -67,9 +66,10 @@
|
||||||
!python {model: mrp.product.produce}: |
|
!python {model: mrp.product.produce}: |
|
||||||
self.do_produce(cr, uid, [ref("mrp_product_produce0")], {"active_model": "mrp.production", "active_ids":[ref("mrp_production_mo0")], "active_id": ref("mrp_production_mo0")})
|
self.do_produce(cr, uid, [ref("mrp_product_produce0")], {"active_model": "mrp.production", "active_ids":[ref("mrp_production_mo0")], "active_id": ref("mrp_production_mo0")})
|
||||||
-
|
-
|
||||||
I see that stock moves of Cabinet including Wooden Table are done now.
|
I see that stock moves of External Hard Disk including Headset USB are done now.
|
||||||
-
|
-
|
||||||
!python {model: stock.move}: |
|
!python {model: stock.move}: |
|
||||||
move_ids = self.search(cr, uid, [('product_id','in',[ref("product.product_product_28"),ref("product.product_product_41")])])
|
production_order = self.pool.get('mrp.production').browse(cr, uid, ref("mrp_production_mo0"))
|
||||||
|
move_ids = self.search(cr, uid, [('origin','=',production_order.name), ('product_id','in',[ref("product.product_product_28"),ref("product.product_product_33")])])
|
||||||
moves = self.browse(cr, uid, move_ids)
|
moves = self.browse(cr, uid, move_ids)
|
||||||
assert all(move.state == 'done' for move in moves), 'Moves are not done!'
|
assert all(move.state == 'done' for move in moves), 'Moves are not done!'
|
||||||
|
|
Loading…
Reference in New Issue