[18.0][MIG] stock_picking_type_shipping_policy#988
[18.0][MIG] stock_picking_type_shipping_policy#988
Conversation
... stock_picking_group_by_partner_by_carrier (of
OCA/stock-logistics-workflow).
In stock_picking_group_by_partner_by_carrier, the override of the method
_search_picking_for_assignation adds a domain on:
("move_type", "=", self.group_id.move_type)
(self is the move to assign in a picking).
When the move_type of the procurement group is "direct", the transfer is
normally created with the move_type "direct": when a first move is
assigned to a picking and none is found, it creates one with type
"direct", the second move should find the same and be assigned to it.
This is not what happens, with stock_picking_type_shipping_policy
configured to "force_all_product_ready", as it changes the way the first
stock.picking is created:
def _get_new_picking_values(self):
res = super()._get_new_picking_values()
picking_type = self.mapped("picking_type_id")
if picking_type.shipping_policy == "force_as_soon_as_possible":
res["move_type"] = "direct"
elif picking_type.shipping_policy == "force_all_products_ready":
res["move_type"] = "one"
return res
The first stock.picking is created with a move_type of "one", so when
the second move search a stock.picking, it can't find it as it looks for
a "direct" one.
This glue module changes the domain of the grouping to take into account the
picking type's shipping policy when both modules are installed.
Currently translated at 100.0% (4 of 4 strings) Translation: wms-13.0/wms-13.0-stock_picking_type_shipping_policy Translate-URL: https://translation.odoo-community.org/projects/wms-13-0/wms-13-0-stock_picking_type_shipping_policy/es_MX/
Currently translated at 100.0% (4 of 4 strings) Translation: wms-13.0/wms-13.0-stock_picking_type_shipping_policy Translate-URL: https://translation.odoo-community.org/projects/wms-13-0/wms-13-0-stock_picking_type_shipping_policy/es_AR/
Currently translated at 100.0% (4 of 4 strings) Translation: wms-16.0/wms-16.0-stock_picking_type_shipping_policy Translate-URL: https://translation.odoo-community.org/projects/wms-16-0/wms-16-0-stock_picking_type_shipping_policy/it/
Currently translated at 100.0% (4 of 4 strings) Translation: wms-17.0/wms-17.0-stock_picking_type_shipping_policy Translate-URL: https://translation.odoo-community.org/projects/wms-17-0/wms-17-0-stock_picking_type_shipping_policy/it/
|
/ocabot migration stock_picking_type_shipping_policy |
850589d to
5770e2d
Compare
|
@jbaudoux FYI in v18 we have a new field But this std code doesn't allow to force the |
5770e2d to
14a2bde
Compare
| ] | ||
|
|
||
| shipping_policy = fields.Selection( | ||
| string="Force Shipping Policy", |
There was a problem hiding this comment.
Changed the user's label to not conflict with move_type/Shipping Policy std field
There was a problem hiding this comment.
I would change it to a boolean as the selection is now standard on the picking type as you said
There was a problem hiding this comment.
and extend _compute_move_type on stock.picking to check that boolean to see if we should use the one from the picking type
https://github.com/odoo/odoo/blob/18.0/addons/stock/models/stock_picking.py#L716
There was a problem hiding this comment.
Done:
- previous
shipping_policyfield is replaced byforce_move_typeboolean field - migration script added to set the std field
move_typebased on the value of previousshipping_policy+ setforce_move_typeto True - remove override of
stock.moveand switched to an override of<stock.picking>._compute_move_type - DESCRIPTION of the module updated (BTW the mentioned module
stock_routing_operationdoesn't exist, I supposed it should bestock_dynamic_routing?)
There was a problem hiding this comment.
Should we rename the module now that Odoo has some kind of support of the shipping policy on operation types? Like stock_picking_type_force_move_type or stock_picking_type_force_shipping_policy?
| def test_shipping_policy(self): | ||
| self.pack_type.shipping_policy = "force_all_products_ready" | ||
| self.pick_type.shipping_policy = "force_as_soon_as_possible" | ||
| # Create picking |
There was a problem hiding this comment.
Rewrote this part to align with new default Odoo delivery flow that creates the Pick first, then Pack + Ship.
To ensure things are created as expected, we generate the initial move/picking through a procurement.
b787fb5 to
45aef84
Compare
|
Moved to OCA/stock-logistics-workflow#1888 |
Notes:
shipping_policyfield is replaced byforce_move_typeboolean fieldmove_typebased on the value of previousshipping_policy+ setforce_move_typeto Truestock.moveand switched to an override of<stock.picking>._compute_move_typestock_routing_operationdoesn't exist, I supposed it should bestock_dynamic_routing?)