gpt4 book ai didi

python - odoo10如何继承其他功能并更新线路?

转载 作者:行者123 更新时间:2023-12-01 08:24:49 26 4
gpt4 key购买 nike

现在我正在尝试购买模块上的代码我是否想修改采购订单的计算?

这段代码是关于计算的。

@api.depends('order_line.price_total')
def _amount_all(self):
for order in self:
amount_untaxed = amount_tax = 0.0
for line in order.order_line:
amount_untaxed += line.price_subtotal
# FORWARDPORT UP TO 10.0
if order.company_id.tax_calculation_rounding_method == 'round_globally':
taxes = line.taxes_id.compute_all(line.price_unit, line.order_id.currency_id, line.product_qty, product=line.product_id, partner=line.order_id.partner_id)
amount_tax += sum(t.get('amount', 0.0) for t in taxes.get('taxes', []))
else:
amount_tax += line.price_tax
order.update({
'amount_untaxed': order.currency_id.round(amount_untaxed),
'amount_tax': order.currency_id.round(amount_tax),
'amount_total': amount_untaxed + amount_tax,
})

这是我的模块,用于继承该代码。

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

new_currency = fields.Float()

def _amount_all(self):
res = super(PurchaseOrderLine, self)_amount_all()

#### i don't have no idea how to let 'new_currency' to
#### multiple with amount_total in order.update

return res

有人对此有想法吗?
我只想 order.update 中的 new_currency 是 amount_total 的倍数。
[ 新货币 * 金额总计 ]
但不知道如何编写这样的函数。

最佳答案

请尝试以下代码

def _amount_all(self):
res = super(PurchaseOrderLine, self)_amount_all()
for record in self:
record.amount_total = self.new_currency*(amount_untaxed + amount_tax)
return res

如果您不想交税,可以保留该税

 def _amount_all(self):
res = super(PurchaseOrderLine, self)_amount_all()
for record in self:
record.amount_total = self.new_currency*amount_untaxed
return res

关于python - odoo10如何继承其他功能并更新线路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com