将POS订单导入OpenERP 6.1 pos后端

时间:2013-01-20 09:56:44

标签: openerp

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

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

1 个答案:

答案 0 :(得分: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

希望它能解决你的问题。