Skip to Content
Menu
This question has been flagged
1 Atsakyti
2179 Rodiniai

I cant delete manufacturing order that am creating from my custom model, in the view the order in draft state but i print the state of the order in py that is in done state


Portretas
Atmesti
Best Answer

Hi,

This error occur when you not created the move_finished_ids in manufacturing order, this indicate that after the production to update the quantity of the produced product, that means move the product from production location to the particular warehouse,

To solve this you need to add move_finished_ids like this,

First you need to define the locations,

@api.model
def _get_default_location_type(self):
"""to get the default location"""
return self.env['stock.location'].search(
[('usage', '=', 'internal')], limit=1).id

@api.model
def _get_default_location_dest_type(self):
"""to get the default location"""
return self.env['stock.location'].search(
[('usage', '=', 'production')], limit=1).id

and then defined in a field

location_id = fields.Many2one('stock.location', string="From", required=True, domain=[('usage','=','internal')]",
default=_get_default_location_type)

location_dest_id = fields.Many2one('stock.location',
string="To", required=True,
domain="[('usage','=','production')]",
default=_get_default_location_dest_type)

Then create a manufacturing order

data = self.env['mrp.production'].create({
'product_id': self.product_id.id,
add required field here
})

and then write the move_fineshed_ids, please make sure that the location is correct, otherwise the quantity is note updated

data.write({
'move_finished_ids': [
(0, 0, {
'product_id': self.product_id.id,
'product_uom_qty': self.quantity,
'product_uom': self.units.id,
'location_id': self.location_id.id,
'location_dest_id': self.location_dest_id.id,
'name': self.product_id.name,
'warehouse_id':self.warehouse_id.id

})
]
})

Regards

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
2
rugp. 23
2240
2
geg. 23
2447
1
bal. 23
2620
1
rugp. 22
3589
0
birž. 22
1489