2013-01-20 42 views
0

我試圖使用OpenErp的導入導出工具將訂單從外部Pos系統導入到OpenErp 6.1中的後端。我使用導入兼容模型,並且所有訂單都可以毫無問題地導入(訂單,付款,日記帳,即完成的訂單)。將POS訂單導入到OpenERP 6.1後端

在POS訂單列表中,導入訂單的狀態爲NEW。對於系統處理的導入訂單並將訂單狀態更改爲付款,您可以手動刪除訂單付款,併爲每筆訂單進行付款。導入工具不會自動導入訂單。有沒有辦法批量處理導入的pos定單? 這種情況有沒有解決辦法?

+0

對我來說看起來不像一個編程問題。 – Junuxx

回答

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 

希望它能解決您的問題。

+0

謝謝Arya,但我的問題是不導入訂單。我可以使用導入實用程序爲.csv文件輕鬆導入訂單(訂購標題,訂單行和付款)。但我期待在後端創建一個按鈕,以通過按「驗證」按鈕輸入銷售點頁面中的訂單付款的相同步驟來處理具有「草稿」狀態的POS導入訂單。由於我對使用pos_make_payment類的檢查方法對這些訂單進行批處理進行了深入研究: – SAM