account.invoice 添加自定义计算和过滤字段
account.invoice add custom computed & filtered field
对不起我的英文
我正在编写一个自定义 Odoo 模块,我的目标是在 account.invoice 中添加一个自定义计算字段,并将每个税值的总和存储在 tax_line_ids 金额字段中(不包括负预扣税);这是我的代码:
# -*- coding: utf-8 -*-
from openerp import models, fields, api
class account_invoice(models.Model):
_inherit = 'account.invoice'
x_sum_stored_taxes_exclude_withholding = fields.Float('Total Taxes', compute='_compute_total_taxes', digits=(12,2), store=True)
@api.one
@api.depends('tax_line_ids.amount')
def _compute_total_taxes(self):
for record in self:
record.x_sum_stored_taxes_exclude_withholding = sum(line.amount for line in record.x_sum_stored_taxes_exclude_withholding)
但是新字段 "x_sum_stored_taxes_exclude_withholding" 中的结果只填充了零。真的试了很多方法都没找到合适的!
求助!!
:'(
record.x_sum_stored_taxes_exclude_withholding =\
sum(line.amount for line in record.x_sum_stored_taxes_exclude_withholding)
你应该使用`tax_line_ids ?
record.x_sum_stored_taxes_exclude_withholding =\
sum([line.amount for line in record.tax_line_ids])
当然你只需要正值:
record.x_sum_stored_taxes_exclude_withholding =\
sum([line.amount for line in record.tax_line_ids if line.amount >= 0.0])
对不起我的英文
我正在编写一个自定义 Odoo 模块,我的目标是在 account.invoice 中添加一个自定义计算字段,并将每个税值的总和存储在 tax_line_ids 金额字段中(不包括负预扣税);这是我的代码:
# -*- coding: utf-8 -*-
from openerp import models, fields, api
class account_invoice(models.Model):
_inherit = 'account.invoice'
x_sum_stored_taxes_exclude_withholding = fields.Float('Total Taxes', compute='_compute_total_taxes', digits=(12,2), store=True)
@api.one
@api.depends('tax_line_ids.amount')
def _compute_total_taxes(self):
for record in self:
record.x_sum_stored_taxes_exclude_withholding = sum(line.amount for line in record.x_sum_stored_taxes_exclude_withholding)
但是新字段 "x_sum_stored_taxes_exclude_withholding" 中的结果只填充了零。真的试了很多方法都没找到合适的!
求助!! :'(
record.x_sum_stored_taxes_exclude_withholding =\
sum(line.amount for line in record.x_sum_stored_taxes_exclude_withholding)
你应该使用`tax_line_ids ?
record.x_sum_stored_taxes_exclude_withholding =\
sum([line.amount for line in record.tax_line_ids])
当然你只需要正值:
record.x_sum_stored_taxes_exclude_withholding =\
sum([line.amount for line in record.tax_line_ids if line.amount >= 0.0])