Я хотел бы поделиться с вами всеми своими проблемами, связанными с моими кодами. Итак, в данном случае, я хотел бы создать автоматизацию по счету поставщика сразу после того, как я проверю комплектацию. Таким образом, после проверки отгрузки в stock.pic, он будет автоматически заполнять счет поставщика, а также автоматически проверять счет поставщика. (поэтому мне не нужно вручную нажимать счет поставщика, чтобы создать его). Это цель.
Я думаю, что уже могу заполнить форму, но у меня есть проблема с полями invoice_line_ids, которая имеет account_id в качестве обязательного поля.
Вот моя функция внизу:
from odoo import api, models, fields
class StockPicking(models.Model):
_inherit = 'stock.picking'
@api.multi
def button_validate(self):
res = super(StockPicking, self).button_validate()
action = self.env.ref('account.action_vendor_bill_template')
result = action.read()[0]
invoice_line_ids = []
loop = self.purchase_id.order_line
for line in loop:
inv_line_vals = [0, False]
inv_line = {
'product_id' : line.product_id.id,
'name' : line.name,
'quantity' : line.product_qty,
'price_unit' : line.price_unit,
'discount' : float(line.discount),
'invoice_line_tax_ids' : [(6, 0,line.taxes_id.ids)],
'price_subtotal' : line.price_subtotal,
'account_id' : line.id,
}
inv_line_vals.append(inv_line)
invoice_line_ids.append(inv_line_vals)
result = {
'type': 'in_invoice',
'purchase_id': self.purchase_id.id,
'currency_id': self.purchase_id.currency_id.id,
'company_id': self.purchase_id.company_id.id,
'partner_id': self.purchase_id.partner_id.id,
'date_invoice': self.move_ids_without_package.date_expected.strftime("%Y-%m-%d"),
'origin' : self.purchase_id.name,
'reference' : self.purchase_id.partner_ref,
'company_id': self.company_id.id,
'invoice_line_ids' : tuple(invoice_line_ids),
}
bils = self.env['account.invoice'].create(result)
bils.action_invoice_open()
return res
Появляется предупреждение об ошибке:
Ошибка сервера Odoo
The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set
[object with reference: Account - account.account]