0

我正在尝试使用 OpenErp 的导入导出工具将订单从外部 Pos 系统导入 OpenErp 6.1 中的 Pos 后端。我使用导入兼容模型,所有订单都可以毫无问题地导入(订单、付款、日记帐、帐户,即已完成的订单。)

在 POS ORDERS 列表中,导入的订单状态为 NEW。对于导入的订单需要系统处理,并将订单状态更改为PAID,您可以手动删除订单付款,并为每个订单做MAke Payment。导入工具不会自动处理导入的订单。有没有办法批量处理进口的pos订单?这种情况有什么解决办法吗?

4

1 回答 1

1

您可以创建一个脚本来将数据从一个数据库导入到另一个数据库。

import xmlrpclib
from osv import osv, fields

#To create connection to the database from where you want to import data
def connect_server(self, cr, uid, ids, context=None):
    sock_common = xmlrpclib.ServerProxy ('http://localhost:8070/xmlrpc/common', encoding="UTF-8")
    remote_uid = sock_common.login(database_name, user_name, password)
    sock = xmlrpclib.ServerProxy('http://localhost:8070/xmlrpc/object', encoding="UTF-8")
return (sock, remote_uid)


#Fetch data from another database
def get_data(cr, uid, ids, context=None):
    sock, remote_uid = self.connect_server(cr, uid, ids, context=context)
    pos_order_obj = self.pool.get('pos.order')
    pos_order_ids = sock.execute(db_name, remote_uid, password, pos_order_obj._name, 'search', [])
    for pos in in sock.execute(db_name, remote_uid, password, pos_order_obj._name, 'read', pos_order_ids, []):
        #fetch the data and create record in your current database.
        new_pos_val = {'name': pos['name'],}
        pos_order_obj.create(cr, uid, new_pos_val, context=context)
     return True

希望它能解决你的问题。

于 2013-01-21T05:07:20.110 回答