Kommandozeile und A...
 
Benachrichtigungen
Alles entfernen

Kommandozeile und Automatisierung

14 Beiträge
3 Benutzer
4 Reactions
3,223 Aufrufe
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter   [#2232]

Hi, ich bin neu hier im Forum, aber nutze Fakturama schon eine ganze Weile.
Aber folgende Frage stelle ich mir ebenfalls schon eine ganze Weile:
Ich selbst betreibe ein einfaches selbst zusammengebautes Bestellformular wo Bestellung und Kundendaten bei mir ankommen.
Die Bestellung und den Kunden erstelle ich dann in Fakturama jedoch immer noch manuell.
Könnte ich mir einen vereinfachten WebShop Connector bauen um daraus neue Kunden und die Bestellung automatisch in Faturama anzulegen?
Oder was genauso gut wäre: Kann man das Ganze über die Kommandozeile skripten?
Ich habe dazu leider noch nichts gefunden, das wäre jedoch eine große Arbeitserleichterung.
Bestimmt auch für den ein oder anderen hier.
Programmieren ob PHP, Batch o.ä. stellt dabei für mich nicht das Problem dar.

Vielen Dank schonmal!
Felix



   
Zitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Hallo Felix,
über die Kommandozeile geht das nicht. Aber der Weg über den Webshop-Connectore funktioniert. Du mußt Dir im Prinzip nur eine XML-Datei zusammenschrauben, die die nötigen Daten enthält. WIe die auszusehen hat siehst Du, wenn Du die Sachen aus dem Beispielshop holst. Da wird eine Logdatei im Arbeitsverzeichnis geschrieben, die kannst Du Dir mal ansehen. Für den Import gibst Du im Webshop-COnnector dann einfach den Pfad zu Deiner XML-Datei an (als URL in der Form "file://" usw.)


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

Danke Ralf!
Das klingt doch sehr gut.
Sollte der voreingestellte Shop
"fakturama.sebulli.com/shop/admin/fakturama_connector_DE.php"
der Beispielshop sein, dann funktioniert dieser (gerade) offenbar nicht.
Gibt es noch einen anderen Beispielshop?

Edit: Ja gibt es natürlich. Eine frische Installation zeigts an, Fakturama hat den alten Link (siehe oben) lediglich aus den Legacy Versionen mitgeschleppt.

PS: Wenn ich es am laufen habe, erläutere ich anschließend hier meine Lösung.
Falls andere ebenfalls so eine Lösung suchen.

Viele Grüße,
Felix



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin, der Beispielshop liegt unter http://shop.fakturama.info/admin/fakturama2_connector_DE.php.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

So, soweit habe ich es zum laufen gebracht.
Nach ein paar Tagen in meinem Arbeitsverzeichnis mit neuen Kunden und Rechnungen, die ich für andere Produkte teilweise weiterhin manuell erstelle, kommt eine Fehlermeldung (siehe Anhang) und seitdem geht meine Webshopintegration nicht mehr.
In einem frischen Arbeitsverzeichnis geht es nach wie vor problemlos. Die XML scheint also ok zu sein.
Ich vermute eine Überlagerung der IDs oder ähnliches, da komme ich nicht weiter...

Folgende Fehlermeldung erscheint:

Message: More than one result was returned from Query.getSingleResult()

Trace: org.eclipse.persistence.internal.jpa.QueryImpl.throwNonUniqueResultException(QueryImpl.java:987)



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin,
kannst Du mir bitte mal die komplette Fehlermeldung (per PN) schicken? Irgendwo sind doppelte Einträge vorhanden, wo sie nicht hingehören.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

Ich habe es jetzt mit einer frischen Datenbank getestet, wo es zunächst problemlos funktioniert. Nach einer undefinierten Zeit und neuen Bestellungen gibt es auch in der neuen Datenbank wieder die oben genannte Fehlermeldung.
Es scheint so, als gäbe es eine Art Abgleich mit einem Zeitstempel oder eine mir nicht ersichtliche ID.
Der Import von Kunden funktioniert, allerdings auch nur bis zur daran hängenden Bestellung die wie beschrieben einen Fehler verursacht.
Also gibt es nur einen Kunden je Webshop-Import...



   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

Mittlerweile habe ich den Fehler gefunden:
Da ich Kleingewerbetreibend bin, habe ich die MwSt. bei 0% und das scheint beim Webshop-Import zu Fehlern zu führen. Bei 19% funktioniert es.
Bitte überprüfen!



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

hab mal einen Bug-Eintrag erstellt.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

@rheydenr

Habe gesehen, dass mit der Version 2.1.0 an Bug behoben wurde.
Bislang fahre ich ganz gut mit dem Workaround die 19% nachträglich abzuziehen:

item id="2" quantity="1" gross="23.80" vatpercent="19.00"

So stehen nach ein paar Klicks die 20 Euro da.
Habe es jetzt natürlich zum Test mal wie folgt umgestellt:

item id="2" quantity="1" gross="20.00" vatpercent="0.00"

Dann bekomme ich aber auch in Version 2.1.0 noch folgende Meldung im Log:

!SESSION 2020-05-13 14:57:42.207 -----------------------------------------------
eclipse.buildId=2.1.0.
java.version=1.8.0_241
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64

!ENTRY com.sebulli.fakturama.common 4 0 2020-05-13 15:02:02.189
!MESSAGE c.s.f.w.WebShopImportManager.execute:196|Fehler beim Öffnen von:
https://domain/db/fakturama.php
Message: More than one result was returned from Query.getSingleResult()

Trace: org.eclipse.persistence.internal.jpa.QueryImpl.throwNonUniqueResultException(QueryImpl.java:989)

com.sebulli.fakturama.webshopimport.type.Webshopexport@17919da

Vielleicht hilft es weiter.
Viele Grüße,
Felix



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Dann muß ich wahrscheinlich nochmal ran. Ich dachte, ich hätte alle Stellen gefunden 🙁

Veröffentlicht von: @fxg

Message: More than one result was returned from Query.getSingleResult()

Irgendwie sind hier Einträge in der Datenbank doppelt (evtl. die Steuersätze?)


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

@rheydenr
Ja es gibt bei mir hin und wieder doppelte Steuersätze. Das werden mit der Zeit auch mehr glaube ich. Die doppelten Einträge lösche ich dann hin und wieder manuell. Gut möglich, dass der Webshop-Import die Steuersätze neu erzeugt. Das habe ich noch nicht genau beobachtet.
Ich importiere allerdings wie gesagt immer nur die Einträge mit 19%

Wenn ich sonst noch irgendwie helfen kann, mache ich das gerne!

Viele Grüße,
Felix



   
AntwortZitat
(@juengling)
Active Member
Beigetreten: vor 4 Jahren
Beiträge: 8
 

@fxg Ich hätte zwei Fragen dazu:

- In welcher Sprache hast du die Anbindung geschrieben?

- Reicht es aus, die XML-Datei zu erzeugen bzw. zu überschreiben und dann Fakturama (neu) zu starten? Oder muss man noch irgendwas machen?



   
AntwortZitat
 fxg
(@fxg)
Eminent Member
Beigetreten: vor 7 Jahren
Beiträge: 15
Topic starter  

Das läuft in PHP auf einem einfachen Apache Webserver, welcher eine Anbindung zu den eigentlichen Daten hat und dann, wie du schon beschrieben hast, dynamisch eine XML-Datei erzeugt und diese wird beim Import eingelesen. Welche Programmiersprache du da nutzt ist allerdings zweitrangig.



   
AntwortZitat
Teilen: