【问题标题】:Invoice lines sum - Odoo v8发票行总和 - Odoo v8
【发布时间】: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 上,我得编辑我的问题,你知道,当你这么多工作时,这件事发生了,哈哈
  • 完成 :),抱歉让您感到困惑,问题还是一样

标签: python openerp odoo-8


【解决方案1】:

您需要提供一个 if 语句来告诉您的脚本在满足某些条件时不求和。我对您的要求知之甚少,但这可能会奏效。或者类似的东西。

@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 字段上进行总结,我的意思是它应该只从 impo 上的征税产品中获取结果,而在 exe 上不征税,我正在尝试修改它以实现这一目标
  • 如果您取得了一些进展但需要更多帮助,您可以随时更新您的问题。
  • 酷,会去做,非常感谢
  • 我听到你在说什么@danidee。我不是发布问题或修改问题最佳实践的专家。我没有审查这些政策或建议的做法。我认为有一条线,如果您认为这会提供更多上下文或清晰度,那么您应该修改您的问题。然而另一方面,我同意这条线的另一边,在某些情况下你应该创建一个新问题,尽管它与第一个问题非常相似。
  • @danidee 你怎么知道在哪里画那条线?
猜你喜欢
  • 1970-01-01
  • 2022-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多