Hi friends,
I have to call sale_order fields.function names _amount_all from another button function for less the discount amount from total amount when validating sale order.Please help me in this situation.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hi friends,
I have to call sale_order fields.function names _amount_all from another button function for less the discount amount from total amount when validating sale order.Please help me in this situation.
In Odoo 8 and above.
One cannot trigger the computational fields without the change in values of its dependent fields.
Say in case of SaleOrder, "_amount_all" method is depended on the field value price_subtotal present in its child class i.e. in SaleOrderLine, So unless and until the value of price_subtotal is changed, the function will not be triggered. which is actually a good functionality, because it avoids unnecessary triggers and writing values into the database.
Now coming to your requirement, if am not wrong you have a discount_field in SaleOrder and upon specifying a value you want the same to be reflected in Total Amount of SaleOrder.
So why not inherit _amount_all in your custom module and concatenate the discount_field into @api.depends as shown below.
@api.depends('discount_field') def _amount_all(self): super(SaleOrder, self)._amount_all() for order in self: order.amount_total -= order.discount_field
Am sure this way you can achieve your requirement, but if you still wanted to trigger the computation field, and if you using Odoo 8 then all you need to do is add recompute = True in the context while calling write method as below.
context = dict(self._context, recompute=True)
Note: In Odoo 9, recompute doesn't work.
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
0
thg 4 24
|
1850 | ||
|
4
thg 11 23
|
5936 | ||
|
0
thg 10 23
|
1707 | ||
|
0
thg 12 22
|
2611 | ||
|
2
thg 12 23
|
19288 |