Projekt

Allgemein

Profil

shopimport - shopschnittelle

Von Werner Hahn vor fast 9 Jahren hinzugefügt

Ich will ja eine generelle Shopschnittstelle bauen, für den Import soll die wie folgt aussehen:
Eigene Tabellen für ImportKopfdaten und ImportPositionsdaten.
Die Importierten Aufträge können dann wenn ein Kunde zugeordnet oder angelegt ist als Auftrag in den Workflow übernommen und bearbeitet werden.
Probleme habe ich gerade beim Anfang und der Vorgehensweise in Kivitendo mit Rose.
Tabellen habe ich angelegt
Wann muss ich rose_autocreate_model ausführen?
Auf was muss ich noch achten, bevor ich anfangen kann einen Controller zu schreiben?

Wir haben hier Shopware und ich kann mit LWP darauf zugreifen. Andere Shops haben aber andere Schnittstellen. Hier ist meine Idee für die Unterschiedlichen Shops Connectoren zu haben, die alle die gleichen Funktionen bieten wie get_orders, set_articles usw. und ich dann im Controller auf den richtigen Connector zugreifen kann.


Antworten (6)

RE: shopimport - shopschnittelle - Von Werner Hahn vor fast 9 Jahren hinzugefügt

Von Moritz
1. DB-Upgradescript schreiben.
2. DB-Upgradescript ausführen lassen, damit die Tabelle existiert.
3. In SL::DB::Helper::Mappings deine Tabelle in das große Mapping-Hash eintragen.
4. rose_auto_… mit Tabellennamen ausführen.
5. In SL::DB::Helper::ALL deine neue Objekt-Klasse einfügen.
6. ???
7. Profit.

RE: shopimport - shopschnittelle - Von Bernd Bleßmann vor fast 9 Jahren hinzugefügt

Hallo Werner,

zu den Punkten 1 und 2 in Mortiz' Aufzählung siehe auch https://www.kivitendo.de/doc/html/ch04s03.html

Was genau wird denn importiert? Ist dass nicht eine Art Auftrags-Import und könntest Du da Deinen Controller nicht vom Auftrags-Import-Controller (SL::DB::Controller::CsvImport::Order) ableiten?

Viele Grüße
Bernd

RE: shopimport - shopschnittelle - Von Werner Hahn vor fast 9 Jahren hinzugefügt

Es werden Aufträge importiert.
Unser Workflow soll so aussehen
keine Shopbestellung: Auftrag anlegen und Lieferschein erstellen (dabei auslagern) -> Bei Bedarf die Rechnungen generieren.
Shopbestellung: regelmäßiges importieren über den Taskserver -> Mit der Übernahme des importierten Auftrages als Auftrag und Lieferschein werden die Lagerbewegungen getätigt -> Bei Bedarf Rechnungen generieren.
Hier meine Überlegungen weil ich mit extra Tabellen arbeiten will.
  • Importe expliziet einem Kunden bzw. mit Kundenanlegen zuordnen zu können und als Auftrag zu übenehmen. Außerdem sollen Zusatzinformationen wie Bestell IP, Kundenbemerkung der Bestellung und ähnl. darin abgespeichert werden.
  • Zudem kann der Shop und auch andere Shopsystem unterschiedliche Bestell-, Rechnung-, und Lieferadresse haben.
  • Da der Shop auch Vorname, Nachname und Firmenname hat muss das bei der Übernahme auch bearbeitet werden.
  • Der regelmäßige Bestandsabgleich mit dem Shop soll die bestellten Artikel aus den nicht Übernommenen importierten Aufträgen berücksichtigen (viele unserer Artikel gehen aus und können für das Jahr dann nicht mehr geliefert werden).

Bei der Übernahme als Auftrag könnte mir der CSV-Import vielleicht von nutzen sein, ich schau mir den dann an, wenn ich soweit bin.

RE: shopimport - shopschnittelle - Von Bernd Bleßmann vor fast 9 Jahren hinzugefügt

Hallo Werner,

will nur wissen, ob ich mir das richtig vorstelle:

es sollen also die Shop-Bestellungen importiert werden. Wird das dann so eine Art neuer Belegtyp? Soll man sich dann die Shopbestellungen einzeln in einer Maske ansehen, bearbeiten und dann, wenn alles passt, im Workflow in einen Auftrag wandeln können?

RE: shopimport - shopschnittelle - Von Werner Hahn vor fast 9 Jahren hinzugefügt

Ja so hab ich mir das vorgestellt.

RE: shopimport - shopschnittelle - Von G. Richardson vor mehr als 8 Jahren hinzugefügt

Hm, also ich habe keine klare Vorstellung davon, wie man so etwas am Besten macht. Aber in kivi die Datenbanktabellen des Shops innerhalb eines eigenen Belegtyps parallel zu implementieren fühlt sich nicht richtig an. Was ist, wenn man den Shop wechselt? Oder der Shop seine Datenbankfelder umbaut? Das ist nicht sehr flexibel. Ich hätte das vermutlich so gemacht, daß die erfolgreich importierten Bestellungen direkt zu gültigen kivitendo-Aufträgen werden, und dafür zu sorgen, daß man alles, was man nicht direkt importieren kann, nach einer Vorbereitung in kivitendo (z.B. Kunden anlegen oder freischalten) erneut importieren kann. Die eigentlichen Importdaten der Bestellung (csv, xml, json) kann man ja trotzdem separat speichern.

    (1-6/6)