|
- Planned Date
+ Scheduled Date
|
Printing date
@@ -328,6 +334,9 @@
+
+
+
Consumed Products [[ o.move_lines2 ==[] and removeParentNode('section')]]
diff --git a/addons/mrp/stock.py b/addons/mrp/stock.py
index 3e158b4d0cf..248e39989d8 100644
--- a/addons/mrp/stock.py
+++ b/addons/mrp/stock.py
@@ -33,14 +33,8 @@ class StockMove(osv.osv):
_columns = {
'production_id': fields.many2one('mrp.production', 'Production', select=True),
- 'procurements': fields.one2many('procurement.order', 'move_id', 'Procurements'),
}
- def copy(self, cr, uid, id, default=None, context=None):
- default = default or {}
- default['procurements'] = []
- return super(StockMove, self).copy(cr, uid, id, default, context)
-
def _action_explode(self, cr, uid, move, context={}):
""" Explodes pickings.
@param move: Stock moves
@@ -152,17 +146,6 @@ StockMove()
class StockPicking(osv.osv):
_inherit = 'stock.picking'
- def test_finnished(self, cursor, user, ids):
- wf_service = netsvc.LocalService("workflow")
- res = super(StockPicking, self).test_finnished(cursor, user, ids)
- for picking in self.browse(cursor, user, ids):
- for move in picking.move_lines:
- if move.state == 'done' and move.procurements:
- for procurement in move.procurements:
- wf_service.trg_validate(user, 'procurement.order',
- procurement.id, 'button_check', cursor)
- return res
-
#
# Explode picking by replacing phantom BoMs
#
diff --git a/addons/mrp/test/mrp_packs.yml b/addons/mrp/test/mrp_packs.yml
index 6b3fbd08fba..76e3eb58f2c 100644
--- a/addons/mrp/test/mrp_packs.yml
+++ b/addons/mrp/test/mrp_packs.yml
@@ -8,6 +8,10 @@
categ_id: product.cat1
name: Beers
procure_method: make_to_stock
+ seller_ids:
+ - delay: 1
+ name: base.res_partner_agrolait
+ min_qty: 2.0
supply_method: buy
type: product
uom_id: product.product_uom_unit
@@ -19,6 +23,10 @@
categ_id: product.cat1
name: Beers Pack
procure_method: make_to_stock
+ seller_ids:
+ - delay: 1
+ name: base.res_partner_asus
+ min_qty: 2.0
supply_method: buy
type: product
uom_id: product.product_uom_unit
@@ -87,8 +95,9 @@
converted to a picking of 24 beers and a pack of beer, so that my
stock of beers remains exact.
-
- !assert {model: stock.picking, id: picking_out, string:pack_of_beer_splitted}:
+ !assert {model: stock.picking, id: picking_out, string: pack_of_beer_splitted}:
- len(move_lines) == 2
- move_lines[0].product_id.id <> move_lines[1].product_id.id
- move_lines[0].product_id.id in (ref('product_product_beers0'), ref('product_product_beerspack0'))
- move_lines[1].product_id.id in (ref('product_product_beers0'), ref('product_product_beerspack0'))
+
diff --git a/addons/mrp/test/mrp_phantom_bom.yml b/addons/mrp/test/mrp_phantom_bom.yml
index 1cb7aa9b631..71a04fc79d7 100644
--- a/addons/mrp/test/mrp_phantom_bom.yml
+++ b/addons/mrp/test/mrp_phantom_bom.yml
@@ -67,7 +67,11 @@
!record {model: product.product, id: product_product_water0}:
categ_id: product.cat1
name: Water
- procure_method: make_to_stock
+ procure_method: make_to_order
+ seller_ids:
+ - delay: 1
+ name: base.res_partner_agrolait
+ min_qty: 2.0
supply_method: buy
type: consu
uom_id: product_uom_litre0
@@ -196,14 +200,14 @@
-
!python {model: procurement.order}: |
from tools.translate import _
- proc_ids = self.search(cr, uid, [('state','!=','confirmed')])
+ proc_ids = self.search(cr, uid, [('state','=','confirmed')])
assert proc_ids, _('No Procurements!')
-
The scheduler runs.
-
!function {model: procurement.order, name: run_scheduler}:
- model: procurement.order
- search: "[('state','=','confirmed')]"
+ search: "[]"
-
I am checking Internal picking. I see one picking for Orange juice and its
stock moves for Oranges, Sugar and Water made correctly.
@@ -256,7 +260,7 @@
-
!python {model: stock.partial.picking}: |
pick_obj = self.pool.get('stock.picking')
- picking_ids = pick_obj.search(cr, uid, [('address_id.name','=','Tang'),('state','=','assigned')])
+ picking_ids = pick_obj.search(cr, uid, [('type','=','in'),('state','=','assigned')])
partial = self.browse(cr, uid, 1, context)
partial_datas = {
'delivery_date': partial.date
@@ -274,4 +278,29 @@
'product_currency': m.product_currency
})
pick_obj.do_partial(cr, uid, picking_ids, partial_datas, context=context)
-
+-
+ Again the scheduler runs.
+-
+ !function {model: procurement.order, name: run_scheduler}:
+ - model: procurement.order
+ search: "[]"
+-
+ I check my internal picking of "Orange Juice" is done.
+-
+ !python {model: stock.picking}: |
+ from tools.translate import _
+ pick_ids = self.search(cr, uid, [('type','=','internal'),('state','=','done')])
+ assert pick_ids, _('Internal Picking is not done yet!')
+-
+ I check my manufacturing order for "Orange Juice" is ready or not.
+-
+ !python {model: mrp.production}: |
+ from tools.translate import _
+ pick_ids = self.search(cr, uid, [('state','=','ready'),('id','=',ref('mrp_production_mo0'))])
+ assert pick_ids, _('Manufacturing order is not ready!')
+-
+ I start the production order.
+-
+ !workflow {model: mrp.production, action: button_produce, ref: mrp_production_mo0}
+
+
diff --git a/addons/mrp/test/mrp_procurement.yml b/addons/mrp/test/mrp_procurement.yml
index 5ce256ab7d9..7435503bac9 100644
--- a/addons/mrp/test/mrp_procurement.yml
+++ b/addons/mrp/test/mrp_procurement.yml
@@ -343,4 +343,4 @@
prod_obj = self.pool.get('mrp.production')
prod_ids = prod_obj.search(cr, uid, [('product_id.name','=','Shirt')])
self.do_produce(cr, uid, [1], context={'active_ids': prod_ids})
-
\ No newline at end of file
+
diff --git a/addons/mrp/test/mrp_production_order.yml b/addons/mrp/test/mrp_production_order.yml
index 0ceebfab107..476d79f7fab 100644
--- a/addons/mrp/test/mrp_production_order.yml
+++ b/addons/mrp/test/mrp_production_order.yml
@@ -86,7 +86,7 @@
-
!python {model: procurement.order}: |
from tools.translate import _
- proc_ids = self.search(cr, uid, [('state','!=','confirmed')])
+ proc_ids = self.search(cr, uid, [('state','=','confirmed')])
assert proc_ids, _('No Procurements!')
-
The scheduler runs.
@@ -110,6 +110,8 @@
assert order_ids, _('No manufacturing order!')
-
I start producing that product first. So I marked it as started.
+-
+ !workflow {model: mrp.production, action: button_produce, ref: mrp_production_mo0}
-
I create record for producing products with quantity 5.00.
-
diff --git a/addons/procurement/company_view.xml b/addons/procurement/company_view.xml
index 543e36fe02f..e046fd4faee 100644
--- a/addons/procurement/company_view.xml
+++ b/addons/procurement/company_view.xml
@@ -6,6 +6,7 @@
res.company.mrp.config
res.company
form
+ 17
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 2b3eeb9b64c..145395ed5f5 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -60,6 +60,21 @@ class mrp_property(osv.osv):
'composition': lambda *a: 'min',
}
mrp_property()
+
+class StockMove(osv.osv):
+ _inherit = 'stock.move'
+
+ _columns= {
+ 'procurements': fields.one2many('procurement.order', 'move_id', 'Procurements'),
+ }
+
+ def copy(self, cr, uid, id, default=None, context=None):
+ default = default or {}
+ default['procurements'] = []
+ return super(StockMove, self).copy(cr, uid, id, default, context)
+
+StockMove()
+
class procurement_order(osv.osv):
"""
Procurement Orders
@@ -464,6 +479,21 @@ class procurement_order(osv.osv):
procurement_order()
+class StockPicking(osv.osv):
+ _inherit = 'stock.picking'
+
+ def test_finnished(self, cursor, user, ids):
+ wf_service = netsvc.LocalService("workflow")
+ res = super(StockPicking, self).test_finnished(cursor, user, ids)
+ for picking in self.browse(cursor, user, ids):
+ for move in picking.move_lines:
+ if move.state == 'done' and move.procurements:
+ for procurement in move.procurements:
+ wf_service.trg_validate(user, 'procurement.order',
+ procurement.id, 'button_check', cursor)
+ return res
+
+StockPicking()
class stock_warehouse_orderpoint(osv.osv):
"""
diff --git a/addons/purchase/company_view.xml b/addons/purchase/company_view.xml
index d7707fe32c7..d9d2fb9f9ee 100644
--- a/addons/purchase/company_view.xml
+++ b/addons/purchase/company_view.xml
@@ -6,6 +6,7 @@
res.company.mrp.config
res.company
form
+ 19
diff --git a/addons/sale/company_view.xml b/addons/sale/company_view.xml
index 4088c38db08..96ff91e8e90 100644
--- a/addons/sale/company_view.xml
+++ b/addons/sale/company_view.xml
@@ -5,6 +5,7 @@
res.company.mrp.config
res.company
form
+ 24
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 7401d1dc534..b2df12965d3 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -694,15 +694,14 @@ class sale_order(osv.osv):
self.pool.get('sale.order.line').write(cr, uid, [line.id], {'procurement_id': proc_id})
val = {}
- if picking_id:
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
-
for proc_id in proc_ids:
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
- wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)
+ if picking_id:
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
+
if order.state == 'shipping_except':
val['state'] = 'progress'
diff --git a/addons/sale/sale_demo.xml b/addons/sale/sale_demo.xml
index 31ab58eb60b..cd0fdbd682f 100644
--- a/addons/sale/sale_demo.xml
+++ b/addons/sale/sale_demo.xml
@@ -2,15 +2,6 @@
-
-
-
-
-
-
-
-
-
|