İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
2826 Görünümler
def action_new_quotation(self):
action = super(CrmLead, self).action_new_quotation()
vals = [fields.Command.clear()]
for order in self.order_line_ids:
order.ensure_one()
vals.append(fields.Command.create({
'product_id': order.product_id.id,
'name': order.name,
'product_uom_qty': order.product_uom_qty,
'price_unit': order.price_unit,
'price_subtotal': order.price_subtotal,
}))
if action and 'context' in action:
action['context'].update({
'default_order_line': vals,
})
return action

Although values are successfully passed, the sale.order.line fails to capture the details. Interestingly, when the same values are passed to another custom One2many field in sale.order, the data is captured. Any insights or suggestions on this matter?

Avatar
Vazgeç
En İyi Yanıt

This issue is because there is a base function within the sale.order responsible for transmitting values to the order_line.


To transmit default values to the sale.order.line, it's necessary to override the underlying function in the base code. This function, by default, clears existing entries in the order_line when loaded or inherits values from the quotation template.

Avatar
Vazgeç
Üretici En İyi Yanıt

Thank you it works.

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Oca 25
3553
2
Ağu 24
5906
6
Ara 22
8901
1
Eki 15
5245
1
May 25
6241