Python 3.x Odoo 13:通过api从Odoo中的采购订单创建发票

Python 3.x Odoo 13:通过api从Odoo中的采购订单创建发票,python-3.x,odoo,xml-rpc,odoo-13,Python 3.x,Odoo,Xml Rpc,Odoo 13,我对奥多是全新的!在odoo 13 EE上,我尝试在导入采购订单和项目收据后创建并确认供应商账单。我可以直接创建发票,但无法将其链接到采购订单/收据 遗憾的是,在purchase.order下,API中似乎隐藏了方法action\u create\u invoice order_id = PurchaseOrder.create(po) purchaseorder = PurchaseOrder.browse([order_id]) print("Before validating:&

我对奥多是全新的!在odoo 13 EE上,我尝试在导入采购订单和项目收据后创建并确认供应商账单。我可以直接创建发票,但无法将其链接到采购订单/收据

遗憾的是,在purchase.order下,API中似乎隐藏了方法action\u create\u invoice

order_id = PurchaseOrder.create(po)
purchaseorder = PurchaseOrder.browse([order_id])
print("Before validating:", purchaseorder.name, purchaseorder.state) # draft
odoo.env.context['check_move_validity'] = True
purchaseorder.button_confirm()
purchaseorder = PurchaseOrder.browse([order_id])
picking_count = purchaseorder.picking_count
print("After Post:", purchaseorder.name, purchaseorder.state, "picking_count = ", purchaseorder.picking_count)
if picking_count == 0:
print("Nothing to receive. Straight to to Billing.") # ok so far
 tryme = purchaseorder.action_view_invoice()
## Error => odoorpc.error.RPCError: type object 'purchase.order' has no attribute 'action_create_invoice'
因此,我尝试以这种方式重写/扩展

class PurchaseOrder(models.Model):
 _inherit = 'purchase.order'
 @api.model
def create_invoice(self, context=None):
# try 1 => odoorpc.error.RPCError: 'super' object has no attribute      # 'action_create_invoice'
rtn = super().action_create_invoice(self)

# try2 => odoorpc.error.RPCError: name 'action_create_invoice' is         # not defined
 # rtn = action_create_invoice(self)

 # try3 => Error %s 'super' object has no attribute '       #         action_create_invoice'
 # rtn = super(models.Model, self).action_create_invoice(self)
return rtn

我希望有人能提出解决方案!谢谢。

请不要在没有odoo功能知识的情况下自定义它。在odoo中,如果您转到“采购设置”,您可以在“开票”下找到计费选项,其中可以找到两个选项:订购数量和收到数量。如果是订单数量,则可以在确认采购订单后创建发票。如果是收到的数量,则在确认采购订单后,将创建进货,并且在处理进货后,如果可以从浏览器客户端执行,则可以在采购订单中找到“创建发票”按钮,而不只是查看浏览器发送给odoo服务器的API命令(在Chrome中,通过按F12键启用调试视图,并查看网络选项卡),因此您只需复制该通信