← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 646224] Re: [5.0][sale] Cancelling an out picking sets the sale order as shipped

 

Omar,

I have checked both the patches and they seem to solve issue.

But My view is,

Patch from Jay(OpenERP) considers all pickings related to the Sale order
of to-be-cancelled picking.

Patch from you considers all pickings(backorder which is in turn the
relevant picking of the to-be-cancelled picking.)

However, I have seen your patch not behaving as per expectations where
there are mer than one partial pickings made.

Go through this example:
Create a sale order of Qty 10.
Confirm it.
Look at the picking attached.
Pick it partially for qty 5.
There are 2 picking now, 1 is done, another is available.
Go to the available one, pick it partially for qty 2.
Now the picking with qty 2 is done,qty 5 is done. 
BUT the picking with qty 3 is available, don't wait anymore and cancel that one.

Logically, it should make the SO PICKED,but it does not do with your
patch Omar as you worked on backorder.

Let me know your views.

Thanks.

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/646224

Title:
  [5.0][sale] Cancelling an out picking sets the sale order as shipped

Status in OpenObject Addons Modules:
  In Progress

Bug description:
  Hi,

If I cancel an out picking, it always writes in sale order "shipped=True", because action_cancel() from stock.picking extended in sale module, calls to action_ship_end(), sale's function.

If picking was canceled. In action_ship_end(), it always writes shipped=True except that it finds in the sale, pickings in state different to 'done' or 'cancel',  then when you cancel an out picking the sale order will be shipped and it isn't right.

I include a patch that changes this check, it searches for pickings in the sale with state different to 'done' or 'cancel' for calls to action_ship_end() if it only finds picking in done or cancel  states it doesn't call to function. Reversing the current behavior.