Improved usability & code cleaning:
- Support for blanket orders, in addition of purchase tenders
("Purchase Agreements")
- Create a RfQ in one click, no wizard anymore
- Control of quantities really purchased
- Better control of side-effects thanks to purchase requisition types
- JS code removed (not necessary)
- Workflow removed
Closes #11666
34 lines
1.5 KiB
YAML
34 lines
1.5 KiB
YAML
-
|
|
I create the procurement order and run that procurement.
|
|
-
|
|
!python {model: make.procurement}: |
|
|
context.update({'active_model':'product.product', 'active_ids': [ref('product.product_product_13')], 'active_id': ref('product.product_product_13')})
|
|
-
|
|
!record {model: make.procurement, id: procurement_product_hdd3}:
|
|
product_id: product.product_product_13
|
|
qty: 15
|
|
uom_id: product.product_uom_unit
|
|
warehouse_id: stock.warehouse0
|
|
-
|
|
!python {model: make.procurement}: |
|
|
self.make_procurement(cr, uid, [ref('procurement_product_hdd3')], context)
|
|
-
|
|
I run the scheduler.
|
|
-
|
|
!python {model: procurement.order}: |
|
|
self.run_scheduler(cr, uid)
|
|
-
|
|
I check requisition details which created after run procurement.
|
|
-
|
|
!python {model: procurement.order}: |
|
|
from openerp.tools import float_compare
|
|
procurement_ids = self.search(cr, uid, [('requisition_id','!=', False)])
|
|
for procurement in self.browse(cr, uid, procurement_ids, context=context):
|
|
requisition = procurement.requisition_id
|
|
assert requisition.date_end == procurement.date_planned, "End date is not correspond."
|
|
assert len(requisition.line_ids) == 1, "Requisition Lines should be one."
|
|
line = requisition.line_ids[0]
|
|
assert line.product_id.id == procurement.product_id.id, "Product is not correspond."
|
|
assert line.product_uom_id.id == procurement.product_uom.id, "UOM is not correspond."
|
|
assert float_compare(line.product_qty, procurement.product_qty, precision_digits=2) == 0, "Quantity is not correspond."
|