Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
3900 Zobrazení

Hi everyone, iam using odoo14 community version, i want to create a field in odoo purchase order line where it shows me the difference between the quantity and received product in order lines for each product
eg: i want to show quantity - received qty = remaining qty for each products in purchase order line, how can i achieve this using python or xml 
Thank you

Avatar
Zrušit
Autor

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class PurchaseOrderComputeField(models.Model):
_inherit = "purchase.order.line"

x_grand_total = fields.Float(compute='_compute_x_grand_total', string='Remaining Quantity')

@api.depends('order_line')
def _compute_x_grand_total(self):
for record in self:
record.x_grand_total = record.product_qty - record.qty_received

This is the code i am using

i am getting this error :
ValueError: Field purchase.order.line.x_grand_total cannot find dependency 'order_line' on model 'purchase.order.line'.

What am i doing wrong

Nejlepší odpověď

Hello, the mistake you are doing is that you are inheriting purchase.order.line and then trying to again get orderline field in this object which is in purchase order. So the correct code for the method would be something like this and rest what you have coded as it is:

@api.depends('product_qty', 'qty_received',)
def _compute_x_grand_total(self):
for record in self:
record.x_grand_total = record.product_qty - record.qty_received


Avatar
Zrušit
Autor

Thank you @Abhinav Vaidya this solved my problem

Nejlepší odpověď

Hi Jo,

Your calculation is correct,but no need to give dependency 'order_line' here,because you have written the computation inside ' purchase.order.line' model.So just remove that dependancy and try.

Hope it will help you.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
led 22
2489
0
čvn 21
2965
3
úno 24
4883
2
říj 23
3095
1
dub 23
3696