我正在尝试使用OpenErp的Import-Export工具将外部Pos系统中的订单导入OpenErp 6.1中的Pos-backend。我使用导入兼容模型,所有订单都可以毫无问题地导入(订单,付款,日记帐,帐户,即已完成的订单。)
在POS ORDERS列表中,导入订单的状态为NEW。对于系统要处理的导入订单并将订单状态更改为PAID,您可以手动删除订单付款,并为每个订单执行MAke付款。导入工具不会自动处理导入的订单。有没有办法批量处理导入的pos订单? 这种情况有什么解决方案吗?
答案 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
希望它能解决你的问题。