Я пытаюсь получить сумму количества продуктов в модели odoo account.invoice.
Это можно легко сделать в дереве XML, добавив sum= для этого поля:
Но я также хочу, чтобы это значение было напечатано в отчете QWeb (счет в формате pdf).
Как я могу получить значение sum="" для печати в отчете QWeb? Или создать новое поле, которое возвращает это значение?
Я новичок в odoo и использую odoo studio на SaaS.
Я попытался создать новое поле с вычислительным кодом, но оно не работает.
Вот код, который я пробовал с новым полем с плавающей запятой «x_studio_total_qty» в модели account.invoice:
for record in self:
record.x_studio_total_qty = len(record.quantity)
зависимости: invoice_line_ids.quantity
Но значение x_studio_total_qty остается равным 0,00.
Спасибо за помощь
Максим
Код должен быть:
for record in self:
record['x_studio_total_qty'] =\
sum([line.quantity for line in record.invoice_line_ids])
Если sum
не работает (никогда не проверял), просто попробуйте, не используя его:
for record in self:
total = 0.0
for line in record.invoice_line_ids:
total += line.quantity
record['x_studio_total_qty'] = total
В соглашениях об именах Python строчная буква el (l) должна избегаться.
спасибо, оба работают как шарм. Полезно ли иметь отслеживание: при изменении для этого поля?