Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
2847 มุมมอง

Hi mates, I'm new to odoo and using odoo 13. I'm trying to calculate maximum delivery to be made to a customer. Made a custom field in res.partner where we can add a percentage and that percent of product can be sent in delivery. When I add the amount more than the max it perfectly raises the exception, but when I add the amount within the max and entered product quantity the percentage becomes  zero.
Here's my code:

@api.onchange('qty_done')
def max_quantity_done(self):
all_customers = self.env['res.partner'].search([])
for customer in all_customers:
max_qty = self.product_uom_qty + (self.product_uom_qty*(customer.allowable_delivery_qty/100))
if self.qty_done > max_qty:
raise UserError(_('For this customer the excess allowed quantity is ' + str(customer.allowable_delivery_qty) +'% and Max allowed Done quantity is ' + str(max_qty)))

I am unable to understand why this is happening
อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

Try this code to calculate max_qty based on the allowable_delivery_qty of the current customer.

@api.onchange('qty_done')

def max_quantity_done(self):

    customer = self.partner_id

    max_qty = self.product_uom_qty + (self.product_uom_qty * (customer.allowable_delivery_qty / 100))

    if self.qty_done > max_qty:

        raise UserError(_('For this customer, the excess allowed quantity is ' + str(customer.allowable_delivery_qty) + '% and the max allowed Done quantity is ' + str(max_qty)))


Hope it helps

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
API onchange Odoo 10.0 แก้ไขแล้ว
1
ธ.ค. 22
4170
@api.onchange doesn't save changes แก้ไขแล้ว
5
ก.ค. 21
29307
3
มิ.ย. 21
12717
0
เม.ย. 20
3072
1
ธ.ค. 21
5177