[IMP]purchase: Improve code for invoice and cancel process

bzr revid: dbr@tinyerp.com-20111011114507-351e9wr94gio2rju
This commit is contained in:
DBR (OpenERP)
2011-10-11 17:15:07 +05:30
parent 7b65544e90
commit dc70ffdd2e
3 changed files with 50 additions and 23 deletions
@@ -41,3 +41,15 @@
account_obj = self.pool.get('account.invoice')
ids = account_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
assert ids, _('Pending Invoice is not created!')
-
I check that an entry gets created in the stock moves.
-
!python {model: purchase.order}: |
from tools.translate import _
pur_id1=self.browse(cr, uid, ref("purchase_order_po0"))
picking_obj = self.pool.get('stock.picking')
ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
pick_id = picking_obj.browse(cr, uid, ids)[0]
move_obj = self.pool.get('stock.move')
search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)])
assert search_id, _('No Incoming Product!')
@@ -1,15 +1,3 @@
-
I check that an entry gets created in the stock moves.
-
!python {model: purchase.order}: |
from tools.translate import _
pur_id1=self.browse(cr, uid, ref("purchase_order_po0"))
picking_obj = self.pool.get('stock.picking')
ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
pick_id = picking_obj.browse(cr, uid, ids)[0]
move_obj = self.pool.get('stock.move')
search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)])
assert search_id, _('No Incoming Product!')
-
I create a new Purchase order where "invoice_method" is From Picking
-
@@ -40,16 +28,28 @@
pur_id=self.browse(cr, uid, ref("purchase_order_po1"))
assert(pur_id.picking_ids)
-
I check that an entry gets created related to stock move.
Then I create an further process from picking by clicking on "process" button
-
!python {model: purchase.order}: |
pur_id1=self.browse(cr, uid, ref("purchase_order_po1"))
picking_obj = self.pool.get('stock.picking')
ids = picking_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
pick_id = picking_obj.browse(cr, uid, ids)[0]
move_obj = self.pool.get('stock.move')
search_id = move_obj.search(cr, uid, [('picking_id', '=', pick_id.name)])
assert search_id, 'No Incoming Product!'
!python {model: stock.picking}: |
import time
pur_obj=self.pool.get('purchase.order')
pur_id1=pur_obj.browse(cr, uid, ref("purchase_order_po1"))
pick_ids = [x.id for x in pur_id1.picking_ids]
self.action_process(cr, uid, pick_ids)
pickings = self.browse(cr, uid, pick_ids)
for picking in pickings:
move = picking.move_lines[0]
partial_datas = {
'partner_id': picking.address_id.partner_id.id,
'address_id': picking.address_id.id,
'delivery_date' : time.strftime('%Y-%m-%d')
}
partial_datas['move%s'%(move.id)]= {
'product_id': move.product_id,
'product_qty': move.product_qty,
'product_uom': move.product_uom.id,
}
self.do_partial(cr, uid, [picking.id], partial_datas)
-
Then I create an invoice from picking by clicking on "Create Invoice" wizard
-
@@ -1,5 +1,5 @@
-
In order to test to Cancel purchase order from Different State,I start by cancel the previously created PO.
In order to test to Cancel purchase order from Different State,I start cancel the previously created PO.
-
Now I have to cancel previously created purchase order for product 'Side Panel'.
-
@@ -9,10 +9,15 @@
search_ids=self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_po1"))])
self.action_cancel(cr, uid, search_ids)
-
Now I have to cancel purchase order for product 'Side Panel'.
Now I am able to cancel purchase order for product 'Side Panel' because related picking was cancel.
-
!python {model: purchase.order}: |
self.action_cancel(cr, uid, [ref("purchase_order_po1")])
-
Initially purchase order is in the cancel state.
-
!assert {model: purchase.order, id: purchase_order_po1}:
- state == 'cancel'
-
Now again set purchase order for product 'Side Panel' to draft state.
-
@@ -23,3 +28,13 @@
-
!assert {model: purchase.order, id: purchase_order_po1}:
- state == 'draft'
-
I have to cancel PO form draft state.
-
!python {model: purchase.order}: |
self.action_cancel(cr, uid, [ref("purchase_order_po1")])
-
Initially purchase order is in the cancel state.
-
!assert {model: purchase.order, id: purchase_order_po1}:
- state == 'cancel'