Skip to Content
Menu
This question has been flagged
1 Reply
2731 Views

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
Avatar
Discard
Best Answer

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

Avatar
Discard
Related Posts Replies Views Activity
1
Dec 22
4020
5
Jul 21
29139
3
Jun 21
12571
0
Apr 20
3003
1
Dec 21
5011