使用xml-rpc在一个事务中创建联系人和发票/行

时间:2014-01-04 08:17:28

标签: openerp

是否可以在对( res_partner )的一次调用中为此合作伙伴创建新的联系人xml-rpc api和发票/行。我需要这个是1次交易。

我想将这3个对象的创建留给database,数据库应该在出现问题时处理回滚。

我认为这是可能的,因为3个物体之间存在关系。

res_partner有很多发票有很多invoice_lines

但我还没有看到这样一个写这3个对象的例子

2 个答案:

答案 0 :(得分:3)

XMLRPC API为您提供了OpenERP对象的接口,而不是直接与数据库的接口。这意味着您可以使用这些对象公开的方法。

例如,* account_move_line.create()*方法允许您通过单次调用此方法来创建移动和移动行。但我不知道允许您在同一时间创建伙伴的方法。

任何方式,即使在这些函数内部,我认为不同记录的创建也是在单独的事务中完成的。

您仍然可以通过创建帐户模块的子模块来扩展* account_invoice *对象,并添加所需的一遍创建功能......

假设您在account_invoice类中创建了一个新方法,以您希望的方式完成工作。

def create_them_all(self, cr, uid, context=None):
    return "Not yet implemented."

您应该能够使用XMLRPC客户端访问它,例如使用erppeek:

admin >>> model('account.invoice').create_them_all()
'Not yet implemented.'

答案 1 :(得分:1)

  • 每个XML-RPC调用都是自己的事务

  • 服务器端,每个OpenERP操作都是自己的事务,无论需要多少次调用

如果您希望将多个调用视为@AndrieBoyanov建议的那个调用,并在服务器端创建一个可以同时执行所有操作的方法,然后您可以通过XML-RPC调用它。 / p>