Jagdish Panchal (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-addons/6.1-opw-576212-jap into 
lp:openobject-addons/6.1.

Requested reviews:
  Jagdish Panchal (Open ERP) (jap-openerp)
  Priyesh (OpenERP) (pso-openerp)
  Naresh(OpenERP) (nch-openerp)
Related bugs:
  Bug #1011607 in OpenERP Addons: "[Stock_invoice_directly]warehouse/delivery 
orders - invoice incorrect shipment (generated the invoice of backorder is done 
a partial picking)"
  https://bugs.launchpad.net/openobject-addons/+bug/1011607

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/6.1-opw-576212-jap/+merge/112541

Hello,

Steps to Reproduce the issue:

1) Install stock_invoice_directly module.

2) Create a po with a product: say for example PC1 with quantity=10. A picking 
is created.
   Invoice Policy: Based on receptions

3) Go Incoming Shipments, deliver 3 products and create invoice.
   invoice will be created with quantity 7(undelivered quantity).

This MP contains fix for this issue

Thanks
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/6.1-opw-576212-jap/+merge/112541
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/6.1-opw-576212-jap.
=== modified file 'stock_invoice_directly/wizard/stock_invoice.py'
--- stock_invoice_directly/wizard/stock_invoice.py	2011-10-16 01:28:00 +0000
+++ stock_invoice_directly/wizard/stock_invoice.py	2012-07-04 07:37:19 +0000
@@ -29,10 +29,19 @@
            after processing the partial picking.
         """
         if context is None: context = {}
-        result = super(invoice_directly, self).do_partial(cr, uid, ids, context)
+        result = super(invoice_directly, self).do_partial(cr, uid, ids, context=context)
         partial = self.browse(cr, uid, ids[0], context)
-        context.update(active_model='stock.picking',
-                       active_ids=[partial.picking_id.id])
+        if not partial.picking_id.backorder_id.id:
+            context.update(active_model='stock.picking',
+                                   active_ids=[partial.picking_id.id], active_id=partial.picking_id.id)   
+        else:
+            if partial.picking_id.backorder_id.invoice_state != 'done' and partial.picking_id.state !='done':
+                context.update(active_model='stock.picking',
+                                   active_ids=[partial.picking_id.backorder_id.id], active_id=partial.picking_id.backorder_id.id)                
+            else:
+                context.update(active_model='stock.picking',
+                                   active_ids=[partial.picking_id.id], active_id=partial.picking_id.id)
+ 
         if partial.picking_id.invoice_state == '2binvoiced':
             return {
                 'name': 'Create Invoice',

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to