如何使该方法在Odoo上的特定记录运行一次?



>我正在尝试使用按钮做一个方法,将账单的总价值添加到另一个对象的值中,它运行良好,但每次我按下按钮时,它都会将账单的总价值添加到另一个对象价值值,我需要任何东西制作场景以防止多次添加账单价值, 这是代码

class acc_inv_prop(models.Model):
_inherit = 'account.invoice'
property_id = fields.Many2one(comodel_name="account.asset.asset", string="Property", required=False, )
def prop_up_value(self):
self.property_id.value += self.amount_total
pass

我可以在对象帐户.asset.asset上做什么来检查当前账单之前是否添加并引发错误,如果账单是新账单,则正常添加它的价值,但也只能添加一次

任何帮助将不胜感激

除了在 account.asset.asset 的价值中添加一些东西让我感到不舒服(你不应该制定一个逻辑来确定发票中资产的全部价值吗?

您需要一个额外的字段来记住您已经添加了金额:

class acc_inv_prop(models.Model):
_inherit = 'account.invoice'
property_id = fields.Many2one(comodel_name="account.asset.asset", string="Property", required=False, )
property_last_added_value = fields.Float(string='Last Value Added to Property', readonly=True, digits=0)
def prop_up_value(self):
if self.property_last_added_value != self.amount_total:
self.property_id.value -= self.property_last_added_value
self.property_id.value += self.amount_total
self.property_last_added_value = self.amount_total

最新更新