【问题标题】:How to use Onchange with date field in odoo?如何在odoo中使用带有日期字段的Onchange?
【发布时间】:2019-11-07 06:17:47
【问题描述】:

字段声明

    price=fields.Integer(string="Price")
    service_date=fields.Date(string="Last servicing date")
    service_charge=fields.Integer(string="Last Service Charge")
    total_charge=fields.Integer(string="Total Spent")

以servie_date为参数的onchange函数

    @api.onchange('service_date')
    def _onchange_total_charge(self):
        if self.total_charge > 0:
            self.total_charge+=self.service_charge
        else:
            self.total_charge=self.price+self.service_charge

【问题讨论】:

  • 该字段是否在表单视图中?如果没有 -> 添加它(也可以不可见)。

标签: python odoo onchange


【解决方案1】:
@api.onchange('service_date')
@api.depends('service_date')
def _onchange_total_charge(self):
    if self.total_charge > 0:
        self.total_charge += self.service_charge
    else:
        self.total_charge = self.price + self.service_charge

尝试像这样重写代码

【讨论】:

  • 好的。感谢您的支持
【解决方案2】:

我已经使用了您的代码,它适用于我的 odoo 实例。请确保您在 xml 文件中的字段中调用相同的字段。您还可以使用计算字段来完成计算。

【讨论】:

  • 感谢 Thayif。我会尝试让你知道它是否不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多