Onchange не работает с полем даты в odoo? Не входит в функцию Onchange. Работает с другими полями. - PullRequest
1 голос
/ 25 июня 2019

объявление поля

    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")

onchange Функция, в которой servie_date используется в качестве аргумента

    @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

Ответы [ 2 ]

2 голосов
/ 27 июня 2019
@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 голосов
/ 27 июня 2019

Я использовал ваш код, он работает на моем экземпляре odoo.Пожалуйста, убедитесь, что вы вызываете то же самое в поле в вашем XML-файле.Вы также можете использовать поле вычисления, чтобы выполнить расчет.

...