Python 如何使该方法在odoo上针对特定记录运行一次?
我试图用一个按钮来做一个方法,将一张账单的总价值加到另一个对象的价值上,它工作得很好,但是每次我按下按钮,它都会将账单的总价值加到另一个对象的价值上,我需要任何东西来制作场景,以防止多次增加账单价值,下面是代码Python 如何使该方法在odoo上针对特定记录运行一次?,python,python-3.x,odoo,odoo-12,Python,Python 3.x,Odoo,Odoo 12,我试图用一个按钮来做一个方法,将一张账单的总价值加到另一个对象的价值上,它工作得很好,但是每次我按下按钮,它都会将账单的总价值加到另一个对象的价值上,我需要任何东西来制作场景,以防止多次增加账单价值,下面是代码 class acc_inv_prop(models.Model): _inherit = 'account.invoice' property_id = fields.Many2one(comodel_name="account.asset.asset", string="Proper
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
我可以在object account.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
除了给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
这种想法可能会阻止我添加具有相同总成本的任何其他账单。添加的成本保存在每个账单
帐户上。发票位于属性id旁边。因此,如果其总金额已添加或未添加,则每个发票将“记住”两张发票。我想,通过将两张发票链接到具有property_id的资产来添加两张发票会很好。(从混合手动输入(资产价值)和自动输入(添加金额)的一般想法来看,可能是危险的,也许您可以在account.asset.asset
上添加一个包含属性的值,这是一个计算字段)这种想法可能会阻止我添加具有相同总成本的任何其他账单。添加的成本保存在每个账单帐户上。发票位于属性id旁边。因此,如果其总金额已添加或未添加,则每个发票将“记住”两张发票。我想,通过将两张发票链接到具有property_id的资产来添加两张发票会很好。(从混合手动输入(资产价值)和自动输入(添加金额)的一般想法来看,可能是危险的,也许您可以在帐户.asset.asset
上添加一个值(包括属性),这是一个计算字段)您的意思是一个属性只允许添加一次吗?您的意思是一个属性只允许添加一次吗?