0

OpenErp のインポート/エクスポート ツールを使用して、外部の Pos システムから OpenErp 6.1 の Pos バックエンドに注文をインポートしようとしています。私はインポート対応モデルを使用しており、すべての注文 (注文、支払い、仕訳帳、アカウント、つまり完了した注文) を問題なくインポートできました。

POS ORDERS のリストでは、インポートされた注文の状態は NEW です。インポートされた注文がシステムによって処理され、注文ステータスが PAID に変更されるようにするには、注文の支払いを手動で削除し、注文ごとに支払いを行うことができます。インポート ツールは、インポートされた注文を自動的に処理しません。インポートした注文をバッチ処理する方法はありますか? この状況の解決策はありますか?

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 に答える