Я добавил новое настраиваемое поле в строку заказа на продажу и строку счета, а затем переопределил метод с именем action_invoice_create()
, который срабатывает при нажатии пользователем кнопки.
Что я пытаюсь получить из этогометод выводится примерно так:
order_line SR
order_line ZRE
invoice_line SR
invoice_line ZRE
, но в настоящее время я получаю этот вывод, который показывает дублированную запись:
order_line SR
invoice_line SR
invoice_line SR
order_line ZRE
invoice_line ZRE
invoice_line ZRE
Поэтому мне нужна помощь для исправления циклов for, чтобы получить правильный вывод.
class SalesOrder(models.Model):
_inherit = 'sale.order'
_description = 'Move VAT Code'
@api.multi
def action_invoice_create(self, grouped=False, final=False):
res = super(SalesOrder, self).action_invoice_create()
for record in self:
for rec in record.order_line:
print('order_line %s' % rec.x_vat_code_id.name)
for invoice in record.invoice_ids:
for invoice_line in invoice.invoice_line_ids:
invoice_line['vat_code_id'] = rec.x_vat_code_id.id
print('invoice_line %s' % rec.x_vat_code_id.name)
return res
Формат данных:
{'order_line': [(0, 0, {'state': 'draft', 'x_qty': 0.0, 'x_partner': False, 'x_price_unit': 0.0, 'x_onhand': 0.0, 'x_reverse': 0.0, 'x_reference': False, 'x_stock_partner': False, 'x_vat_code_id': 51})]}