2013-01-20 3 views
0

OpenErp의 가져 오기 - 내보내기 도구를 사용하여 외부 POS 시스템에서 OpenErp 6.1의 Pos-backend로 주문을 가져 오려고합니다. 가져 오기 호환 모델을 사용하며 모든 주문을 아무런 문제없이 가져올 수 있습니다 (주문, 결제, 저널, 계정, 즉 완료된 주문).OpenERP 6.1 POS 백엔드로 POS 주문 가져 오기

POS ORDERS 목록에서 가져온 주문 상태가 NEW입니다. 가져온 주문을 시스템에서 처리하고 주문 상태를 PAID로 변경하려면 수동으로 주문 지불을 삭제하고 각 주문에 대해 MAke 지불을 수행 할 수 있습니다. 가져 오기 도구는 가져온 주문을 자동으로 처리하지 않습니다. 수입 된 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 back-end에 대한 버튼을 생성하여 유효성 검사 버튼을 눌러 판매 시점 페이지의 주문에 대한 지불을 입력하는 것과 동일한 절차로 드래프트 상태의 POS 가져 오기 주문을 처리하려고합니다. pos_make_payment 클래스의 check 메소드를 사용하여 이러한 주문의 일괄 처리에 대해 간략하게 설명하면 다음과 같습니다. – SAM