Samstag, 10. Mai 2014

CSV-Dateien mittels Python und der XML-RPC Schnittstelle in OpenERP einfügen - Beispiel Intrastat-Codes

Wer OpenERP einsetzen will, kommt meist von einem anderen System. Heutzutage sollten die Warenwirtschaft oder ERP-Systeme über einen Excel- oder CSV-Export verfügen.



Jetzt stellt sich die Frage:
"Wie bekomme ich die alten Daten wie Adressen, Artikel etc. in das System?"

Zwar stellt OpenERP die Möglichkeit zur Verfügung CSV-Dateien direkt einzulesen. Dabei muss die Struktur und Namensgebung 1:1 der Feldbeschreibung von OpenERP entsprechen.

Deshalb verwende ich in meinen Projekten lieber Python und die Webservice-Schnittstelle XML-RPC.

Hier ein Beispiel für Intrastat-Codes:

# -*- coding: UTF-8 -*-
__author__ = 'info@OpenERP24.de'
import xmlrpclib
import csv

username = "admin"
pwd = "admin"
dbname = "datenbankname"
baseurl = "http://192.168.0.26:8069"

sock_common = xmlrpclib.ServerProxy(baseurl + "/xmlrpc/common")

uid = sock_common.login(dbname, username, pwd)

sock = xmlrpclib.ServerProxy(baseurl + "/xmlrpc/object")

#"CNKEY","CN","EN","DE","FR"
reader = csv.reader(open('intrastat_codes.csv', 'rb'))

intI = 1
for row in reader:
    print row[0] + " " + row[2] + " Durchlauf:" + str(intI)
    if (intI > 0):
        # Intrastatcode
        intrastat = {
            'name': row[0],
            'description': row[2]

        }
        intrastat_id = sock.execute(dbname, uid, pwd, 'report.intrastat.code', 'create', intrastat)

    intI += 1

print 'Fertig'


Die passende CSV Datei finden Sie auf unserer Seite www.OpenERP24.de 


Keine Kommentare:

Kommentar veröffentlichen