Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
2863 Lượt xem
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?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhấ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.

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Thank you it works.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 1 25
3575
2
thg 8 24
5913
6
thg 12 22
8913
1
thg 10 15
5252
1
thg 5 25
6302