Zum Inhalt
PDF

Release Notes

v3.2.0

Release Date: 2026-04-29

Neue Funktionen

  • SH-385 Umfangreiche Ueberarbeitung des Managementinterfaces ("Webinar Nice-To-Haves"):

    • Kompakter Sticky-Header mit globalem Shop-Switcher und Sync-Status loest den wuchtigen Hero-Bereich auf dem Dashboard ab; die Sync-Kacheln liegen dadurch rund 70 % hoeher im sichtbaren Bereich.
    • Haeufig genutzte Combo-Syncs ("Artikel & Preise", "Kunden & Bestellungen") werden prominent in einer eigenen Featured-Zeile auf dem Dashboard angezeigt; Reihenfolge und Gruppierung sind ueber die neuen Sektionen [DASHBOARD] und [DASHBOARDGROUP:*] der management.ini konfigurierbar.
    • Die wuchtigen Page-Header-Banner (Bootstrap-Jumbotrons) auf allen Unterseiten wurden entfernt; die Topbar zeigt nun Seitentitel mit Icon, Beschreibung sowie Zurueck- und Aktions-Buttons.

    Weitere Verbesserungen: eindeutige, semantisch passende Icons je Sync-Kachel, einheitliches Inline-Banner-Styling fuer Status- und Fehlermeldungen, kompakte Live-Log-Card waehrend laufender Syncs.

  • SH-388 Im Dashboard zeigt der Featured-Bereich jetzt nur noch die Kacheln "Artikel & Preise" und "Bestellungen". Die kombinierte Kachel "Kunden & Bestellungen" rutscht in den Bereich "Weitere Synchronisationen", da Bestellungen typischerweise deutlich haeufiger gesynct werden als Kunden.

  • SH-390 Dashboard-Gruppen lassen sich pro Gruppe in der management.ini optional standardmaessig zugeklappt darstellen (collapsed = true in einem [DASHBOARDGROUP:*]-Block). Per Klick auf den Gruppen-Header laesst sich die Gruppe weiterhin auf- und zuklappen.

  • SH-392 Im Aufgabenplaner gibt es eine neue Option "Verpasste Aufgaben nachholen" pro Aufgabe. Ist sie aktiv, wird eine Ausfuehrung, die z. B. waehrend einer Wochenend-Downtime ausgefallen ist, beim naechsten Start des Dienstes nachgeholt; mehrfach verpasste Ausfuehrungen werden zu einer einzelnen zusammengefasst. Das mitgelieferte Standard-Zeitplan-Preset nutzt die Option fuer den Wochenend-Vollsync "Artikel & Preise So 01:00".

  • SH-395 Im AP-Dashboard ([/advanced/apdashboard]{.title-ref}) gibt es eine neue Karte „Alle geplanten Jobs (shop-uebergreifend)" mit Spalten Shop, Bezeichnung, Sync-Art, Trigger und naechstem Lauf. Verwaiste Aufgaben, deren Shop nicht mehr in [[SHOPS]]{.title-ref} der [management.ini]{.title-ref} steht, werden mit einem Badge markiert und lassen sich direkt aus dieser Liste entfernen.

Update-/Installationshinweise

  • SH-395 Die Tabellen „Executions" und „Events" im AP-Dashboard zeigen jetzt die letzten 100 Eintraege. Die Stats-Counter (Hinzugefuegt/Entfernt/ Submitted/Erfolgreich/Verpasst) bleiben Gesamtzahlen ueber alle Eintraege.

Fehlerbehebungen

  • SH-380: Timestamp wird nun auf das höchste Updated/Created Timestamp gesetzt wie bei der funktion syncFilteredCustomers

  • SH-384:
    • healthCheck kann über management ausgeführt werden
    • Gastbestellungen über Sammelkonto
    • Versand und Zahlungsart im Default
  • SH-385 Stabilisierung und Konsistenz des Managementinterfaces:

    • Shop-Switcher und Statusbar (letzter Sync-Status / laufender Sync-Indikator) funktionieren jetzt auf allen Seiten - vorher nur auf dem Dashboard.
    • Das AP-Dashboard laesst sich wieder oeffnen (NoReverseMatch durch veralteten logpath-Parameter behoben).

    Weitere Korrekturen: Configs oeffnen direkt den aktiven Shop statt hartkodiertem local; Django-Error-Messages werden konsistent dargestellt; AP-Dashboard-Executions als klickbares Detail-Modal statt ueberbreiter Tabelle (fehlgeschlagene Ausfuehrungen rot hinterlegt); stille Fehler beim Sync-Start werden sichtbar geloggt; Sync-Timestamps werden auch bei consumer_key aus minimal.ini korrekt angezeigt; Inhalt vergroesserter Featured-Kacheln wird vertikal zentriert.

  • SH-387 Build-Fehler im PyInstaller-Skript behoben: Quellpfad fuer WinLineVorlagen in ess.spec korrigiert (Repo-Root statt bin/).

  • SH-389 Im Dashboard verbraucht der Wildcard-Eintrag (keys = *) einer Gruppe nur noch die Tiles, die nicht von einer anderen Gruppe explizit beansprucht werden. Damit lassen sich Gruppen hinter "Weitere Synchronisationen" platzieren, ohne dass die Wildcard-Gruppe ihre Inhalte vorab schluckt.

  • SH-391 Im Aufgabenplaner kann eine Aufgabe nachtraeglich auf "Minuetlich" gestellt werden. Die Intervall-Optionen im Bearbeiten-Dialog wurden mit der Anlegen-Maske angeglichen und ein Tippfehler in den Choice-Keys ("Minunten") behoben, der die Edit-Logik bisher inkonsistent machte.

  • SH-392 Tippfehler coalsce in den Scheduler-Defaults wurde zu coalesce korrigiert.

  • SH-393 Im Aufgabenplaner werden gleichnamige Aufgaben in unterschiedlichen Shops nicht mehr gegenseitig blockiert. Die Existenz-Pruefung beim Standard-Zeitplan-Laden und beim manuellen Anlegen ist jetzt pro Shop. Vorher wurden Preset-Aufgaben fuer einen Shop stillschweigend uebersprungen, wenn sie unter einem anderen Shop schon einmal angelegt waren — die Tabelle blieb in diesem Fall leer. Beim manuellen Anlegen erschien fuer denselben Fall die irrefuehrende Meldung "Aufgabe existiert bereits".

  • SH-393 removejob/pausejob/resumejob zeigen eine Meldung an, wenn die uebergebene Task-ID nicht (mehr) existiert, statt mit AttributeError abzustuerzen.

  • time_to_safe checkt jetzt auch ob es None ist bevor es genutzt wird.

Sonstiges

  • SH-375:
    • Neue Vorlagen für Beleg und Kunden/Kontakte Import
    • PyInstaller/Wix angepasst für neu Vorlagen

v3.1.0

Release Date: 2026-04-28

Neue Funktionen

  • SH-260 Neues Feature-Flag REMOVE_ORPHAN_MEDIA entfernt beim Bilder-/Download-Sync automatisch alle Shopware-6-Artikelmedien, deren WinLine-Schlagwort (Webshop Grafik bzw. Webdokument) zwischenzeitlich entfernt wurde. Mit Sicherheitsnetz gegen versehentliches Loeschen bei leerem WinLine-Abruf.
  • SH-371 Im Aufgabenplaner steht ein neuer Button "Standard-Zeitplan laden" bereit. Ein Klick legt drei typische Hintergrundaufgaben für den aktuellen Shop an: kombinierter Artikel- und Preissync (Mo-Fr 01:00), Vollsync für Artikel und Preise (So 01:00) sowie Bestellungen (Mo-Fr 06-18 Uhr alle 15 Minuten). Bereits vorhandene Aufgaben mit gleichem Namen bleiben unangetastet.
  • SH-371 Jede geplante Aufgabe im Aufgabenplaner kann nun optionale CLI-Parameter erhalten (z. B. "-a" für Vollsync, "-wc" ohne Kategorien). Damit lässt sich derselbe Sync an unterschiedlichen Wochentagen mit verschiedenen Flags ausführen. Der Sonntags-Eintrag des Standard-Zeitplans läuft jetzt mit "-a", sodass über das Wochenende garantiert alle Artikel und Preise vollständig synchronisiert werden.
  • SH-372 Management Interface: Neuer Navigationseintrag "Onlinedokumentation" verlinkt direkt auf die offizielle Doku.
  • SH-378 Im Installationsverzeichnis liegen jetzt zwei Helfer-Skripte init.bat (Erstkonfiguration via ess.exe init) und install_service.bat (Windows-Service registrieren und starten). Beide fordern automatisch Adminrechte an (UAC) und ersetzen den bisherigen manuellen Aufruf in einer Admin-Konsole.
  • SH-378 Das Management Interface läuft jetzt als Windows-Service mit Waitress als Produktions-WSGI-Server (Port 8001) hinter einem WinSW-Wrapper. Autostart bei Systemstart, automatischer Neustart nach Fehler und optionale Reverse-Proxy-Authentifizierung (REMOTE_USER via X-Forwarded-For) werden unterstützt. Der Dienst wird aus dem Installationsverzeichnis mit management_service.exe install registriert.

Fehlerbehebungen

  • SH-370: Mandant und Saleschanel in Default/Minimal aufgenommen
  • SH-372 Management Interface: Link "Zum Shop" funktioniert nun zuverlässig, öffnet in einem neuen Tab und wird nur angezeigt, wenn in der Shop-Config eine URL hinterlegt ist. Fehlende URL-Schemas werden automatisch ergänzt. Tippfehler in der Support-Mailadresse korrigiert.
  • SH-373: Wenn Bestellungen nicht in die DB eingefügt werden kann, wird diese in die Fehler-Liste geschrieben.
  • SH-374 Die Synchronisations-Kacheln im Managementinterface werden während eines laufenden Syncs nicht mehr ausgegraut und bleiben klickbar. Die Live-Log-Anzeige bleibt weiterhin erhalten, und ein zweiter Sync-Versuch wird wie bisher mit einer Fehlermeldung verhindert.
  • SH-377 Auf der Sync-Fehler-Seite werden Entity-Typen im Filter-Dropdown nicht mehr mehrfach angezeigt und erscheinen nun alphabetisch sortiert.
  • SH-379 Der Kategorie-Sync bricht nicht mehr mit Foreign-Key-Fehlern auf parent_id ab. Kategorien werden vor dem Upsert topologisch sortiert, so dass Eltern-Kategorien immer vor ihren Kindern angelegt werden. Dies gilt sowohl für die initiale Kategorie-Anlage als auch für den Artikel-Upsert, bei dem bisher nur Blatt-Kategorien mitgeschickt wurden und deren Eltern bei ad-hoc angelegten Kategorien fehlen konnten.
  • SH-371 Die Aufgabenplaner-Seite stürzt nach dem Laden des Standard-Zeitplan-Presets nicht mehr mit einem Fehler ab. Cron-Aufgaben ohne gesetztes Startdatum werden in der Übersicht mit „-" als Startzeit angezeigt.

v3.0.3

Release Date: 2026-04-13

Fehlerbehebungen

  • SH-364:
    1. Default Configs (config, minimal, mnanagement) überarbeitet.
    2. Artikel + Preis sync
  • SH-367 Fehler beim Filtern von WinLine-Belegen behoben, wenn ein Belegfeld keinen Wert enthält.

  • SH-368:
    • Fehler behoben, wenn das ID Feld im Beleg auf None gesetzt wurde
    • Fehlerhafte Kunden werden übersprungen und in den Fehler-Log des Management Interfaces geschrieben.
  • SH-369: Alter Timestampt aufruf auf timestamp_manager umgestellt

v3.0.2

Release Date: 2026-04-08

Sicherheits-Updates

  • SH-361: Update aiohttp to 3.13.5 to resolve 10 new found vulnerabilities in 3.13.3

Fehlerbehebungen

  • SH-358 Behebt einen Fehler im Job-Dashboard (apdashboard), durch den die Seite mit einem TypeError abstürzte, wenn Events ohne zugehörigen Job in der Datenbank vorhanden waren. Verwaiste Events werden jetzt übersprungen und im Log vermerkt.
  • SH-359: Keine Position in die DB importieren wenn die Versandkosten Leer sind.
  • SH-360: Init muss for dem benutzen des consumer_Keys ausgeführt werden.

Sonstiges

  • SH-351 Veraltete Screenshot-Hinweisboxen aus der Dokumentation entfernt.

v3.0.1

Release Date: 2026-03-27

Fehlerbehebungen

  • SH-353 Management-Interface kann nun über den Shop-Launcher gestartet werden, ohne dass der Django Auto-Reloader einen Fehler verursacht.
  • SH-354 Sync-Start aus PyCharm schlug mit ModuleNotFoundError fehl, da die Django-Settings-Konfiguration nicht korrekt an den Sync-Subprocess weitergegeben wurde.

Sonstiges

  • Der Standardport für das Management Interface ist jetzt 8001

v3.0.0

Release Date: 2026-03-26

Neue Funktionen

  • SH-345 SQLite-Datenbankperformance durch PRAGMA-Optimierungen verbessert (WAL-Modus, Memory-Mapped I/O, Busy-Timeout).
  • SH-347 Der Init-Befehl erstellt nun automatisch eine management.ini mit Standardwerten fuer den ManagementService.

Update-/Installationshinweise

  • SH-332 Shop-URLs werden nun automatisch aus der jeweiligen config.ini ausgelesen. Der Launcher-Pfad wird automatisch bestimmt.
  • SH-332 Neue Fehlerübersicht: Sync-Fehler werden nun in der Datenbank protokolliert und können über eine eigene Seite eingesehen, gefiltert und als gelöst markiert werden.

Fehlerbehebungen

  • SH-332 Management Interface: Fehlgeschlagene Synchronisierungen werden nun korrekt als fehlerhaft erkannt, auch wenn kein Traceback in der Ausgabe enthalten ist.
  • SH-332 Management Interface: SyncProgress-Datensätze werden nun pro Shop wiederverwendet statt bei jedem Sync-Vorgang neue Einträge zu erzeugen. Die Datenbank wächst dadurch nicht mehr endlos an.
  • SH-332 PermissionError beim Starten der Exe behoben, wenn der konfigurierte tmp-Pfad relativ angegeben ist.
  • SH-337 Fehler behoben, bei dem ein unbekannter Shop-Name im Management Interface zu einem Serverfehler führte.
  • SH-338 Management Interface: Ungültige URL-Pfade wie /.well-known oder robots.txt führen nicht mehr zu einem Serverfehler, sondern werden korrekt mit einer 404-Seite beantwortet.
  • SH-339 In Testumgebungen wird nun der korrekte Shop-Launcher (energy_connect_shop_launcher.py) über Python gestartet, statt die nicht vorhandene ess.exe zu suchen.
  • SH-340 Sync-Prozess startet nun mit korrektem Arbeitsverzeichnis, sodass relative Pfade (z.B. Mapping-Ordner) korrekt aufgelöst werden.
  • SH-340 SW5-only Sync-Funktionen (z.B. syncAttributes, syncEigenschaften, syncCross, syncTranslations) werden bei SW6-Shops nun automatisch übersprungen statt einen Fehler zu verursachen.
  • SH-342 Management Interface: Einzel-Sync Tab wird nun korrekt angezeigt und ist wieder nutzbar.
  • SH-343: Fehler wenn orderId nicht im Shop gefunden werden kann.
  • SH-346 Sync-Timestamps werden jetzt in der SQLite-Datenbank gespeichert statt in .timestamp-Dateien. Dadurch werden Schreibfehler bei schreibgeschützten Config-Verzeichnissen (z.B. Program Files) behoben. Bestehende Timestamp-Dateien werden beim ersten Start automatisch migriert.
  • SH-346 Die Logs-Seite zeigt jetzt alle Logdateien des aktiven Shops an. Zuvor wurden nur wenige Dateien angezeigt, da der Log-Pfad nicht korrekt anhand des Shop-Mandanten aufgelöst wurde.
  • SH-352: CustomFieldSet CustomField Config wird nicht mehr ersetzt und kann dadurch zum teil im Shop gepflegt werden. Vor allem können Select Felder angelegt und deren Optionen dann im Shop gepflegt werden.
  • SH-316 Dokumentation an aktuellen Code-Stand (v2.12.4) angepasst. Falsche Default-Werte, fehlende Konfigurationsoptionen und veraltete Statusbezeichnungen in der mkdocs-Dokumentation korrigiert.

Sonstiges

  • Die Endnutzer-Dokumentation wurde vollständig für Shopware 6 aktualisiert. Veraltete Shopware 5 Inhalte und Warnhinweise wurden entfernt, fehlende Seiten zur Navigation hinzugefügt und die Konfigurationsdokumentation überarbeitet.

Major Release

  • SH-332 Breaking Change: Das Management Interface wurde von Flask auf Django 6 migriert. Die management.ini muss angepasst werden – die Sektionen [HOST], [MANAGEMENT], [SOCKET], [PROFILER], [SHOPURL] und [SHOPPATH] müssen entfernt werden. Die [SHOPS]-Sektion enthält nun direkt den Pfad zur config.ini jedes Shops. Der Startbefehl ändert sich zu ess.exe manage runserver (Port 8000 statt 5000). Siehe Migrationsanleitung in der Dokumentation unter "Update".

v2.12.4

Release Date: 2026-03-13

Fehlerbehebungen

  • SH-341: Configurations file und timestamp wurden immer neu geschrieben

v2.12.3

Release Date: 2026-03-11

Fehlerbehebungen

  • SH-330: Es werden nur noch beim Kunden Import per Kontakt alle Kunden im Shop abgerufen und hier wird auch ein differenzieller Ansatz verwendet.

v2.12.2

Release Date: 2026-03-09

Fehlerbehebungen

  • Fallbackwerte im Validator müssen Strings sein

  • SH-313:
    • Werden mehr als 1 Kontakt gefunden kann wird nun richtig gefiltert auch wennd as Updated Datum fehlt
    • Wenn das Updated Datum fehlt kannd as Datumsfeld im Shop nicht aktualisiert werden, als Fallback dient nun das Created at feld der WinLine.
  • SH-323: Wenn sich die Varianten (bzw. die Konfiguration derer) in der WinLine ändert, werden nun die nicht mehr benutzten gelöscht.

Sonstiges

  • SH-262:
    • Dokumentation zu Artikelgrafiken überarbeitet.
    • Dokumentation zu Ausprägungen/Varianten überarbeitet.
  • SH-315: Plugin um neue Text-Positionen auf einen Beleg zu importieren wenn eine bestimmte Zahlungsart gewählt wurde.

  • SH-327 FAQ um Anleitung zur Behebung defekter Bilder in Shopware ergänzt.

v2.12.1

Release Date: 2026-01-14

Fehlerbehebungen

  • SH-310: Bestellungen die per Datenbank abgerufen werden, werden nun korrekt im Shop in einen neuen Status gesetzt.

v2.12.0

Release Date: 2026-01-14

Neue Funktionen

  • SH-303 Automatischer Import in das dem aktuellen Jahr zugehörige Wirtschaftsjahr solange das Feature WEBSERVICE_COMPANYYEAR nicht manuell deaktiviert wurde.
  • SH-270: Shopaccounts werden als Kontakte in die WinLine importiert. Hierzu wird die Email-Adresse herangezogen, um bestehende Kontakte zu finden. Zudem wird die Kundennummer ersetzt, das Datum des Imports und die Nummer des Kontaks (Abweichend zur Kontaktnummer) in den Shop zurückgeschrieben (Abweichend von der). So kann beim Import der Bestellungen der Kontakt mit angegeben werden.
  • SH-309: Personenkonten und Kontakte können über die Datenbank importiert werden.

Fehlerbehebungen

  • Beim Update der Kunden im SHop wurden immer alle Aktualisiert und es handelt sich nicht immer bei dem shop-konto um ein Ressource object.

Sonstiges

  • Error handling

v2.11.6

Release Date: 2026-01-08

Fehlerbehebungen

  • Turned logger in shopware6.py _map_position from error to warning. position will get skipped when not in mapping.

Sonstiges

  • Plugin to get KundenNr from Email. Little addition in Shop to make new Plugin work. fixed typo

v2.11.5

Release Date: 2025-11-13

Fehlerbehebungen

  • SH-299: Mapping muss nach den meisten generate*_data_for_article() funtionen laufen

v2.11.4

Release Date: 2025-11-12

Fehlerbehebungen

  • SH-295: Plugability für generate_article_data verbessert und refactoring
  • SH-297 - Archiveinträge ohne das Schlagwort "Artikelbezeichnung" wurden komplett rausgefiltert. Da es aber kein Pflichtfeld ist, ist der Join jetzt ein Outerjoin und der Filter ist in der Join-On-Clause.

v2.11.3

Release Date: 2025-11-04

Fehlerbehebungen

  • SH-298: Wenn ein PDF als Artikelbild verwendet wird crashed die Schnittstelle. Shopware unterstützt so auch keine PDFs aber das Medium wird trotzdem übertragen.

v2.11.2

Release Date: 2025-10-15

Fehlerbehebungen

  • SH-290 Rabattzeilen mit nur einem zugeordneten Kunden wurden als kundenindividueller Preis angelegt. Das sorgte außerdem dafür, dass Preise teilweise unvollständig übertragen wurden.
  • SH-291 Die Configdatei wird nicht in UTF-8 geschrieben, was beim Laden zu problemen führt.
  • SH-289: Wenn die Preisliste nicht gesetzt ist kommt es bei einem Plugin zu Fehlern.
  • SH-293: Der Kundensync hat in bestimmten Fällen die Zeitzone verloren und dadurch Kunden nicht abrufen können.

v2.11.1

Release Date: 2025-09-26

Fehlerbehebungen

  • Wenn keine Kategorien übertragen werden sollen, wurden dennoch eine Leere Liste gesetzt (Manuell im Shop gepflegte Kategorien werden damit entfernt)

v2.11.0

Release Date: 2025-09-25

Neue Funktionen

  • SH-266 tqdm für search-Endpunkte.
  • SH-278 Rabattmatrix zusammenfassen: Wird die Rabattspalte für alle Preiseinträge des Artikels auf [fixe Rabattspalte vom Artikel]{.title-ref} gesetzt, kann die Schnittstelle Preise der Rabattmatrix zusammenfassen, um Preiseinträge im Shop zu reduzieren und in diesem die Performance zu verbessern. Weicht die Rabattspalte einer Preiszeile in der WinLine ab, werden die Preise im Shop pro Kunden erstellt. Dieses Feature wird über die Featureflag [SUMMARIZE_ACCOUNT_MATRIX = True]{.title-ref} aktiviert.
  • Es kann nun ein Pfad in der Konfiguration angegeben werden welcher bei der Bildübertragung aus Zusatzfeldern genutzt wird. zusatzgrafikpfad = C:PfadzuOrdnerBilder

Fehlerbehebungen

  • SH-267 Korrektur der Preisübertragung für einzelne Artikel (-n). Diese löschte all Preise.
  • SH-269 Die Funktion syncPrices konnte Preise nicht bereinigen, wenn noch kein Preis in den Shop übertragen wurde.
  • SH-274 Die Übertragung der Rabattmatrix konnte den Rabatt des Standardpreises überschreiben.
  • SH-276 Korrektur der Bismengenberechnung bei Verwendung der Rabattmatrix.
  • SH-280 plugin-Logger wird nichtmehr automatisch auf DEBUG gesetzt.
  • SH-280 Encoding wird in DEBUG-Ausgaben berücksichtigt.
  • SH-282 Bereitstellung der ursprünglichen Order-Daten in optionalShopData für Order_Beleg_Rechnung und Order_Beleg_Lieferung.
  • SH-288 Filtern von überschneidenden Preisen berücksichtigt jetzt die Rabattflag.
  • SH-286: Wenn weder Artikeluntergruppen noch Kategorien aus Eigenschaften Konfiguriert sind, werden keine Kategorien an den Shop übermittelt. Die Artikeluntergruppen werden über die Konfig-Wert im Segment 'WL': 'Kategorien_aus_Artikeluntergruppen = True' aktiviert

Sonstiges

  • SH-267 ODBC Driver 18 for SQL Server als Standardtreiber gesetzt. SQL Server wird nicht mehr unterstützt.
  • SH-275 Erweitertes (DEBUG-) Logging für die Übermittlung der Daten als Chunk.
  • SH-278 gen_rule_uuid ignoriert ab sofort den Parameter "value", da dieser sonst dafür sorgt, dass Rabattmatrixregeln nicht aktualisiert werden können. Für alle Fälle, ausser der Rabattmatrix, enthält rule in Verbindung mit dem Namen immer den selben Wert.
  • SH-273: Tracing für Plugins und Logging
  • Schöneres Logging für Bildübertragung. Mini SQL Fix bei Anfragen mit Sonderzeichen.
  • SH-284: Fallback für nicht konfigurierte Eigenschaften ist nun nicht Filterbar und nicht auf Produktseite anzeigen.
  • Brutto/Netto-Flag kann jetzt aus Preisliste eines Preislisteneintrags ausgelesen werden

v2.10.1

Release Date: 2025-08-29

Fehlerbehebungen

  • SH-264 Löschen von Preisen in Chunks, da Shopware bei Löschen per Criteria bei großen Datenmengen Probleme macht.

v2.10.0

Release Date: 2025-08-29

Neue Funktionen

  • SH-264 Neuer Parameter onlyDeleteUnused für syncPrices um alle ungültigen preise zu entfernen ohne Neue anzulegen.
  • SH-265 Unterstützung für WSL2.
  • SH-265 Unterstützung für Self-Signed-Certificates und MSODBC18.

Fehlerbehebungen

  • SH-264 Behebt einen Speicherleck am Ende der Preisübertragung.
  • SH-265 Korrektur falsch kodierter Dateien.
  • SH-265 Optimierung der Preisbereinigung im Shop.
  • SH-257: Anstatt die Preise aus dem shop abzurufen, wird eine delete condition erstellt die alle Preise löscht, die nicht im Update enthalten waren.

Sonstiges

  • Local SSL with truststore
  • Feld in der Config hinzugefügt dass es ermöglicht die is_exe() Methode zu umgehen und somit SSL local möglich zu machen.
  • viztracer und hunter in Pipfile hinzugefügt, können jetzt in Plugins genutzt werden.

v2.9.6

Release Date: 2025-08-13

Prelude

Fehlerbehebungen

  • SH-256: Es werden nun keine Rabattmatrix-Preise für Kunden angelegt die keine Rabattleiste 1 oder Rabattleiste 2 hinterlegt haben oder bei denen der Rabatt 1 und 2 0% hat.

v2.9.5

Release Date: 2025-08-08

Fehlerbehebungen

  • SH-254: Fehlende Rabattmatrix-Einträge für Preisart Verkauf werden nun generiert.

v2.9.4

Release Date: 2025-08-06

Fehlerbehebungen

  • SH-233: Es werden nun korrekt die Plugins aus dem Plugin Ordner geladen, wenn die die exe ausgeführt wird. Vorher mussten die Plugins sowohl im Plugins ordner als auch im _internal/plugins ordner liegen.

Sonstiges

  • get_article_groups_filter_by_eigenschaften kann jetzt auch ab einer bestimmten Untergruppennummer filtern.
  • get_article_groups_filter_by_eigenschaften kann jetzt auch nur Kategorien ab einer bestimmten Artikeluntergruppe übertragen.

v2.9.3

Release Date: 2025-08-04

Fehlerbehebungen

  • SH-253 _data nicht initialisiert

v2.9.2

Release Date: 2025-08-04

Fehlerbehebungen

  • SH-252: search aufrufe funktionieren ohne BulkData daher musste hier gesondert geprüft werden ob ein _Filter übergeben wurde um diesen dann mir .toDict() zu konvertieren.

v2.9.1

Release Date: 2025-07-31

Fehlerbehebungen

  • SH-246 Umstellen der send.json für den send-Befehl auf UTF-8-Encoding.
  • SH-247 Anpassung der Beispieldatei für Logging ohne Dateigrößenbegrenzung.
  • SH-249: Da _Filter (und die erbenden Klassen) von dict erben, wurde die interne representation nicht aktualisiert, wenn eine der Properties der Instanz aktualisiert wurden. Das hat mit der internen implementation von dict zu tun. Da das Problem eigentlich nur bei der Konvertierung eines Bulkdata-Object zu einem dict wichtig war, musste nur die toDict() Methode von Bulkdata richtig implementiert werden und die vererbung zu dict war nicht mehr nötig.
  • Funktion "get_article_groups" wird nun mit SQLAlchemy gemacht. Funktion "get_article_groups" ist nun plugable.

v2.9.0

Release Date: 2025-07-24

Neue Funktionen

  • SH-247 Verbessertes Logging-System mit konfigurierbaren Log-Datei-Pfaden. Das System unterstützt jetzt dynamische Pfade für Log-Dateien über Konfigurationsvariablen.
  • SH-247 Neue detaillierte Request-Protokollierung für Shop-API-Aufrufe. HTTP-Requests werden nun separat geloggt und können über den Logger 'shop.requests' gesteuert werden.
  • SH-247 Der Standardlogger kann in der logging.cfg optional unter dem Namen baseHandler überschrieben werden.
  • SH-246: Developer-Parameter um direkt requests an den SHop zu schicken. Dies kann einfach ein get an einen endpunkt sein, ein post an einen endpunkt mit dem json als Übergabeparameter oder ein post mit json aus einer Datei.

v2.8.1

Release Date: 2025-07-23

Fehlerbehebungen

  • SH-241 Verbesserung der Dateipfad-Verarbeitung bei RTF-Konvertierung.
  • SH-245 Plugable-Registrierung für den SyncManager ergänzt.
  • Shopware nimmt keine spitzen Klammern für Kategoriennamen an. Hier am besten auf Sonderzeichen verzichten. Es wird jetzt explizit auf "\<" und ">" geprüft und diese entfernt.
  • Bessere Checks und Errorhandling wenn order ein String ist und Cast to String entfernt.

Sonstiges

  • Die Versionsnummer wird nun auch in der "__init__.py" hochgezählt wodurch die ".log" Dateien richtig abgelegt werden.

v2.8.0

Release Date: 2025-06-30

Neue Funktionen

  • SH-224 Featureflag remove_price_duplicates, welche Preisduplikate mit überschneidenden Gültigkeitsdaten entfernt.
  • SH-236 Installer per MSI für vereinfachte Installation und Upgrades.
  • Es ist nun möglich im Mapping [DYNACROSS] für das dynamischen Crossselling die Felder sort_by und sort_direction zu setzen wodurch die Sortierung angegeben werden kann.

Fehlerbehebungen

  • Reihenfolge der unterschiedlichen Bulkdata entities war nicht deterministisch. Dadurch wurden manchmal Artikel geupdatet obwohl noch Datem gefehlt haben. Dazu wurde im "example_article.yml" noch ein fehler behoben, da hier der Lieferzeit_Unit Defaultwert "Tag" war aber "day" sein muss.
  • cross_gruppe_shop wird jetzt nur noch erstellt wenn alle Werte hierfür gesetzt sind.

Sonstiges

  • Bessere Logs fürs Debugging mit der Möglichkeit sie per Argument zu aktivieren.
  • hauptartikel_als_varianten in plugins/examples + erklärung in installation.md

v2.7.0

Release Date: 2025-06-18

Neue Funktionen

  • SH-232 Neue Vorlage zum Ausblenden von Eigenschaften.

Fehlerbehebungen

  • SH-230 Unicode-Excaping von Stück im Standardmapping.
  • Bulkdata mit Filterkriterien können jetzt korrekt zusammengefasst werden.

v2.6.0

Release Date: 2025-06-17

Prelude

Upgrade Guide 2.x -> 3.0

Es ist nun möglich Zusatzfelder in der Winline zu definieren die Produkten die Möglichkeit gibt, Teil einer dynamische Produktgruppe zu sein und welche Produktgruppe bei dem jeweiligen Artikel angezeigt wird.

Neue Funktionen

  • SH-165 Logkonfiguration per logging.cfg

  • SH-173 Zuweisung von mehreren Sales-Channels über Artikeleigenschaften.

  • SH-104: Großes Refactoring. Aufteilung der Auszuführenden Dateien und Programmstart von Logic getrennt. Umbenennung von einigen Klassen und Dateien um die Lesbarkeit zu verbessern.

  • In der config.ini kann das Feature DYNAMIC_CROSS_SELLING aktiviert und mit den Werten in dem Block [DYNACROSS] konfiguriert werden. Die Standartwerte sind hier:

    cross_name = Unsere Vorschläge cross_gruppe_feld = C229_Zusatzfeld29 cross_anzeige_feld = C230_Zusatzfeld30

    Des weiteren wurde dem Block [CROSS] der Wert "crossselling_aktiv = True" hinzugefügt wodurch diese Funktion ausgeschaltet werden kann

  • Kundenexport kann nun auch mit Mapping durchgeführt werden. Die erzeugte Datei ist XML-EXIM kompatibel.

Nicht mehr unterstützte Funktionen

  • Shopware 5 und WooCommerce werden nicht mehr Unterstützt.

Fehlerbehebungen

  • SH-172: CMSPageId muss nicht mehr in der Konfig hinterlegt werden und die CMSPage bestehende Kategorien werden nicht überschrieben.

  • SH-177 Ermittlung des Shoppreislistentyps anhand der Preisflag anstatt der Kontonummer, um auch im Fall von fehlerhaften Preisdaten in der WinLine diese übertragen zu können.

  • SH-179 Die erste Preisliste aus dem Konfigurationsfeld WL.preislistennr wird als Fallback-/Allgemeiner-VK-Preis verwendet.

  • SH-196 Upgrade auf PyInstaller für python 3.11 Kompatibilität.

  • SH-199 Anlage von Varianten ohne gesetzte Bezeichnung in der WinLine.

    kleiner bugfix: options id wird aus langtext generiert und muss daher nur den namen ersetzen 'Nicht gesetzt' ohne eine neue uuid zu generiert.

  • SH-205 Exception für ENV-Fehler inklusive Traceback ausgeben.

  • SH-206 Artikel ohne WinLine-Bezeichnung wurden nicht übertragen.

  • SH-207 Logging Beispielconfig funktionierte nicht.

  • SH-207 Logging für http.client wenn debug-Modus angeschaltet wurde.

  • SH-144 Umstellung im Mapping auf Dynamische Names erkennung anhand von Order_Line_Item Type. So können Bundleartikel und andere custom Artikel ohne anpassung gemapped werden. Zudem kann für jeden Typ eine zusätzliche Textzeile gemapped werden.

  • Ausprägungen übertragen funktioniert jetzt mit shopware6

  • SH-190 - Statt einem search der alle daten enthält wird nun standardmäßig ein search mit limit verwendet. Hintergrund ist eine Änderung in Shopware die Ergebnisse limitiert aber nicht richtig sortiert bzw. den User informiert. Beispiel: Der default für ein search nach allen Kunden gibt nicht wie vorher alle Kunden zurück sondern im Standard nur 500 Kunden (das ist ein limit welches nur über eine Datei auf dem Webserver von Shopware verändert werden kann) und diese sind nicht sortiert wodurch nicht alle Kunden abgerufen werden können, selbst mit einer Zeitstempelfilterung.

  • Es werden nun nicht zugeordnete Kategorien entfernt und zudem wird nur die Unterste Ebene des Kategoriebaums dem Artikel zugeordnet.

  • SH-217: Da der Status über den abgerufen werden soll fix auf einen gesetzt war konnten nicht zwei stati gleichzeitig gefiltert werden. Zudem ist die Dynamisch Status Änderung nun flexibler und aufgeräumter

  • SH-222 Es wurde im Trackingnummern parameter die Bestellnummer als Dict übergeben statt der Trackingnummer.

  • SH-223 Wenn kein Gast WinLine Konto hinterlegt ist wird die Kundennummer einfach übernommen.

  • auf config variablen (cross_gruppe_feld, cross_anzeige_feld) wird nun nur noch zugegriffen wenn diese auch existieren

  • Artikeluntergruppen werden jetzt mit deutsch in allen Sprachen gefüllt.

Sonstiges

  • SH-209 Bei abweichender Ebene in Kategorieübersetzungen, wird die betroffene Kategorie ausgegeben.
  • Changed Pythonversion to 3.11
  • Added new feature to generate price from netto or brutto. with the addition of the new features a method to check if mutually exclusive features are active at the same time was added. added missing .value for the exclusive features list. set base_price to art_object.C007_allgVerkaufspreis when uvp feature is selected bandaid fix für determine_brutto_netto_faktor bei price_data bis pricelist_entry implementiert ist
  • mit PRICE_PRIORITY_HIGHEST = True kann das Feature genutzt werden mit dem der Preise nach der Preispriorität mit '(Int32) 2147483647 - Preis' ausgewählt wird Bugfix weil aufs enum und nicht die value aus dem configfile geguckt wurde validatorenmatrix eingefügt
  • Mapping update für Zusatzfelderlabel

v2.5.0

Release Date: 2024-11-01

Neue Funktionen

  • SH-170 Die SSL-Validierung wird in Entwicklungsumgebungen automatisch deaktiviert, um mit lokalen Shopware-Instanzen per API kommunizieren zu können.

Fehlerbehebungen

  • SH-167 Bessere Fehlermeldung bei falscher Verwendung von default im Mapping.

v2.4.2

Release Date: 2024-10-23

Fehlerbehebungen

  • SH-157: Menge2 Berechnung ist nun korrekt und berücksichtigt beim berechnen des nächsten Steps den Umrechnungsfaktor. Varianten Plugin für Wittstock übergibt nun korrekt die Optionen.
  • SH-160 Optimierung des Artikelabgleichs während der Archivübertragung (Bilder und Downloads).
  • SH-164 asList: True wurde für Folgeelemente im Mapping nicht zurückgesetzt

Sonstiges

  • SH-146: Existierende Kunden werden nun zunächst gemapped und an das XML aus dem Shop angehängt. So kann zum einen im XML Refactoring darauf zugegriffen werden und zum anderen können im XML import die Default werte überschrieben werden.

v2.4.1

Release Date: 2024-10-14

Fehlerbehebungen

  • SH-151 Multikategorien aus mehreren Eigenschaftsfeldern wurden nicht korrekt aus der Konfiguration ausgelesen.
  • SG-153 Die Preissynchronisierung prüft ab sofort auf in Shop vorhandene Artikel anhand der UUID.
  • SH-154: Deferred Felder werden nicht mehr durch _add_parent_columns hinzugefügt, da dies sonst crashen kann.

v2.4.0

Release Date: 2024-09-26

Neue Funktionen

  • Plugin für gen_article_uuid erstellt. Im Beispiel wird die UUID aus einem Zusatzfeld im Artikel ausgelesen.
  • SH-121: EXIM lädt jetzt die Daten korrekt

Fehlerbehebungen

  • SH-145 Preisübertragung ohne Menge2 korrigiert.
  • Fixxed defaultconfig import_sequences invalid json
  • Sentry-Sdk auf version >2.8 geupdatet (Safety Issue) CVE-2024-6345 auf Ignore gesetzt, weil die neuste Pipenv-Version nicht kompatible ist und diese eine Abhängigkeit zu Setuptools hat SH-123 Testpipeline Läuft wieder durch, da einige Tests auf skip gesetzt wurden die derzeit nicht erfolgreich laufen können.
  • SH-130 Bis menge wurde zweimal um 1 reduziert
  • SH-133 Fehlende Beispiel Dateien in die SPec eingefügt

Sonstiges

  • Mapping Testordner initialisiert
  • git ignore angepasst
  • SH-128: Debug für Request kann über die Config umgestellt werden [['DEFAULT'] debug=True]{.title-ref}
  • Pipfile source als erstes bei pypi
  • SH-111 get_last_changed_article_date plugable
  • SH-140 Beispielmapping für Artikel mit den meisten Feldern die im Shop zur verfügung stehen.

v2.3.0

Release Date: 2024-08-08

Neue Funktionen

  • SH-120 - Menge2 kann nun für die Preisberechnung berücksichtigt werden und wird anhand von dem Umrechnungsfaktor aus der Menge2 und den entsprechenden Collis übermittelt werden. Gesteuert wird dieses Feature über die Feature-Flag in der Konfig "MENGE2 = True" (Fallback ist False)
  • SH-99 Die Eigenschaften die an den Shop übermittelt werden sollen, können nun in der WinLine konfiguriert werden und mithilfe des wittstock plugins als Varianten typen verwendet werden.

Fehlerbehebungen

  • SH-112: Mehr Plugable Funktionen
  • SH-114: Wenn keine Übersetzung für die Eigenschaften im Mapping definiert ist, wird es übersprungen.
  • SH-75 Behebt Probleme beim Abrufen der Bestellungen.

Sonstiges

  • Der Beleg-Lookup kann deaktiviert werden.

v2.2.1

Release Date: 2023-07-26

Sicherheits-Updates

  • Führt Sicherheitsrisiko 53326 ein, welches zunächst ignoriert wird.

Fehlerbehebungen

  • SH-66 Eigenschaften werden übersetzt und durch den Mapper erweitert.
  • SH-72 Wenn der Cache ordner nicht existiert wird dieser angelegt.
  • SH-62 Fixes inkompatibilität mit neueren Werkzeug Versionen

v2.2.0

Release Date: 2023-06-22

Prelude

Sammelupdate für Shopware 6

Neue Funktionen

  • 429 - Generelle Grundfunktionen für Shopware 6 Funktionieren nun.

    Stammdaten, Bilder, Preise.

  • Filter auf existierende Artikel im Webshop bei der Preisübertragung

  • 444 Daten für das Management-Interface werden Userverzeichnis

    C:UsersXXXAppDataLocalnewenergy gmbhShopware Management Interface zwischengespeichert.

  • 542 Mapping-Dateien können nun über die erweiterte Ansicht

    bearbeiten werden

  • 546 - Ist die option 'skip_inaktiv_variants' in der Konfiguration

    gesetzt, werden Inaktive Ausprägungen nicht übermittelt. Zudem werden Varianten in Shopware entfernt die es nicht mehr in der WinLine gibt (oder wenn diese Inaktiv sind).

  • 551 Über den Aufruf

    'self.umsetzungstabelle('\<umsetzungsname>', wl_data)' kann ein Wert Transformiert werden, anhand der .json datei.

  • 575 Es kann in der Umsetzungstabelle nun ein Wildcard Symbol

    verwendet werden (Default: '*'). Beachte es wird nur 1 Vorkommen berücksichtigt.

    • SyncOrders: Batch-XML
    • XML-Refaktorierung: Kopieren von anderen Elementen mit Bedingung
  • 606 XML-Refaktorierung nun an weiteren Stellen möglich

  • 607 - Es kann nun über das Flag -on bzw. --onlyNew gesteuert

    werden, ob Artikel im Shop im syncProducts nur angelegt (Flag gesetzt) oder überschrieben werden sollen (Default).

  • 609 Es kann im Mapping nun auf jede Ausprägung des Hauptartikels

    zugegriffen werden. Im Beispiel wird dies benutzt um für den Hauptartikel die Lagerwerte aus einer spezifischen Ausprägung zu übermitteln.

  • 610 Wird eine Artikelnummer beim übertragen angegeben und es

    handelt sich um einen Artikel mit Ausprägungen, werden alle Ausprägungen mit aktualisiert.

  • 611 - Es können nun Gutschriften importiert werden wenn ein Status

    in Shopware für diese Hinterlegt wird.

  • 623 - ID-Lookup-Liste für Artikel und Varianten, damit diese nicht

    einzeln aus dem Shop abgerufen werden müssen

  • 625 Artikelnummern mit Sonderzeichen werden nun unterstützt

  • 636 Neuer Sync: Nachträglich in der Winline geänderte Versandart

    können nun an den Shop synchronisiert werden

  • PA-34 Die Generierung von Code für Plugins ist nun dynamisch und

    muss nur noch minimal und wartbarer angepasst werden.

  • SH-17 - Das übertragen der Tracking-Nummern ist eine separate

    Funktion, damit diese vorm Übertragen der Shipment und des Orderstatus passieren kann.

  • SH-23
    - Statusupdate-Tracking: Wenn in der Konfiguration der Wert "orderstatus_tracking" auf "-1" gesetzt wird, wird beim Aktualisieren der Versand-Trackingnummer der Bestellstatus nicht verändert - Storno: - Teillieferscheine: - Datum-Filter:

Bekannte Probleme

  • Nur für Artikelbasisdaten Übertragung, da für Archivimages und Crossselling noch zusätzliche Daten benötigt werden.

Update-/Installationshinweise

  • 444 Die Datei jobs.sqlite aus dem Installationsverzeichnis muss vor

    dem ersten Start in das Verzeichnis C:UsersXXXAppDataLocalnewenergy gmbhShopware Management verschoben werden.

  • Kundensync Upgrade für den Kunden Ranberg: Nur für neue Kunden, die eine Bestellung aufgegeben haben, werden .xml-Files generiert.

  • Ranberg-Plugin für den syncFilteredCustomers: Verzicht auf Timestmap. Nun wird geschaut, ob für die eingetragene Winline-Kontonummer bereits ein Konto in der Winline existiert.

  • -syncFilteredCustomers: Erzeugte XML-Dateien können nun individuell gemappt und refaktoriert werden.

    • Copy-Value von einem anderen Tag
    • Einfache Value Zuweisung über die Refactoring.json
    • syncFilteredCustomers: Refactoring für die Winline-Belegart
  • - Flexible/Rekursive add_tags.json, um aus den Values der bestehenden Tags aus der XML einen '|'-getrennten String zu erzeugen. Dieser kann im refactor_xml.json weiterverarbeitet werden, um "IF VALUE = X DANN VALUE = Y" zu beachten.

    • Artikelgruppen können als Schattenkategorien verwendet werden. Einstellung definierbar über die Config
    • Kombinieren von N-beliebigen Values aus einem XML in ein neuen Tag (syncFilteredCustomers)
    • Ranberg-Plugin: Ignore Schnellbesteller beim syncFilteredCustomers
    • XML-Refactoring: Den Tag-Values Präfix hinzufügen
    • XML-Refactoring: Leerzeichen hinzufügen
  • 613 Kopieren von Werten nach der gleichen Bedingung nun möglich

  • 634 Bestell- und Zahlungsstatus werden aus der Winline heraus

    gesetzt

Fehlerbehebungen

  • 463 Leerzeichen aus default Installationspfad entfernt. Der AppData

    name wurde von "New Energy Gmbh" geändert zu "newenergy gmbh" um den tatsächlichen namen widerzuspiegeln. Die 'management.ini' wird nicht mehr überschrieben, wenn ein Update durchgeführt wird.

  • Durch das update auf WLAPI 11.6.0 können SQL_Abfragen mit mehr als 2100 Parametern realisiert werden.

  • 549 Ausgabe des Traceback wenn im Artikel eine Exception aufkommt.

  • 550 Im Mapping kann nun auf das ShopAPI Objekt zugegriffen werden

  • 'concat_string_shop' kann nun jeden datentyp der zu String konvertiert werden kann behandeln. Orderabruf überspringt nun keine Orders bei denen es Artikel gibt die nicht in der WinLine vorhanden sind.

  • 553 Optionen bei denen alle Varianten inaktiv sind werden nicht

    mehr im Shop gesetzt.

  • 556 Problem behoben wenn ein Hauptartikel mit Ausprägungen

    (Artikeltyp: 1) nur genau eine Ausprägung hat.

  • If-Abfrage zur Ausführung des Hooks beim Plugin filteredCustomersSync oder des eingebetteten Codes war fehlerhaft.

  • 567 - Update auf neue WLAPI version benötigte umstellungen im

    import und den Datenbankverbindungen

  • 570 Durch das Entfernen der Kategorie-Eigenschaft und der

    root-category-id werden nun die im Shop gesetzten Kategorien nicht überschrieben.

  • 571 Problem behoben wenn die Kategorieeigenschaft-Optiomn eine

    Liste enthält

  • 606 Leerzeichen-Bug behoben

  • 612 - Fehler behoben bei dem am ende der Preisübermittlung nur die

    Varianten-Preise geprüft wurden um den erfolgreichen Programmdurchlauf zu ermitteln.

  • 616 - Wenn in der Config keine Preisliste steht wird eine Leere

    liste geladen daher müssen die alten SQL Funktionen anders prüfen ob der wert vorhanden ist.

  • 618 - Update auf Patchversion 11.9.1 von WLAPI um Bug mit der HSL

    zu beheben.

  • 619 XML-Refactor: Leere Tags werden auf None gesetzt

  • 620 - Update auf WLAPI v11.9.2 für Performanz-Optimierung

  • 621 - Die Preise der Varianten werden nun nicht mehr übertragen

    wenn diese im Shop schon vorhanden sind. Hier gab es einen Fehler der das Aktualisieren der Varianten verhindert hat.

  • 627 Fix für den Kundenexport falls ein None-Wert gelöscht werden

    soll

  • 628 Timestamp für den syncFilteredCustomers wird nun von dem

    aktuellsten Kunden übernommen

  • 629 - Fehlerfall in dem Beschreibung gar nicht gesetzt ist

  • PA-35 - Fixes Issue with parameters

  • PA-4 - syncCustomersFiltered erweitert damit die Attribute

    (Freitextfelder) mit in die XML geschrieben werden können.

  • SH-10 Installer-Template update auf neuste version und alte config

    aufgeräumt

  • SH-11 Bestellungen werden erst ab konfiguriertem Datum

    berücksichtigt. Zeitstempel können einheitlich über die Config verwaltet werden.

  • SH-14 Wenn die Textfelder, über die die Bestellungen für den

    Statusabgleich gemached werden, werden diese nun korrekt raus gefiltert.

  • SH-15 Flask version muss erst mal fixiert sein.

  • SH-25 - Behebt ein Problem Belege in der WinLine zu finden, wenn

    die Shopbelegnummer vom Mapping verändert wird. Die Lösung ist ein Config eintrag in dem die gleiche Transformation hinterlegt ist. Dazu kann beim WinLine-Beleg Abruf eine weitere Einschränkung aktiviert werden. Durch das setzen der Einstellung "gutschrift" in einer Import Sequenz werden nur WinLine-Belege mit negativem Endbetrag (Gutschriften) für den Vergleich herangezogen.

  • SH-28 - Der Parameter -a/--all wird nicht korrekt an die Aufgabe

    im Interface angehängt.

  • SH-29 - Filterparameter wird wieder korrekt mit StatusId gefüllt.

    Das erzeugen der Suchparameter für die Shopware REST-API wurde überarbeitet und erlaubt es nun für jeden Filter den Vergleichsoperator und den Vergleichstyp zu setzen.

  • SH-31 Durch die neue Einstellung "ignore_missing_wl_konto" kann

    nun übersteuert werden wenn kein WinLine Personenkonto gefunden wurde. Diese Einstellung sollte nur beim XML-Bestellimport verwendet werden, da sonst der Webservice die Bestellungen als Fehlerhaft ablehnt.

  • SH-32 Nachdem auf der XML Datei gearbeitet wurde, werden alle None

    Texte zu leeren texten umgewandelt.

  • SH-36:

    • Filter auf Datum werden nach Shopware 5 Dateformat formatiert
    • bei fehler beim encoding der XML wird nun jede Exception gefangen anstatt zu einem

    Programmabsturz zu führen.

  • SH-37 - Wenn die XML Datei zu einem Kunden nicht

    geschrieben/erzeugt werden kann wird eine Warnung im Logger geschrieben und eine extra datei mit den fehlgeschlagenen Kundennummern oder IDs geschrieben.

  • SH-38 Behebt Fehler bei dem die locale Variable die ober geordnete

    Variable überschreibt. Es wird der Orderstatus sowohl aus dem Auftrag als auch dem Lieferschein gelöscht.

  • SH-46 - Behebt Duplikate im erlaubten Protokoll

  • SH-54: Mappinghelper nutzt nun einen YAML loader dadurch kann

    leichter auf yml umgestellt werden aber json wird weiterhin unterstützt.

  • SH-63 - Wenn keine Steuer bzw. Steuersperre hinterlegt ist, wird 0 Prozent genommen.

  • SH-8 Behebt crash wenn firstname oder lastname None sind.

  • fixes pyinstaller hidden import für sqlalchemy.sql.default_comparator

Sonstiges

  • 441 - Aktualisierung der Templates

  • Sonderprogrammierung für direkte Tabellenübertragung von WinLine zu Shopware

  • 489 - Dokumentation Kundenimport

  • 501 - Update von SQLAlchemy auf Version 1.4.18 Update von WLAPI auf

    Version 11.6.0

  • 545 Die Änderungshistorie wird für die Dokumentation automatisch

    erzeugt.

  • 555 Log-Level für das Fehlschlagen von AsyncIO requests war

    vertauscht. So wurden bei einem Retry Fehler als Exception geloggt obwohl der darauf folgende retry erfolgreich war. Gleichzeitig wurde ein fehlschlagen nach dem alle Retries verbraucht waren nur in Debug-Level geschrieben.

  • 563 - Dokumentation für Ausprägungen

  • 565 - Dokumentation Sendungsverfolgung und Statusupdate

    • Downgrade auf APScheduler 3.8.0, weil neuere Version verbuggt ist.
    • Separator für das Refactoring der erzeugten XML-Dateien von "-" zu "|" geändert
    • Pfad für XML-Preferences über Config
  • 579 - Dokumentation für die Umsetzungstabellen des Mappings

  • 580 - Dokumentation für den Kundenimport (Plugin, xml-refactoring,

    Sammelkonten)

    • Timestamp intial für syncFilteredCustomers
    • Initialisierung des Strings für das Refactoring der Kunden XML-Dateien in die for-Schleife gschoben
  • 583 - Generelle Aktualisierung der Dokumentation

    • Änderung der Belegstatus bei Batchexport
    • Config für Batchexposrt auf True/False gesetzt
    • Doku für Batch-Order
  • 592 - Dokumentation Aktionserver-Restart script

  • 594 - Über die Config kann nun gesteuert werden ob

    Schnellbestellungen über das Sammelkonto gezogen werden oder als eigene Konten behandelt werden.

    • Auto-Scroll für den Live-Log
  • 603 Sequenz-Diagramm für die Statusupdates

  • 608 Update WLAPI zu Version 11.9.0. Es kann nun über die Property

    v021_Artikelview_Auspraegungen auf ein Query zugegriffen werden um all Ausprägungen zu einem Artikel zu erhalten. Dies funktioniert auch aus einer Ausprägung heraus.

  • Update auf WLAPI Version 11.9.3

  • 635 - Gitlab-CI hat ein altes Image gezogen. Neues image sorgt

    dafür, dass die pipenv in Flake8 nicht neu installiert werden muss

  • PA-35 - Neue Funktion um RTF zu Plaintext zu Konvertieren.

  • PA-40 - Extra Route für Kunden- und Bestellungsabruf in einer

    Kachel für Management Interface

  • SH-18 Update auf WLAPI version 11.10 für dynamische

    U-Felderweiterung

  • SH-19 - Bestellungen können nun in SW5 in mehrere Stati nach

    einander gesetzt werden. So kann z.B. erst der Zahlstatus und anschließend der Bestellstatus gesetzt werden.

  • SH-20 - Einfacher Verlauf der Statusupdates welche 1 Woche zurück

    gehen.

  • SH-42 - Neue Route die erst die Kunden und anschließend die

    Bestellungen abruft

  • SH-43 - Der Text(Sprache) der aus den Eigenschaften übertragen

    wird, kann nun frei Konfiguriert werden.

  • SH-48 Plugin um Rabattleisten als Kundengruppen zu übertragen.

  • SH-61 Artikeluntergruppen als Kategorien funktioniert wieder mit Shopware 6

  • SH-9 Anlage Dokumentation Leitfaden

v2.1.0

Release Date: 2021-09-21

Neue Funktionen

  • 321 - Für den Abruf der Artikel aus der WinLine wird nun

    abwärtskompatibles SQLAlchemy verwendet. Die alte Funktion bleibt erstmal bestehen, sollte aber in einer späteren Version entfernt werden.

  • 456 - Plugin-System implementiert. Im Installationsverzeichnis

    können im ordner 'plugins' die Preisfindungslogik und die Kundengruppenlogik per Plugin verändert werden.

  • 457 - Über das Mapping kann nun ein Feld aus der WinLine als Liste

    verarbeitet werden. Hierzu muss das Feld '_options' die Option 'asList: True' enthalten.

  • 458 - Es können nun Ausprägungsgruppen explizit ausgeschlossen

    werden für die im Shop keine Varianten angelegt werden.

  • Kunden aus dem KontaktenStamm in der Winline-Datenbank können nun in die Shopware importiert werden. Neben der Neuanlage werden auch geänderte Daten in die Shopware übertragen.
  • 475 - In der Config können nun mehrere Zusatzfelder hinterlegt

    werden in denen Pfade zu extra Bildern hinterlegt werden können. Diese Pfade sind die Pfade in das WinLine-Archiv1, wie die Grafik-Datei in den Texten.

  • Der Timestamp-Config ist nun über das Interface editierbar.
  • Neue Methode zur Abfrage von Web-Personenkonten über das Zusatzfeld, welches in der Config deklariert wird.
  • 488 Neuer Config-Parameter xmlexport_customers. In das hier

    angegebene Verzeichnis werden die Dateien für den WinLine-Kundenimport abgestellt.

  • 491 - Trackingnummern werden nun zurückgeschrieben sobald diese in

    den zugehörigen Lieferscheinen hinterlegt wurden.

  • 497 - Es können nun Archivbilder explizit den Varianten in Shopware

    zugeordnet werden.

  • 498 - Übermittelt Trackingnummern aus Shopware in Lieferscheine in

    der WinLine.

  • Die Daten der Varianten können nun auch über das Mapping gefüllt werden. Dafür muss im Mapping das Segment "Variant" angelegt werden.
  • Validator mit dem geprüft werden kann ob mit der aktuellen Konfiguration alle Webartikelnummern verlustfrei Konvertiert werden können.
  • Mapping wurde der Übersichtlichkeit halber uin mehrere Dateien aufgeteilt. Welche Dateien geladen werden, wird über die Index.json gesteuert.

Bekannte Probleme

  • 494 - Images can not directly transmitted to WooCommerce.

  • 508 - Nicht alle Bilder werden gesetzt.

  • Fälschlicherweise erkannte umlaute werden zu Umlauten gewandelt. Ist in einer Artikelnummer die Zeichen folge 'ae', 'oe' oder 'ue' werden diese immer zu 'ä',ö und ü gewandelt auch wenn diese eigentlich keine Umlaute repräsentieren.
  • Fehler behoben durch den der Mapper Crashed wenn ein Segment fehlt.
  • 542 - Durch den Umbau funktioniert die Bearbeitung des Mappings aus

    dem Management Interface nicht mehr.

Update-/Installationshinweise

  • Zusatzfeld für die ShopwareID nun über die Config deklarierbar.
  • Bei Änderungen der Kontaktdaten wird der Name des Kunden und der Name auf der Rechnungsadresse aufeinander abgestimmt.
  • Erkennung der ShopwareID von Personenkonten in der Winline nun über ein Zusatzfeld. Deklaration in der Config notwendig.
  • Kontaktesync: Preislisten werden berücksichtigt sofern die dazugehörigen Kundengruppen im Shopware angelegt sind.

Fehlerbehebungen

  • Nach dem Starten eines Syncs über das Management-Interface tut sich nun was. Der Progress-Bar funktioniert wieder. Das Öffnen der Log-Dateien ist auch gefixt.
  • Fix der XML Kundenexports. Der Datensatz wird nun einwandfrei aufgebaut.
  • 487 - Fixxes Progressbar bug welches den text anhand von

    sonderzeichen splitted welche nicht enthalten sein dürfen.

  • compatibility issues with WooCommerce fixxed.
  • 496 - Bugfix für den die URL parameter immer wieder an den Aufruf

    angehängt wurden. So kam es zu Doppelungen.

  • 499 - Keine doppelten Optionen an den Shop übermitteln, da dieser

    sonst in einen Fehler läuft.

  • 503 - Kommas in Artikelnummern werden nun ersetzt

  • 503 - Nummer wurde nach jedem ersetzen wieder zurückgesetzt.

  • 504 - Beim dem Abrufen der Artikel aus dem Shop werden die

    Artikelnummern wieder zurück gewandelt. Das ersätzen von Zeichen die nicht in Shopware erlaubt sind kann nun in der Konfigurationsdatei über ein Tupel von Tupeln gesteuert werden.

  • Präventiver Fix für den MemoryError.
  • 506 - Da die Option aus dem Mapping entfernt wurde, wurde bei dem

    nächsten Artikel die Liste falsch verarbeitet. So wurde immer nur der erste Artikel korrekt übertragen. Durch das Kopieren der Felder wurde dieser Fehler behoben.

  • 507 - Abhängigkeit der Webpreisliste in den Einstellung behoben.

    Leer lassen hat zu einem fehler bei der Artikelübertragung geführt, war jedoch notwendig um Preise aus mehreren Preislisten zu übertragen.

  • 508 - Durch das umbenennen einer Variable kam es zu Konflikten wenn

    die Kundennummer aus dem Shop nicht abgrufen werden konnte.

  • 513 - Es werden nun nur noch Ausprägungen in Shopware angelegt die

    existieren anstatt alle Ausprägungsoptionen zu einer Gruppe.

  • 514 - Anpassung an WLAPI release für Relation die umbenannt und

    keine Liste mehr ist.

  • 516 - Unnötige Logger ausgaben bei der Artikelnummer konvertierung

    wurden entfernt.

  • 519 - Varianten-Liste konnte None enthalten, was beim übertragen in

    eine Exception gelaufen ist.

  • 520 - Die ID Liste enthält bereits die in die Ursprungs form

    gewandelten Artikelnummern und daher müssen die Nummern nicht gewandelt werden.

  • 521 - Pfad muss erst gejoint werden.

  • 522 - Artikelnummer wurde an einigen stellen von Sonderzeichen

    befreit an denen es nicht gemacht werden durfte.

  • 526 - Wenn die Variant-Daten die an den Shop übermittelt werden

    keine Preise enthalten, werden die Varianten aus dem Artikel entfernt. Um dies zu umgehen werden die bestehenden Preise aus dem Artikel abgerufen und ggf. dann überschrieben.

  • 529 - Hier wurde die Methode raise_for_status nicht aufgerufen und

    somit konnten keine HTTP errors gefangen werden.

  • 530 - Artikel_Data mapping nachdem die Eigenschaften abgefragt

    wurden um auf diese zugreifen zu können.

  • 543 - Die neue Mapping Struktur wird nun in den tests verwendet.

  • 544 - Fehlender Config-Eintrag für Tests nachgetragen.

Sonstiges

  • Kunden Configs und Mapping im Repo um versions Tracking zu haben.
  • 473 - Logging für Pluginaufrufe ergänzt.

  • 476 Update Template-Projekt auf Version 0.4.4.

  • Inital Configs für das Interface und die ess.exe.
  • Extra Ordner für Kundenspezifische Plugins.
  • Beispielmapping für features von Rannenberg.
  • Default Preis für Varianten wird nun unterdrückt wenn das PreisSync-Modul verwendet wird.
  • 527 - print für folder

  • Beispiel-Mapping um Werte direkt aus den Eigenschaften zu mappen. Dies ist für den Eigenschaftstyp Bool (checkbox) nötig.
  • Major releases werden nur noch manuell über das segment 'major' erstellt.

v2.0.0

Release Date: 2021-06-09

Neue Funktionen

  • Aufgabenplaner untersützt nun die Auswahl von Wochentagen zum Starten von Syncs.

  • Aufgabenplaner untersützt nun die Auswahl von Wochentagen zum Starten von Syncs.

  • Stücklisten können über das Mapping in Attribut-Felder vom Shop übermittelt werden. Dazu wurde das Beispiel-Mapping angepasst, dieses sollte an die Kundenwünsche angepasst werden.

  • Neues Dashboard zur Anzeige der Informationen bezüglich des AP-Schedulers. JobEvents werden abgefangen und in einer Liste dargestellt. Zusätzlich wird eine Statistik erstellt.

  • Starten eines Syncs leitet wieder auf die Hauptseite mit Live-Log. So ist gewährleistet, dass wenn der User die Seite neulädt der Sync nicht wieder getriggert wird.

  • 368 Preisübertragung wird nun mit AsyncIO durchgeführt um den

    Leerlauf zwischen den Antworten der Requests zu minimieren.

  • 368 LRU_Cache ohne Limit für die Funktion

    winlineapi.get_rabatt_from_rabattmatrix(). Diese Daten werden wärend des Preissyncs nicht verändert und sind simple Lookups in Tabellen (Int, Int) -> Float.

  • 368 Die Anzahl der maximalen parallelen TCP-Verbindungen kann über

    die Configuration gesteuert werden.

    Konsolenausgabe und Ausgabe in .prof-Dateien.

  • 392 Optionale Fehleranalyse mit Sentry. Wird ein Logging-Server in

    der Konfig eingestellt werden Fehlermeldungen automatisch zur späteren Analyse übertragen.

  • Es ist nun möglich einen einzelnen Sync mit Custom-Start-Parameter zu starten. Zusäztlich werden Sync-Optionen automatisch erkannt und müssen nur noch mit in die management.ini aufgenommen werden, um diese zu aktvieren.

  • Bilder mit Transparenz können nun auf eine, in der Config.ini definierten, Hintergrundfarbe gesetzt werden. Dies sorgt dafür, dass Bilder mit Transparenz im Fall von PNG nicht auf automatisch auf schwarzen Hintergrund gesetzt werden.

  • Im Mapping kann nun im eval über self.wlapi.systemhelper.convertISOtoCountryCode(wl_data) der WinLine Ländercode ausgelesen wird.

  • Beim Abrufen der Artikel aus der WinLine kann anhand eines Zusatzfeldes gesteuert werden ob es sich um einen Hauptartikel oder um eine Variante handelt. Anhand dieser Informationen können Bestände und Preise korrekt an den Shop übermittelt werden.

  • Über das Config-Feld 'Gruppe_Shopkunden_nicht_ueberschreiben' kann gesteuert werden ob die Shopware-Kundengruppe 'Shopkunden' für das Erzeugen der Kundengruppen ausgeschlossen werden soll. Dies sorgt dafür, dass Shopkonten mit der Kundengruppe 'Shopkunden' nicht überschrieben werden und nur den Standard Preis für alle Artikel bekommen.

  • Beim Abruf der Kundennummernliste aus dem Shop können optional nur die aktiven Kunden zurückgegeben werden.

  • Im Mapping kann nun auf jedes Feld in der Bestellung aus Shopware zugegriffen werden.

  • Shopware-Kudendaten-Export als XML-Files. Winline-Kundennummer export, wenn diese als Shopkunden gekennzeichnet sind.

  • 452 Sentry-Config in App-Data und User-Data berücksichtigen.

  • Personenkonten-Cache für den Preis sync um die SQL-Abfragen zu reduzieren.

Bekannte Probleme

  • Die Bestände sind noch nicht korrekt, dafür muss jedoch die WLAPI-Bibliothek ein neues Update bekommen.
  • Momentan werden von der WLAPI-Bibliothek noch die Standard-Varianten ausgeschlossen, daher muss auch hier auf ein Update gewartet werden. Dieser Bug ist durch eine Änderung der WinLine entstanden.
  • 368 Logging überarbeitet um Datenmüll zu veringern wenn Debug-Level

    DEBUG (-ddd) verwendet wird.

  • fixes #448

Update-/Installationshinweise

  • Maximale Prozessdauer ist über die management.ini einstellbar.
  • Durch das Update auf Wlapi version 11.0.6 Kann nun die Enum für das FlagZeilenrabtt in der Preisliste verwendet werden.
  • Update von WLAPI auf die Version 11.0.5
  • Update auf WLAPI Version 11.0.6 für die Unterstützung der Bestandsberechnung für Handelsstücklisten mit und ohne Dispositionen.
  • 437 Die Beispiel-Konfigurationsdatei wurde überarbeitet und

    Kommentare für die Optionen wurden vervollständigt. Dazu gibt es einen Validator der anhand von Migrationen prüft ob die Konfigurationsdatei auf dem neusten stand ist. Zusätzlich Hotswapped diese die Felder und Sektionen damit die Schnittstelle abwärtskompatibel bleibt.

  • Update changelog template to version 0.2.2 https://gitlab.newenergy-bremen.de/basislager-developer/templates

Nicht mehr unterstützte Funktionen

  • 368 woo_wl.update_article_prices() sollte nicht mehr verwendet

    werden, stattdessen die neue Funktion run_article_price_update_async() verwenden. Durch den Parameter [-os]{.title-ref} kann der alte Preissync verwendet werden.

  • 437 Einige Config-Felder sind aus der Konfigurationsdatei entfernt

    worden.

Kritische Fehler

  • 413 Wird der Produkt Sync ohne Parameter gestartet so wird kein

    Artikel geupdated und kein timestamp zurück geschrieben.

Fehlerbehebungen

  • 191 Libreoffice beenden wenn die Konvertierung einen Fehler läuft.

  • Wenn ein Sync länger als 24h dauert, dass das Management Interface stoppt.
  • Python 3.7 unterstützt noch nicht die annotation @cache. Diese ist erst ab Python Version 3.9 verfügbar. @lru_cache(maxsize=None) ist equivalent vom verhalten aber ein bisschen 'größer'
  • Die WinLine behandelt in der Preisliste bei dem FlagZeilenrabatt 0 und NULL gleich daher mussten die Abfragen um diesen Fall erweitert werden
  • Entfernt Punkte aus dem Dateinamen der an Shopware übermittelt wird, damit dort nicht eine falsche Dateiendung ermittelt wird. Zusätzlich wird der Fehlerfall nun richtig behandelt, damit die Übertragung nicht Komplett abstürzt.
  • Bilder Ohne Alpha Channel sind in einen Fehler gelaufen udn werden nun abgefangen.
  • Behebt einen Fehler der den Fallback zum Sammelkonto verhindert.
  • 438 Behebt einige Bugs mit Varianten und Hauptartikel mit Varianten

    für Bestand, Preis und Produkt Synchronisation

  • pipfile aktuallisiert für Flask-Profiler
  • 446 Problem mit der Default Config behoben im Bezug auf den

    Validator sowie fehlerhafte Aufrufe auf Klassenvariablen

  • Vergleich Kundengruppe und Kontonummer schlug immer fehl da es sich um verschiedenen Datentypen handelt. Dadurch wurde die Rabattmatrix für Kundengruppenpreise falsch erzeugt.
  • 462 - Filtert nun die tatsächlichen Chargen aus der Liste der

    Ausprägungen herraus

  • Überträgt nun nicht mehr alle Datensätze einzeln für jeden Chunk der fehlgeschlagen ist, sondern nur noch die Datensätze aus dem Chunk.

Sonstiges

  • 237 Fehlerbehandlung wenn die Requests fehlschlagen. Prinzipiell

    kann die Schnittstelle erstmal weitermachen selbst wenn ein Request fehlschlägt.

  • Das Bearbeiten von wöchentlichen Syncs ist noch nicht möglich
  • Das Bearbeiten von wöchentlichen Syncs ist noch nicht möglich
  • Dokumentation in Pipeline korrigiert, requirements.doc.txt enthielt die falschen Werte.
  • 415 In der CI keine neuen Environments pro MR erstellen, da die

    Deploymnets akuell nicht funktionieren.

  • Dokumentation zu LibreOffice Einstellungen die für die Schnittstelle nötig sind.
  • 435 Dokumentation für Actionserver, Webservicevorlagen und minimal

    Vorlagen für die Aufgabenplanung (sowie Beispiel-Aufgeben in XML form)

  • 464 Integration von automatisiertem Release-Prozess inklusive

    Meldung an Sentry.

  • Changelogverwaltung überarbeitet. Neue Funktionen, Fehlerbehebungen oder Probleme werden automatisch erfasst und zusammengestellt.
  • Dokumentation über den Action Server erweitert um die behandlung des Jahreswechsels in bezug auf den Beleg Import
  • Produkt Synchronisierung überspringt Preise wenn syncPrices in der Konfig aktiv ist