تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
3161 أدوات العرض

Hello everyone, I have created a custom module, in this module, I have a button. The button should create a delivery order in the inventory module ( just like the confirm button in the Sales module). But when I click it, It gives this error ( The operation cannot be completed: - Create/update: a mandatory field is not set. - Delete: another model requires the record being deleted. If possible, archive it instead. Model: Stock Move (stock.move), Field: Description (name) ), and this is my code.

def delivery_order(self):
    delivery = self.env['stock.picking'].create({
        # 'type': 'out_invoice',
        'state': 'assigned',
        'picking_type_id': 1,
        'partner_id': self.partner_id.id,
        'location_id': 1,
        'location_dest_id': 1,
        'origin': self.name,
        'move_ids_without_package': [(0, 0, {
            'product_id': self.product_id.id,
            'product_uom_qty': self.selected_weight,
            'picking_type_id': 1,

        })]})
    return delivery

 

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

@Niyas Raphy thank you for your response, but there is no field called name inside the o2m  move_ids_without_package model. I

الصورة الرمزية
إهمال

move_ids_without_package is referring to stock.move table, and you can see the field there.
https://github.com/odoo/odoo/blob/13.0/addons/stock/models/stock_move.py

الكاتب

thank you it works

أفضل إجابة

Hi,

Seems you have not passed the value for the required field name inside the o2m:  move_ids_without_package.

Please make sure that values for all the required field is passed during the create.

Thanks

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
يونيو 23
3175
1
يناير 23
2957
0
سبتمبر 22
2675
1
أغسطس 22
3671
0
أغسطس 22
2798