如何解决Odoo 13:通过api从odoo中的采购订单创建发票
我是odoo的新手!在odoo 13 EE上,我试图在导入采购订单和物料收据后创建并确认供应商账单。我可以直接创建发票,但是无法将其链接到PO /收据?
在购买中遇到了麻烦。订购方法action_create_invoice似乎对API隐藏了
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.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中,如果您要进行购买设置,则可以在发票下找到开票选项,在其中可以找到2个选项,订购数量和收到数量。如果是订购数量,则可以在确认采购订单后创建发票。如果已接收到数量,则在确认采购订单后,将创建收货,处理完收货后,您可以在采购订单中找到创建发票按钮
,如果您可以从浏览器客户端执行此操作,则只需查看浏览器发送到odoo服务器的API命令(在Chrome中,通过按F12启用调试视图,然后在“网络”标签中查看),以便您只需要复制该通讯即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。