【发布时间】:2016-10-31 18:28:28
【问题描述】:
我正在尝试在发票行上实施此方案。
假设我的发票行有 50 种产品,40 种产品受税收影响,10 种没有。
所以,在我的发票结果中,我有两个字段来计算这个
exe = fields.Float(string='Monto Exento', digits=dp.get_precision('Account'),
store=True, readonly=True, compute='extras', track_visibility='always')
应该返回40个受影响产品的总和,以及这个字段
impo = fields.Float(string='Base Imponible', digits=dp.get_precision('Account'),
store=True, readonly=True, compute='extras', track_visibility='always')
应返回不受影响的其他 10 种产品的总和。
现在,我从一个函数中调用它,并计算结果:
@api.one
@api.depends('invoice_line.price_subtotal', 'tax_line.amount')
def extras(self):
self.exe = self.amount_untaxed + self.amount_tax
self.impo = self.amount_untaxed + self.amount_tax
rec=0
但它没有按预期工作,我不知道这里可能出了什么问题,也许是因为我在 extras 函数上处理这个问题的方式?
它只是总结了所有行的总数。
编辑
根据@phillipstack 的回答,我更新了我的代码,如下所示:
@api.one
@api.depends('invoice_line.price_subtotal', 'tax_line.amount')
def extras(self):
self.exe = self.amount_untaxed + self.amount_tax if self.amount_tax and self.amount_tax > 0 else 0
self.impo = self.amount_untaxed + self.amount_tax if not self.amount_tax or self.amount_tax == 0 else 0
但在 impo 字段上,它只是总结了所有内容,无论是否征税,我正在尝试一种未征税的产品,一种征税的产品。
在exe 上,它没有显示任何金额。
exe 应显示未征税产品的总金额,impo 应显示已征税产品的总金额。
如果您需要更多信息,请告诉我。
【问题讨论】:
-
您能告诉我们您正在尝试什么型号吗?似乎是 account.invoice 而不是 sale.order?所以你尝试总结发票行的价值?
-
是的,它是 account.invoice,但这是因为税收来自那里,sales.order 也来自 account.invoice
-
很抱歉,这是在 account.invoice 上,我得编辑我的问题,你知道,当你这么多工作时,这件事发生了,哈哈
-
完成 :),抱歉让您感到困惑,问题还是一样