Ну, давайте не будем делать это по-своему, плюс я не могу понять, как вы это делаете.Итак, я предлагаю некоторые другие возможности, которые могут вам помочь.
Сначала поговорим о поле заказа на продажу, которое вы назвали 'sale_order'.Существует два возможных варианта ввода данных в поле sale_order.1).Автоматически через питона 2).Вручную, выбрав из списка.
В случае ввода данных Вручную следует использовать функцию onchange :
@api.onchange('sale_order')
def get_order_date(self):
if self.sale_order:
self.x_bestelldatum = self.sale_order.x_order_bestelldatum
В случае, если вы автоматически вводите данные через pythonзатем вы можете использовать денежную или создать функцию для заполнения поля.
Создать функцию:
@api.model
def create(self, vals):
new_record = super(felder_invoice, self).create(vals)
if new_record.sale_order:
new_record.x_bestelldatum = new_record.sale_order.x_order_bestelldatum
return new_record
Функция вычисления:
Сначала вам нужно изменить замедление поля в py-файле следующим образом:
x_bestelldatum = fields.Date(string="Bestelldatum",compute="get_order_date")
Затем вам нужно создать вычислительную функцию для этого:
@api.one
@api.depends('sale_order')
def get_order_date(self):
if self.sale_order:
self.x_bestelldatum = self.sale_order.x_order_bestelldatum
Вы можете получить дату заказа с помощью вышеупомянутых функций и сможете получить ее значение в отчетах / распечатках.Надеюсь, поможет.Ура!