@@ -10,50 +10,12 @@ class StockRequestOrder(models.Model):
1010 _inherit = "stock.request.order"
1111 _order = "id desc"
1212
13- # este pickings es analogo al pickings de venta pero implementado mas facil
14- # odoo en ventas agrega un campo en el procurement group y related en
15- # picking pero a la larga esta trayendo todos los pickings que tengan
16- # el procurment group de la venta. Nosotros hacemos similar buscando los
17- # pickings que tengan mismo procurement group que el request order
18- # como al final tmb se puede cancelar una linea (stock request), lo
19- # implementamos en las lineas directamente el cancelar
20- picking_ids = fields .One2many (
21- compute = "_compute_picking_ids" ,
22- )
23- picking_count = fields .Integer (
24- compute = "_compute_picking_ids" ,
25- )
26- procurement_group_id = fields .Many2one (
27- copy = False ,
28- )
2913 warehouse_id = fields .Many2one (
3014 change_default = True ,
3115 )
3216
33- @api .depends ("procurement_group_id" )
34- def _compute_picking_ids (self ):
35- sro_with_procurement = self .filtered ("procurement_group_id" )
36- (self - sro_with_procurement ).update ({"picking_ids" : self .env ["stock.picking" ], "picking_count" : 0 })
37- for rec in sro_with_procurement :
38- all_moves = self .env ["stock.move" ].search ([("group_id" , "=" , rec .procurement_group_id .id )])
39- rec .picking_ids = all_moves .mapped ("picking_id" )
40- rec .picking_count = len (rec .picking_ids )
41-
42- @api .model_create_multi
43- def create (self , vals_list ):
44- recs = super ().create (vals_list )
45- for rec in recs :
46- if not rec .procurement_group_id :
47- # setamos al group el partner del warehouse
48- # para que se propague a los pickings
49- group = self .env ["procurement.group" ].create ({})
50- rec .procurement_group_id = group .id
51- for stock_rq in rec .stock_request_ids :
52- stock_rq .write ({"procurement_group_id" : rec .procurement_group_id .id })
53- return recs
54-
5517 @api .onchange ("route_id" )
56- def onchange_procurement_group_id (self ):
18+ def onchange_route_id (self ):
5719 for line in self .stock_request_ids :
5820 if self .route_id .id in line .route_ids .ids :
5921 line .route_id = self .route_id .id
0 commit comments