TRADElube 1.2.1.1 Release Notes

Release Datum: 16.03.2023

Upgrade der Entwicklungsumgebung auf DotNet 7

Optimierung

Um auf den Laufenden zu bleiben wurde die DotNet Version wieder auf den neuesten Stand gebracht. Unter anderem bringt DotNet 7 wieder sehr viele Performanceoptimierungen im Vergleich zur Version 6.

Bibliothek für UI Elemente wurde ausgetauscht / UI überbeitet

Optimierung

Mit UI Elemente sind alle Eingabeelemente in der Benutzeroberfläche von TRADElube gemeint (z. B. Schaltflächen, Texteingabe, Tabellen, Baumstruktur etc.). Die vorherige Bibliothek wurde von dem Softwarehersteller bzw. Drittanbieter nicht mehr weiterentwickelt. Deshalb war es erforderlich auf eine neue Bibliothek zu setzen und die alte Bibliothek wurde nun vollständig durch die Neue ersetzt. In diesem Zusammenhang wurde die Benutzeroberfläche generell unter der Haube überarbeitet.

Neuer Kanal für WooCommerce

Feature
WooCommerce

Integration einer umfangreichen neuen Anbindung bzw. eines neuen Kanals zu dem Onlineshopsystem WooCommerce.

Ergänzung weiterer Kategorien für ein Produkt durch Produktattribute ist nun möglich

Feature
TriData

Normalerweise kann in TriData je Produkt genau eine Kategorie definiert werden, aufgrund der Zuordnung zu einer Warengruppe, welche wiederrum eine Shop-Kategorie repräsentiert. Nun können weitere Kategorien über ein Skript mit Produktattributen ergänzt werden. So lassen sich in TriData über die Produktattribute zusätzliche Kategorien definieren, indem der Wert bei speziell dafür vorgesehene Produktattributen mit der Schreibweise "Hauptkategorie/Unterkategorie1/Unterkategorie2" zugewiesen wird.

Zusätzliche Posten von Bestellungen nun als Summe oder als Einzelposition möglich

Feature
Optimierung
CAO-Faktura

Zusätzliche Posten von Bestellungen (Lieferkosten, Rabatte, Gutscheine, ...) können zur Übergabe an CAO-Faktura jetzt entweder als Summen oder als Einzelpositionen konfiguriert werden. Dabei wurde nun auch optimiert das alle Summen generell immer nach dem MwSt. Satz gruppiert ausgegeben werden. Dies gilt nun auch für die Zwischensumme und Gesamtsumme. Letztere wurden bisher nicht korrekt übergeben, was aber im Prinzip nur ein Schönheitsfehler war, da CAO-Faktura diese nicht auswertet.

Konfiguriert werden kann dies im Kanal von CAO-Faktura im Bereich Transferpläne im entsprechenden Register (siehe Abbildung).

Screenshot TRADElube 1.2.1.1

Bei der Übergabe als Einzelpositionen werden die zusätzlichen Posten als Produktposition übergeben. Im Beispiel 2 mal Versandkosten mit unterschiedlicher MwSt. und ein Gutschein:

<PRODUCT>
    <PRODUCTS_QUANTITY>2</PRODUCTS_QUANTITY>
    <PRODUCTS_MODEL/>
    <PRODUCTS_NAME>Gutschein</PRODUCTS_NAME>
    <PRODUCTS_PRICE>-10</PRODUCTS_PRICE>
    <PRODUCTS_TAX>20</PRODUCTS_TAX>
</PRODUCT>
<PRODUCT>
    <PRODUCTS_QUANTITY>1</PRODUCTS_QUANTITY>
    <PRODUCTS_MODEL/>
    <PRODUCTS_NAME>Versand 10%</PRODUCTS_NAME>
    <PRODUCTS_PRICE>0.1523</PRODUCTS_PRICE>
    <PRODUCTS_TAX>10</PRODUCTS_TAX>
</PRODUCT>
<PRODUCT>
    <PRODUCTS_QUANTITY>1</PRODUCTS_QUANTITY>
    <PRODUCTS_MODEL/>
    <PRODUCTS_NAME>Versand 20%</PRODUCTS_NAME>
    <PRODUCTS_PRICE>7</PRODUCTS_PRICE>
    <PRODUCTS_TAX>20</PRODUCTS_TAX>
</PRODUCT>

In CAO-Faktura erhält man so folgendes Ergebnis:

Screenshot TRADElube 1.2.1.1-2

Der Unterschied ist z. B. das jede Position eine individuelle Bezeichnung und optional auch eine fixe Produktnummer haben kann, im Unterschied zur Konfiguration "Gesamt", wo alle Positionen summiert und gruppiert nach MwSt. übergeben werden.

<TOTAL>
    <TOTAL_TITLE>Gutschein</TOTAL_TITLE>
    <TOTAL_VALUE>24</TOTAL_VALUE>
    <TOTAL_CLASS>ot_gv</TOTAL_CLASS>
    <TOTAL_SORT_ORDER>3</TOTAL_SORT_ORDER>
    <TOTAL_PREFIX>-</TOTAL_PREFIX>
    <TOTAL_TAX>20</TOTAL_TAX>
</TOTAL>
<TOTAL>
    <TOTAL_TITLE>Versandkosten</TOTAL_TITLE>
    <TOTAL_VALUE>0.1675</TOTAL_VALUE>
    <TOTAL_CLASS>ot_shipping</TOTAL_CLASS>
    <TOTAL_SORT_ORDER>4</TOTAL_SORT_ORDER>
    <TOTAL_PREFIX>+</TOTAL_PREFIX>
    <TOTAL_TAX>10</TOTAL_TAX>
</TOTAL>
<TOTAL>
    <TOTAL_TITLE>Versandkosten</TOTAL_TITLE>
    <TOTAL_VALUE>8.4</TOTAL_VALUE>
    <TOTAL_CLASS>ot_shipping</TOTAL_CLASS>
    <TOTAL_SORT_ORDER>5</TOTAL_SORT_ORDER>
    <TOTAL_PREFIX>+</TOTAL_PREFIX>
    <TOTAL_TAX>20</TOTAL_TAX>
</TOTAL>

Das Ergebnis in CAO-Faktura ist dann in diesem Fall wie folgt:

Screenshot TRADElube 1.2.1.1-3

Hätte man mehrere Posten eines Typs zu der gleichen MwSt. (z. B. Gutschein, Rabatt etc.) so würden diese hier jeweils als Summe zusammengefasst werden.

Eigenschaftwerte vom Vaterartikel für Übertragung von Kindartikel verwenden

Feature
CAO-Faktura

Im Kanal CAO-Faktura im Bereich "Transferpläne" → Register "Produkte" → "Aktualisieren" → "Eigenschaften" können nun über ein Skript Eigenschaften des Vaterartikels ausgelesen und somit im Skript verwendet werden.

Ein möglicher individueller Anwendungsfall wäre z. B. wenn beim Vaterprodukt hinterlegt ist, welche Eigenschaften beim Kindartikel verwendet werden sollen, z. B. der Wert "Größe | Farbe". Wenn beim Kindartikel dann als Variantext z. B. ein Wert "XL | blau" hinterlegt ist, lässt sich per Skript "XL" dynamisch der Eigenschaft "Größe" und "blau" dynamisch der Eigenschaft "Farbe" zuordnen.

Unterscheidung bei Bestellpositionen zwischen Gutschein und Rabatt

Feature
Shopware
TriData
CAO-Faktura

Sowohl für die Aufgabe "Shopware Bestellungen Herunterladen" für die Aufgabe "TriData Bestellungen Hochladen" und für den Bestellexport von CAO-Faktura wurde nun eine Unterscheidung zwischen Gutschein und Rabatt eingeführt. Bei den Bestellpositionen aus Shopware wird eine Gutscheinposition generiert, wenn ein Gutscheincode vorhanden ist, ansonsten wird eine Rabattposition angelegt. Bei den Warenwirtschaftsprogrammen gibt es diese Unterscheidung dann ebenfalls, was es nun ermöglicht, für Gutscheine und Rabatte unterschiedliche Konfigurationen z. B. für die Produktnummer zu vergeben. Alternativ kann für Gutscheine auch der Gutscheincode als Produktnummer direkt verwendet werden.

Screenshot TRADElube 1.2.1.1-4

E-Mail Benachrichtigung überarbeitet und Einführung eines Newslettersystems

Optimierung
Feature

Der E-Mail-Versandt wurde grundlegend überarbeitet. Unter anderem ist dabei auch ein Newslettersystem entstanden. Daher können wir sie künftig noch besser informieren in folgenden Themenbereichen:

  • Klärung häufig gestellter Fragen
  • Kurzanleitungen für bestimmte Themen der Softwarenutzung
  • Themen aus aktuellem Anlass (ggf. auch Neuigkeiten über ihre WaWi oder ihre Shopsystem)
  • Umfragen bzgl. Weiterentwicklung von TRADElube
  • Produktneuerungen in TRADElube

Die Newsletter werden in Themen unterteilt, sowie ihre Newsletter Anmeldung, damit sie tatsächlich auch nur relevante Inhalte erhalten.

Man kann sich nun auch als Interessent für unser Newsletter anmelden unter https://app.tradelube.com/auth/subscribe

Anmeldeserver überarbeitet

Optimierung

Der Anmeldeserver wurde überarbeitet. Konkret wurde die dahinterstehende Technologie ausgetauscht (IdentityServer4 auf SharedCookieAuthentication).

TRADElube 1.2.1.2 Release Notes

Release Datum: 23.03.2023

Keine Anzeige von Inhalt beim Öffnen von TRADElube

Bugfix

Gelegentlich kam es vor, dass beim Öffnen von TRADElube kein Inhalt angezeigt wurde. Man musste die Seite neu laden oder zwischen den Bereichen hin- und herschalten, damit der Inhalt dann geladen bzw. angezeigt wurde.

Dieses Problem war etwas schwer zu lokalisieren, nun wurde die Ursache eindeutig gefunden und beseitigt.

Vermeidung von doppelten Zuordnungen/Mappings

Optimierung

Produktnummern, Herstellernamen etc. sollten systemweit immer eindeutig sein, damit Produkte, Hersteller etc. bei der ersten Synchronisierung eindeutig einem Quell- oder Zielsystem (z. B. WaWi oder Onlineshop) zugeordnet werden können. In der Regel wird diese sinnvolle Einschränkung auch von den meisten Systeme unterstützt und es sollte zu entsprechenden Fehlermeldungen kommen, falls z. B. eine Produktnummer bzw. SKU doppelt vergeben wird (Ausnahme z. B. WooCommerce bei Produktvariationen, wie kürzlich aufgefallen kann die SKU hier beliebig doppelt vergeben werden).

Ansonsten kann es in speziellen Sonderfällen auch vorkommen, dass man trotz Einschränkung z. B. eine Produktnummer indirekt doppelt generiert, indem man einmal vergebene Produktnummern im Nachhinein einfach wieder umbenennt. Beachten Sie: von dieser Strategie ist grundsätzlich abzuraten.

In diesen Sonderfällen kam es bisher in TRADElube zu doppelten Zuordnungen - erkennbar an den doppelten Einträgen in TRADElube (jeweils bei den Produkten, Herstellern etc. ganz unten im Bereich Zuordnungen):

Screenshot TRADElube 1.2.1.2-1

Man sieht in dem Screenshot zwei Einträge einmal das ursprüngliche Original (Haken bei "Ist Herkunft") und ein weiteres Duplikat, dass wegen oben genannter Gründen entstanden ist. Dies bedeutet nun, dass hier zwei verschiedene Produkte aus dem Kanal TriData mit einem Produkt in TRADElube verknüpft worden sind. Um diesen Sachverhalt zu bereinigen können sie einen (oder auch alle) dieser Einträge direkt aus der Liste löschen - beim nächsten Abgleich werden die Verknüpfung dann neu erstellt.

Künftig wird dies für neue Einträge vermieden, da ab jetzt in TRADElube für solche Fälle eine entsprechende Fehlermeldung generiert wird, also falls bereits eine andere Zuordnung desselben Kanals existiert.

Option "Nur Hinzufügen" bei den Produktbildern hat nicht korrekt funktioniert

Bugfix
Shopware

Die selten verwendete Option "Nur Hinzufügen" in der Aufgabe "Shopware Produkte Hochladen" im Register Medien ist dafür gedacht, dass TRADElube nur neue Bilder im Shop hinzufügt, aber keine löscht, z. B. sofern in TRADElube bei einem Produkt kein Bild zugewiesen ist. Gebraucht wird dies, wenn die Bilder in der WaWi nicht vollständig hinterlegt sind, sondern zum Teil nur Shop-seitig angelegt wurden. Quasi eine hybride Möglichkeit um die Bilder sowohl im Shop als auch in der WaWi zu pflegen.

Screenshot TRADElube 1.2.1.2-2

Dies hat noch nicht korrekt funktioniert. Mit Ausnahme des Coverbildes wurden alle weiteren Bilder dann bei jeder Übertragung erneut an das Produkt gehängt, und die Liste der Produkte wurde in diesen Fällen dann bei den betroffenen Produkten immer länger. Zum Verständnis: Die Bilder selber wurden in diesem Szenario NICHT doppelt angelegt, sondern nur dasselbe Bild mehrfach bei den Produkten zugewiesen.

Weiterentwicklung der WooCommerce Anbindung

Feature
WooCommerce

Die neue WooCommerce (beta) Anbindung wird gemeinsam mit den ersten Kunden weiter überarbeitet und weiterentwickelt.

TRADElube 1.2.1.3 Release Notes

Release Datum: 09.05.2023

Anzeige des Speicherbedarfs in der Übersicht

Feature

In der Übersicht ganz unten wird nun der aktuelle Speicherbedarf ihres Mandanten angezeigt. Der Anteil für Medien bzw. Bilder wird dabei extra ausgewiesen.

Beispiel:
Ihr aktueller Speicherverbrauch liegt bei 67,953 MB. Der Anteil davon für Medien beträgt 9,516 MB.

Einstellungen "Alter Bestellungen für Sync" in Aufgaben verschoben

Optimierung
Shopware
Shöpping
TriData
WooCommerce

Für das Synchronisieren der Bestellungen muss in der Regel ein maximales Alter für die Bestellungen eingestellt werden. Ältere Bestellungen werden nicht mehr synchronisiert. Der simple Grund hierfür ist die Performance, da es nicht sinnvoll ist jedes mal alle Bestellungen von vielleicht mehreren Monaten oder sogar Jahren zu laden.

Die Einstellung war bisher im entsprechenden Kanal zu finden. Der Nachteil davon war, dass diese Dauer für Bestelldownload/upload und Bestellstatusabgleich gemeinsam definiert werden musste. Der Zeitbereich war dann oft zu lange für den Bestelldownload, aber zu kurz für den Abgleich von Bestellstatus.

Aus diesem Grund wurde die Einstellung nun direkt in die entsprechenden Aufgaben verschoben, damit dies nun getrennt voneineander eingestellt werden kann.

Kanalisierung, bzw. bedingte Zuweisung von Kanäle

Feature

Es wurde nun eine neues Konzept entwickelt, damit Daten von oder auf bestimmte Kanäle gefiltert werden können, oder anderes gesagt "kanalisiert" werden können. Das Konzept wurde bisher bei ein paar ausgewählten Aufgaben eingeführt (aus gegebenen Anlass), und wird künftig auch bei Bedarf noch bei weiteren Aufgaben ergänzt werden.

Die Konfiguration dieser "Kanalisierung" kann im entsprechenden Transferplan durchgeführt werden.

Ein Anwendungsbeispiel könnte sein

Nur Produkte aus WooCommerce nach einem bestimmten Kriterium (z. B. "Lagerbestand Verwaltet") gefiltert nach TRADElube synchronisieren. Hier können bereits andere Kanäle (siehe Abb. z. B. für TriData) zugewiesen werden.

Screenshot TRADElube 1.2.1.3-1

... nur gefiltert auf diese zuvor ausgewählten Produkte könnte man dann die Lagerbestände (siehe Abb. aus TriData) synchronisieren.

Screenshot TRADElube 1.2.1.3-2

Ein weiteres künftiges Anwendungsbeispiel könnte sein

Die Bestellungen aus einem Onlineshop könnten nach einem bestimmten Kriterium (z. B. ein benutzerdefiniertes Feld) gezielt auf mehrere Filialen aufgeteilt bzw. "kanalisiert" werden.

Im Rahmen dieser Änderung wurde eine größere Überarbeitung an den internen Kanalzuweisungen (Mappings) der Daten (Produkte, Hersteller, Kategorien, Medien, ...) vorgenommen.

Aufgabe "TriData Produkte Bereinigen" fällt weg

Optimierung
Feature
TriData

Aufgrund der neuen Möglichkeiten zur Kanalisierung (siehe ein Kapitel weiter oben), die auch in der Aufgabe "TriData Produkte Herunterladen" angewendet werden können, entstehen nun direkte Abhängigkeiten zum Bereinigen der Produkte. Daher kann die Aufgabe "TriData Produkte Bereinigen" nicht mehr für sich alleine stehen. Anders gesagt, wenn man über entsprechende Konfiguration der Kanalisierung nur bestimmte Produkte von TriData nach TRADElube importiert haben möchte, dann müssen quasi auch die restlichen Produkte, die nicht in diesem Filter enthalten sind, bereinigt werden.

Daher wurde die Aufgabe "TriData Produkte Bereinigen" entfernt. Stattdessen findet die Bereinigung nun direkt nach der Ausführung der Aufgabe "TriData Produkte Herunterladen" statt - ABER NUR dann, wenn man die Aufgabe MANUELL ausführt (auf der TRADElube Oberfläche im Bereich Aufgaben, indem man die Aufgabe markiert und dann auf die Schaltfläche "Ausführen" klickt). Es muss dann auch jeweils (für Produkte, Hersteller, Kategorien und Medien) ein entsprechender Dialog zum Löschen bestätigt werden. Hier ist zusätzlich die Eingabe eines 4-stelligen Sicherheitscodes erforderlich. Bei der automatischen Ausführung dieser Aufgabe (oder wenn man den Löschen-Dialog mit "Nein" bestätigt) werden wie gehabt alle nicht mehr im Filter enthaltenen Produkte auf inaktiv gesetzt.

Separate Konfiguration von Produkten und Produktvarianten

Feature
Shopware

Die Aufgabe "Shopware Produkte Hochladen" wurde nun umfangreich überarbeitet. Es ist nun möglich für Produkte und Produktvarianten unterschiedliche Konfigurationen vorzunehmen. Unter anderem kann dabei für Variantenprodukte auch die Shopware-spezifische Vererbung von Werten zum Vaterprodukt konfiguriert werden. Und dieselben Eigenschaften können nun bei Bedarf sowohl als normale Eigenschaft und als Varianteneigenschaft verwendet werden (früher konnte eine Eigenschaft nur entweder/oder verwendet werden).

Screenshot TRADElube 1.2.1.3-3

Das Upgrade ist abwärtskompatibel. D. h. die alten Einstellungen werden automatisch sowohl für Produkte als auch für die Produktvarianten übernommen. Für Neuinstallationen wurde die Standardkonfiguration aber entsprechend optimiert.

Alter von Bestellungen für Export

Optimierung
CAO-Faktura

Ein Filter für das max. Alter von Bestellungen die nach CAO-Faktura exportiert werden, gibt es nun auch im Kanal von CAO-Faktura (dieses Konzept ist bereits bekannt für Shopware, Shöpping etc.). Der simple Grund hierfür ist die Performance, da es nicht sinnvoll ist jedes mal alle Bestellungen von vielleicht mehreren Monaten oder sogar Jahren zu laden. Das war vorallem ein Thema, sofern auch die Bestellstatus nicht verwendet werden und die Bestellungen in TRADElube niemals geschlossen werden.

Screenshot TRADElube 1.2.1.3-4

Die Bestellungen werden nun aber nicht mehr nach Bestellstatus gefiltert (früher nur offene Bestellungen), sondern es werden nun immer alle Bestellungen, die in dem gefilterten Zeitbereich liegen exportiert. Dadurch wird es nun auch leichter Bestellungen erneut in CAO anzulegen (dies ist möglich, sofern man die Bestellung aus dem CAO Journal löscht.). Und es ist dadurch nicht mehr notwendig, dass der Bestellstatus zwingend "Offen" sein muss, sondern es können die Bestellungn theoretisch auch zuerst im Shop auf "In Bearbeitung" gesetzt werden, und erst danach importiert werden (aktueller Anlass ist z. B. die neue WooCommerce Anbindung).

Berücksichtigung der Version von Bestelldetails

Bugfix
Shopware

Die Details von Shopware Bestellungen (Zahlung, Bestellpositionen, Lieferung etc.) können in speziellen Fällen unterschiedliche Versionen erhalten, wenn sich Bestellungen nachträglich ändern. Diese Version wurde bisher noch nicht berücksichtigt, oder anders gesagt hatte TRADElube bisher nicht entsprechend auf die aktuelle Version gefiltert.

Ein Beispiel (aus aktuellem Anlass):
Wenn eine Zahlung nicht erfolgreich ist, und der Endkunde die Zahlung nochmal durchführt, vielleicht diesmal sogar mit einer anderen Zahlungsart. Beide Transaktionen sind dann in der Bestellung hinterlegt und entsprechend Versioniert.

Unter Umständen wurde diese Änderung aus oben genannten Gründen von TRADElube dann nicht übernommen. Dies wurde nun behoben, indem die aktuelle Version dieser Bestelldetails entsprechend berücksichtigt wird.

TRADElube 1.2.1.4 Release Notes

Release Datum: 30.05.2023

Status-Mailversandt bei Ausfällen eines Kanals gebändigt

Optimierung

Wenn ein Kanal ganz ausfällt (z. B. der Onlineshop wird vom Netz genommen), dann kann TRADElube in der Folge keine Verbindung mehr dazu aufbauen. In diesem Fall wird dann auch eine Statusmail versandt, sofern sie diese abboniert haben. Die Fehlermeldung in der Mail sieht dann ungefähr wie folgt aus:

Screenshot TRADElube 1.2.1.4-1

Soweit so sinnvoll. Jedoch in diesen Fällen wurden bisher die Mails dann ungefähr täglich wiederholt versendet. Nicht unbedingt gewollt, sondern deshalb, da sich der Statuszeitpunkt der betroffenen Aufgaben immer mal wieder aktualisiert hat. Dies wurde nun optimiert.

Wie gut dies jetzt tatsächlich funktioniert muss man nun langzeit beobachten, unter Umständen sind hier weitere Optimierungen erforderlich. Im besten Fall jedoch wird die Mail dann nur noch ein einziges Mal zugestellt (wenn sich sonst nichts weiter mehr verändert).

Beachten sie: Im Umkehrschluss bedeutet dies dann aber, dass sie die Mail auch nur noch einmal erhalten und danach nicht mehr erinnert werden.

Fehlerklassifizierung überarbeitet

Optimierung

Einige Fehlermeldungen (z. B. SQL-Fehler von Shopware) ließen sich aufgrund von Länge und Aufbau der Fehlermeldungen nicht optimal mappen. Diese wurden obwohl bereits bekannt und auch bereits gemappt hin- und wieder trotzdem als "nicht klassifiziert" angezeigt. Dazu wurden nun einige interne Optimierungen an der Fehlerklassifizierung durchgeführt.

Interne Vorbereitungen für Wechsel der IT-Infrastruktur

Optimierung

Zum Ende des Jahres 2023 ist ein Umzug von TRADElube in ein anderes Rechenzentrum geplant (Hetzner Cloud). Auch soll es in diesem Zuge einige Verbesserungen an der IT-Infrastruktur geben.

  • Wechsel von Debian Nodes auf Talos Linux Nodes (ein sehr sicheres Betriebssystem speziell für Kubernetes)
  • Datenbank HA Lösung: MariaDb Galera
  • Optimierung der Cloud Integration (Loadbalancer für Ingress etc.)
  • ARM64 Architektur
  • verbesserte Backupstrategien
  • Monitoring
  • etc.

Diesbzgl. laufen aktuell bereits laufend Tests und es erfordert zum Teil auch internen Anpassungen in TRADElube.

Wert für Produktnummer in Bestellung nicht mehr erforderlich

Optimierung
WooCommerce

In WooCommerce sind Produktnummern (SKU) nicht zwingend erforderlich. Bisher gab es bei Bestellungen mit solchen Produkten einen Fehler beim Import in TRADElube. Die Aufgabe "WooCommerce Bestellungen Herunterladen" wurde nun so angepasst, dass hier nun ein Wert nicht mehr zwingend erforderlich ist. Solche Bestellungen mit Produkten ohne Produktnummern (SKU) können ab jetzt also fehlerfrei importiert werden.

Bitte Beachten Sie: Falls die Bestellungen weitergeleitet werden, z. B. an ein Warenwirtschaftssystem, wo für eine fehlerfreie Abarbeitung immer eine Produktnummer erfordert, muss das entsprechend bei dieser Konfiguration berücksichtigt werden, und falls beabsichtigt, eine alternative Produktnummer zugewiesen werden. Dies ist in TRADElube per Skripting meist grundsätzlich möglich.

Fehlerbehandlung der Endpunkte optimiert

Optimierung
CAO-Faktura

Die Fehlerbehandlung der CAO-Faktura Endpunkte wurde überarbeitet. Zum Teil werden nun auch genauere Informationen an CAO-Faktura zurück übermittelt.

Zum Beispiel ...

  • wenn beim Update eines Bestellstatus die Bestellung gar nicht existiert, dann wird die Info "Existiert nicht" auch an CAO-Faktura zurückgegeben
  • beim Löschen von Produkte, Kategorien oder Hersteller wird ebenfalls die Info "Existiert nicht" an CAO-Faktura zurückgegeben, sofern der Eintrag in TRADElube gar nicht vorhanden ist.

Solche Fälle gibt es zwar bei sauberer Synchronität nicht, aber es geht bei der Fehlerbehandlung immer um die Sonderfälle. Ist irgendwo beispielsweise ein Backup wiederhergestellt worden, dann ist der Zustand zwischen den unterschiedlichen Systemen nicht mehr synchron und es kann zu derartigen plausiblen Fehlern kommen.

TRADElube 1.2.1.5 Release Notes

Release Datum: 19.06.2023

Einmal übersprungene Einträge wurde nachträglich nicht mehr zugeordnet

Bugfix
Optimierung

In der vorletzten Version 1.2.1.3 wurde die Kanalisierungsmöglichkeit eingeführt (bedingte Zuweisung von Einträgen wie z. B. Produkte oder Bestellungen zu Kanälen) und diesbzgl. wurde das interne Mapping umfangreich überarbeitet.

Bei einmal übersprungen Einträgen (also Einträge ausserhalb des Kanalisierungsfilters) funktionierte in einer speziellen Konstellation eine nachträgliche Zuordnung nicht mehr. Dies führte dazu, wie gesagt nur in einer speziellen Konstellation, dass die Synchronisierung für bestimmte Produkte (die nachträglich hinzugekommen sind) nicht funktionierte. Daher wurde nun erneut eine größere Überarbeitung an den internen Mappings durchgeführt, bzw. wurde hier ein neues Konzept ergänzt, was es nun ermöglicht auch übersprungene Einträge mit bester Performance zu berücksichtigen.

Es ist immer eine Herausforderung Konsistenz und Performance gleichzeitig auf ein hohes Level zu bringen, da sich die beiden Zustände erstmal widersprechen (Dilemma). Ein Vollabgleich z. B. wäre immer die einfachste und sicherste Möglichkeit alle Daten auf einen konsistenten Stand zu bringen, jedoch ist dies auch gleichzeitig katastrophal für die Performance und die Übertragung würde so dauerhaft lange dauern (abhängig von der Größe des Produktsortiments). Man denke z. B. an die Lagerbestände, wo es wichtig ist, dass hier die Übertragung so schnell als möglich erfolgt, damit es nicht zu Überverkäufen kommen kann.

Daher forschen und optimieren wir diesbzgl. in TRADElube ständig mit gleichzeitig hohem Anspruch an Konsistenz und Performance bei der Datensynchronisierung.

Gleichnamige Zuordnungen in Kanälen werden nun beim "Neu Laden" ersetzt

Optimierung

Beim "Neu Laden" von Zuordnungen innerhalb von Kanälen werden nun Einträge mit gleichem Namen (aber unterschiedlicher Id) ersetzt. Dies kann z. B. vorkommen, wenn man einen angebundenen Shop (z. B. Shopware) vollständig ersetzt bzw. neu aufbaut. Dann ändern sich auch alle internen Ids, und bisher war dies etwas mühsam zu bereinigen, da zuerst alle bestehenden Einträge einzeln gelöscht werden mussten.

Screenshot TRADElube 1.2.1.5-1

Import der Bilder von TriCon kann nun deaktiviert werden

Feature
TriData

In der Aufgabe "TriData Produkte Herunterladen" können die Bilder nun deaktiviert werden.

Screenshot TRADElube 1.2.1.5-2

Bereinigung von Leerzeichnen bei Kategorien aus TriCon

Optimierung
TriData

Haupt- und Unterkategorien werden in TriData (bzw. in der Konfiguration für TriCon) überlicherweise mit einem '/' (Slash) getrennt. In dem speziellen Fall, dass ein Teil einer übergeordneten Kategorie mehrmals gemappt wurde, führte dies in TRADElube zu Zuordnungsproblemen, sofern vor und nach dem '/' (Slash) Leerzeichnen eingefügt wurden. Nun werden die Zuordnungen für die Kategorien aus TriCon generell beim Import automatisch von diesen Leerzeichen bereinigt. Die bereits bestehenden Zuordnungen werden beim Upgrade automatisch angepasst.

Screenshot TRADElube 1.2.1.5-3

TRADElube 1.2.1.6 Release Notes

Release Datum: 29.06.2023

Berücksichtigung der Version der Bestellung auch bei Statusupdate

Bugfix
Shopware

In der vorherigen Version 1.2.1.3 gab es bereits einen Bugfix bzgl. Versionierung von Bestellungen in Shopware (Aufgabe "Shopware Bestellungen Herunterladen"). Dabei wurde übersehen, dass dies auch bei der Aufgabe "Shopware Bestellstatus Hochladen" berücksichtigt werden muss. Das wurde nun nachgeholt.

Der manuelle Bildupload in der Medienverwaltung funktionierte nicht mehr zuverlässig

Bugfix

Seit der UI-Überarbeitung in der Version 1.2.1.1 funktionierte der manuelle Bildupload im Bereich Medien nicht mehr zuverlässig und es konnten maximal 10 Bilder auf einmal hochgeladen werden.

Die UI-Komponenten (+ weitere Abhängigkeiten) wurden deshalb auf die neueste Version aktualisiert. Dadurch ist das Problem behoben und es können nun wieder bis zu 200 Bilder gleichzeitig hochgeladen werden.

Upgrade der Entwicklungs- und Laufzeitumgebung auf DotNet 7.0.8

Optimierung

Um auf den Laufenden zu bleiben wurde die DotNet Version wieder auf den neuesten Stand gebracht.

Weiterleitung zum Loginfenster funktionierte unter Umständen nicht

Bugfix

Die Weiterleitung zum Loginfenster funktionierte bisher nicht, wenn man im Browser eine URL direkt zu einer Detailseite eines TRADElube Mandanten eingegeben hat (selbes Problem durch Verlinkung zu einer Detailseite). Es funktionierte bisher nur korrekt direkt über die Root-URL: https://app.tradelube.com. Dieses Problem ist nun behoben.

Medien beim Import automatisch komprimieren

Feature

Produktbilder können nun beim Import automatisch von TRADElube komprimiert werden. Zusätzlich kann eine maximale Breite und Länge eingestellt werden. Dadurch werden zu große Bilder auch automatisch auf diese maximale Größe herunterskaliert.

Screenshot TRADElube 1.2.1.6-1

Beachten sie:
Dies gilt nicht für verlinkte Bilder, sondern nur wenn die Bilder direkt in TRADElube importiert werden. Dies schont den Speicherplatz in TRADElube und auch in ihrem Shopsystem.

Die Thumbnails in der Medienverwaltung wurden teilweise nicht richtig skaliert

Bugfix

Dadurch wurden diese teilweise verzerrt dargestellt. Dies wurde nun behoben. Nach außen (Kanäle) hatte dieses Problem keine Relevanz.

Übertragungsfehler wurden bisher nicht in klassifizierter Form zurückgegeben

Optimierung
CAO-Faktura

Bei Übertragungsfehlern aus CAO-Faktura wurde die Fehlermeldung bisher noch nicht übersetzt bzw. noch nicht in klassifizierter Form nach CAO-Faktura zurückgegeben. Die Fehlerklassifizierung wird nun auch hier angewendet. Damit sind ab jetzt etwaige Übertragungsfehler auch direkt im Transfermodul von CAO-Faktura besser lesbar bzw. aussagekräftig.

Screenshot TRADElube 1.2.1.6-2

TRADElube 1.2.1.7 Release Notes

Release Datum: 08.08.2023

Weitere Skript Variablen für Feldzuweisung "Abverkauf"

Feature
Shopware

Für die Feldzuweisung über ein Skript an das Feld "Abverkauf" in der Aufgabe "Shopware Produkte Hochladen" kann nun die Produktnummer und der Produktname als Variable verwendet werden.

Screenshot TRADElube 1.2.1.7-1

Einige Fehlertexte wurden nicht mehr übersetzt

Bugfix

Nach einer kürzlichen Überarbeitung wurden teilweise Fehlertexte nicht mehr übersetzt und blieben unklassifiziert. Ursache war ein überflüssiger Punkt am Anfang in der zugrundeliegenden Fehlermeldung.

Screenshot TRADElube 1.2.1.7-2

Sortierung von internen Auswahlen bei den Kanalzuordnungen

Optimierung

Bei den Kanalzuordnungen wurden die Einträge, innerhalb einer Auswahl für die internen Zuordnungen, nicht sortiert. Nun werden die Einträge nach Position (falls vorhanden) und (dann) nach Name sortiert aufgelistet.

Screenshot TRADElube 1.2.1.7-3

Bessere zeitliche Verteilung bei Erneuerungen bringt neue Performanceoptimierungen

Optimierung

In vielen Aufgaben kann bereits seit längeren eine Erneuerungszeit (z. B. Täglich, Wöchentlich, Nächtlich ...) eingestellt werden. Dies bedeutet, dass Einträge (Produkte, Kategorien, Medien etc.) nach Ablauf dieses Zeitraums, bzw. wenn die letzte Übertragung länger als dieser Zeitraum zurückliegt, nochmals bzw. "erneut" übertragen werden. Daher auch der Name "Erneuerungszeit".

Bisher konnte dies dazu führen, dass es bei der regulären Übertragung vereinzelt zu größeren Verzögerungen kommen konnte, sofern bei einer Übertragung sehr viele Einträge von dieser Erneuerung betroffen waren.

Nun gibt es diesbzgl. eine Optimierung, so dass nicht mehr alle zu erneuernden Einträge auf einmal synchronisiert werden, sondern nur noch eine festgelegte maximale Anzahl zu einem Zeitpunkt. So verteilt sich die Erneuerung nun besser über einen längeren Zeitraum und größere Verzögerungen bei der regulären Übertragung, also da wo sich wirklich was geändert hat, werden dadurch vermieden.

Performanceoptimierungen beim Abfragen von geänderten Einträgen (Produkte, Hersteller, Medien etc.)

Optimierung

Für Aufgaben die mit dem Namen "... Hochladen" enden, werden intern per SQL die geänderten Einträgen ermittelt. Dies geschieht intern durch Versionsvergleich von verschiedenen Tabellen (Mappings, Traces). Bei sehr vielen Produkten (ab 50k) dauert diese Abfrage ein paar Sekunden. Dies macht sich z. B. bemerkbar, wenn man die entsprechende Aufgabe (z. B. "Shopware Produkte Hochladen") mal manuell ausführt, dann dauerte es bisher eine Weile bis der Prozessbalken angezeigt wurde und bis die Übertragung startete. Außerdem war es bei sehr vielen Produkten bisher schwierig sehr kurze Übertragungszyklen (z. B. für Lagerbestände) einzuhalten.

Die Performance wurde diesbzgl. nun durch mehrere Maßnahmen optimiert:

  • SQL Abfragen wurden optimiert (ca. 10-20% Verbesserung)
  • Die Anzahl Einträge wurde bisher mit einem zusätzlicen SQL-Statement (select count(*) from ...) ermittelt. Diese zusätzlichen SQL-Queries werden nun eingespart, und dies führt daher zusätzlich zu einer Halbierung der Abfragelaufzeit
  • Es wird bei manueller Ausführung dieser Aufgaben nun während dieser Abfragelaufzeit ein Prozessbalken mit dem Text "Übertragung Vorbereiten" angezeigt

Unterstützung für WooCommerce Shops mit Nettopreis Eingabe

Optimierung
WooCommerce

In WooCommerce kann man einstellen, ob die Preise inklusive oder exklusive MwSt. eingegeben werden. Diese Konfiguration gilt auch für die WooCommerce-API und wurde bisher seitens TRADElube noch nicht berücksichtigt. Es wurde bisher also nur die Standardoption mit Bruttopreiseingabe unterstützt. Nun wird auch die Option 2, die Eingabe exkl. MwSt., unterstützt.

Screenshot TRADElube 1.2.1.7-4

Dies wird nun automatisch berücksichtigt, indem diese Einstellungen durch TRADElube aus WooCommerce ausgelesen werden, und es ist daher keine weitere Konfiguration in TRADElube erforderlich.

Neue Aufgabe "WooCommerce Kunden Hochladen"

Feature
WooCommerce

Mit dieser neuen Aufgabe ist es nun möglich auch die Kundendaten von der WaWi (sofern unterstützt) nach WooCommerce zu synchronisieren.

Über die neuen Möglichkeiten der Kanalisierung im Transferplan ist es nun auch hier möglich, zu steuern, ob nur die bereits für WooCommerce zugeordneten oder alle Kunden nach WooCommerce synchronisiert werden sollen. Letzteres verhindert unter anderem, dass z. B. Gastkunden (also Kunden ohne eigenes Benutzerkonto) dann in WooCommerce als Kunde angelegt werden.

Screenshot TRADElube 1.2.1.7-5

Sofern es die WaWi unterstützt (z. B. CAO-Faktura) kann im Transferplan für die WaWi dann auch zielgenau durch bestimmmte Kriterien gesteuert werden, welche Kunden WooCommerce (oder auch anderen Shopsystemen) zugeordnet werden sollen.

Weitere Infos über das neue Konzept (seit Version 1.2.1.3) der Kanalisierung erfahren sie hier.

Ergänzung von Kundenzuweisungen für WooCommerce Bestellungen

Feature
WooCommerce

Die Transferplan für die Aufgabe "WooCommerce Bestellungen Herunterladen" wurde ergänzt um das Register "Kunde". Bisher wurde der allgemeine Kundendatensatz aus der Rechnungsadresse fix kopiert. In der Grundeinstellung bleibt diese Neuerung auch (wie in TRADElube gewohnt) abwärtskompatibel. Man hat nun aber mehr Möglichkeiten. Z. B. das Feld UID-Nummer. WooCommerce stellt dieses Feld standardmäßig nicht zur Verfügung. Dies kann aber durch Plugins erweitert werden, daher können hier über ein Skript die Metadaten aus dem Bestelldatensatz von WooCommerce individualisiert ausgelesen werden, was eine Kompatibilität zu den meisten B2B Plugins gewährleistet.

Screenshot TRADElube 1.2.1.7-6

Mögliche Funktionen werden im Skript Editor nun aufgelistet und beschrieben

Feature
Optimierung

Einige Feldzuweisungen mit Skriptunterstützung haben bisher auch schon immer versteckte Funktionen unterstützt. Nun werden die möglichen Funktionen auch offiziell aufgelistet und mit einer gängigen Syntax-Schreibweise beschrieben. Unterschiedliche Feldzuweisungen können unterschiedliche kontextbezogene Funktionen bereitstellen.

Das folgende Beispiel zeigt eine Feldzuweisung für die Freigabe von Bestellungen aus WooCommerce.

Screenshot TRADElube 1.2.1.7-7

Darüber hinaus können aber auch die meisten gängigen Java-Skript Funktionen verwendet werden. Diese werden hier nicht extra aufgelistet. Dafür verweisen wir auf die gängige Fachliteratur.

Produkt ohne Produktnummer wurde angelegt / Überarbeitung "TriData Lagerbestände Herunterladen"

Bugfix
Optimierung
Feature
TriData

In dem Sonderfall, dass ein Produkt über die Aufgabe "TriData Produkte Herunterladen" nicht gespeichert werden konnte (z. B. im aktuellen Anlass aufgrund Überschreibung zulässiger Feldlängen), wurde dann fälschlicherweise das Produkt dann über die Aufgabe "TriData Lagerbestände Herunterladen" ohne Produktnummer angelegt. Dies konnte dann zu weiteren Folgefehlern führen, z. B. "Doppelte Produktnummer '' ...". Ob man davon betroffen ist, erkennt man daran, dass in der Produktverwaltung ganz oben ein Datensatz ohne Produktnummer und -name existiert.

Hierzu gibt es zum einen einen Bugfix im Rahmen der internen Mappings, so dass das Produkt bei den Lagerbeständen in der Folge dann überprungen wird, sofern bei der Kanalisierung "Nur Bestehende Übernehmen" eingestellt ist.

Für den Fall, dass bei Kanalisierung "Alles Übernehmen" eingestellt ist (dies trifft zu bei einigen Konfigurationen, wo nur Lagerbestände synchronisiert werden sollen), gibt es nun eine Erweiterung im Transferplan. Und zwar kann hier die Zuweisung der Produktnummer, sowie die Zuweisung eines konstanten Produktnamens definiert werden.

Screenshot TRADElube 1.2.1.7-8

Ungültige Transaktionen innerhalb der aktuellen Bestellversion

Bugfix
Shopware

In den letzten Versionen gab es einen Bugfix bzgl. Versionierung von Bestellungen in Shopware. Nun ist mit der neuesten Shopware Version aufgefallen, dass Transaktionen manchmal die aktuelle Bestellversion haben, obwohl davon welche ungültig sind und bereits eine neue Transaktion mit einer anderen Zahlart gestartet wurde. Daher wird ab jetzt zusätzlich zur aktuellen Bestellversion auch immer die neueste Transaktion zum auslesen und setzen von Zahlart und Zahlstatus verwendet.

Farbliche Visualisierung des Bestellstatus

Feature

In der Bestellübersicht werden nun die Bestellstatus farblich gekennzeichnet.

  • Grau: Die Bestellung wurde noch nicht freigegeben
  • Schwarz: Offen
  • Orange: In Bearbeitung
  • Grün: Abgeschlossen
  • Rot: Abgebrochen

Screenshot TRADElube 1.2.1.7-9

Bestellungen aus WooCommerce benutzerdefiniert filtern

Feature
WooCommerce

In der Aufgabe "WooCommerce Bestellungen Herunterladen" gibt es nun die Möglichkeit für benutzerdefinierte Kanalisierung. So können nun z. B. Bestellungen mit Status "failed" ausgefiltert werden.

Screenshot TRADElube 1.2.1.7-10

TRADElube 1.2.1.8 Release Notes

Release Datum: 30.08.2023

Feld "Lagerbestand Verwalten" unterschiedlich für Vater- und Kindartikel

Optimierung
Feature
WooCommerce

Das Feld "Lagerbestand Verwalten" in der Aufgabe "WooCommerce Lagerbestände Hochladen" kann nun über neue Skriptvariablen "IsVariantProduct" und "IsParentProduct" konfiguriert werden. Das Problem bisher war, dass man dies nicht unterscheiden konnte und Vaterprodukte in der Regel aber keinen Lagerbestand haben. Deshalb wurde dann das ganze Produkt in WooCommerce als nicht verfügbar angezeigt. D. h. diese Zuweisung konnte bisher nur bei normalen (nicht Variantenartikeln) sinnvoll verwendet werden.

Feld "Lieferrückstand Erlaubt" korrigiert

Bugfix
Feature
WooCommerce

Das Feld "Lieferrückstand Erlaubt" in der Aufgabe "WooCommerce Lagerbestände Hochladen" konnte bisher noch nicht korrekt konfiguriert bzw. verwendet werden. Nun wurde dies korrigiert und um weitere Möglichkeiten ergänzt.

Es kann nun die Auswahl aus den 3 Möglichkeiten als Fixwert ausgewählt werden (siehe Screenshot), oder es kann mit einem logischem Benutzerfeld verknüpft werden.

Screenshot TRADElube 1.2.1.8-1

Benutzerfelder für weitere Lagerbestände

Feature
CAO-Faktura

Benutzerfelder aus CAO-Faktura können nun für die Zuweisung weiterer Lagerbestände als Skriptfelder verwendet werden.

Preise für Feldzuweisung "Versandkostenfrei" verwenden

Feature
Shopware

In der Aufgabe "Shopware Produkte Hochladen" können nun für die Feldzuweisung "Versandkostenfrei" die Preise als Variablen im Skript verwendet werden. So können nun die Versandkosten-freien Produkte automatisiert vom Preis abhängig festgelegt werden.

Die Abbildung zeigt das beschriebene Feld in Shopware:

Screenshot TRADElube 1.2.1.8-2

Nachträgliche Zuweisung von Varianten bei neu angelegten Vaterartikel

Optimierung
CAO-Faktura

In CAO-Faktura werden im Shoptransfer die Artikel (auch bei Neuanlage) nicht so sortiert, dass erst der Vaterartikel und dann die Kindartikel angelegt werden. Daher musste bisher die Übertragung aus CAO-Faktura oft doppelt erfolgen, damit beim zweiten mal dann die Vater-Artikel-Verknüpfung bei den Varianten zugewiesen wurde.

Nun gibt es eine neue Zuweisungsmöglichkeit im Transferplan von CAO-Faktura, damit nun auch umgekehrt beim Anlegen des Vaterartikels bereits existierende Produktvarianten nachträglich noch hinzugefügt werden. Dies Zuweisung sollte in der Regel nur für Neuanlage ausgewählt werden, da dies nur beim nachträglichen Anlegen des Vaterartikels relevant ist.

Screenshot TRADElube 1.2.1.8-3

Aktuell werden bei dieser Zuweisung keine Produktvarianten vom Vaterartikel entfernt, sondern nur fehlende Produktvarianten hinzugefügt. Das Entfernen erfolgt bereits bei der Zuweisung "Vater Produkt" bei Produktvarianten selbst.

Vaterartikel wird bei Zuweisung zu einem Variantenartikel zurückgesetzt

Optimierung
CAO-Faktura
WooCommerce

Falls beim Übertragen von Produktvarianten aus CAO-Faktura entweder der Vaterartikel hinzugefügt oder entfernt wird, wird nun in TRADElube auch der Vaterartikel nochmal zurückgesetzt, damit dieser folglich nochmal in alle Systeme neu synchronisiert wird. Notwendig ist dies im Zusammenhang mit einer Neuerung bzgl. WooCommerce (siehe oben), wo das Feld "Lagerbestand Verwalten" nun für Vater-Artikel individuell festgelegt werden kann.

Lieferzeit nun individueller gestaltbar

Feature
Shopware

Die Feldzuweisung "Lieferzeit" in der Aufgabe "Shopware Produkte Hochladen" kann nun individueller gestaltet werden. Z. B. in Abhängigkeit von Lagerbeständen, von einem Lieferdatum oder von beliebigen benutzerdefinierten Feldern.

Als Grundlage dient hier immer noch das Mapping der Lieferzeiten in Tagen im Kanal "Shopware" Bereich "Zuordnungen" Register "Lieferzeiten".

Screenshot TRADElube 1.2.1.8-4

Über den Modus "Feldzuweisung" können nun auch benutzerdefinierte Eigenschaften vom Typ Ganzzahl ausgewählt werden (z. B. "Lieferzeit in Tagen"). Oder wie bisher ein Lieferdatum-Benutzerfeld, dass dann in Tage und damit in die entsprechende Lieferzeit umgerechnet wird. Für Letzteres ist aber zu beachten, dass dies nur richtig funktioniert, wenn man die Übertragung regelmäßig erneuert, was wir als Herangehensweise nicht vorrangig empfehlen würden. Aus Gründen der Abwärtskompatibilität wurde diese Möglichkeit nicht entfernt.

Screenshot TRADElube 1.2.1.8-5

Über den Modus "Skript" hat man nun viele weitere Möglichkeiten. Zum einen können alle benutzerdefinierten Felder, alle Lagerbestände als Variablen verwendet werden. Und über die neue Funktion "GetDeliveryTimeIdForDays(Integer days)" kann dann ein beliebig berechnetes Ergebnis in Tagen in die entsprechende Lieferzeit Id umgewandelt bzw. gemappt werden.

Screenshot TRADElube 1.2.1.8-6

Beachten Sie folgenden Breaking-Change:
Aus dem Skript wurden Variable entfernt, und zwar die bereits umgerechneten Lieferdatum-Benutzerfelder. Als Ersatz sollte nun die neue Funktion "GetDeliveryTimeIdForDays" kombiniert mit den entsprechenden Variablen zu den Benutzerfeldern verwendet werden.

Preiszuweisung für benutzerdefinierte Produkt-Metadaten

Feature
WooCommerce

Preise können nun in der Aufgabe "WooCommerce Produkte Hochladen" für die Metadaten Zuweisung verwendet werden. (Gute) WooCommerce Plugins (beispielsweise für B2B Funktionalität) speichern ihre Daten mit diesem allgemeinen Konzept der Metadaten. So kann TRADElube mit den (meisten) WooCommerce-Plugins sehr individuell konfiguriert werden.

Screenshot TRADElube 1.2.1.8-7

Zusätzlich gibt es für Skript-Zuweisung auch neue Funktionen "GetPrice_....(Integer position)" über diese dann auch Staffelpreise durch Angabe der Position ausgelesen werden können.

Screenshot TRADElube 1.2.1.8-8

Beim Neuladen von externen Zuordnungen (Mappings) verblieben gelöschte Einträge

Bugfix

Wurden im externen System (z. B. Shopware, WooCommerce etc.) Einträge gelöscht (z. B. Zahlungsarten, Eigenschaften etc.) konnten diese Zuordnungen in TRADElube nicht mehr entfernt werden, zumindest nicht mehr aus der Auswahl, und die Einträge wurden beim "Neu Laden" auch immer wieder neu angelegt.

Es ist nach wie vor so, dass zum Entfernen eines Eintrages zuerst die Zeile (das Mapping) gelöscht werden muss. Dann aber bewirkt ab jetzt ein "Neu Laden" auch ein vollständiges Entfernen aus der Auswahl.

Screenshot TRADElube 1.2.1.8-9

Erzwungene Aktualisierung von Produktvarianten mit Übertragungsfehlern

Bugfix
WooCommerce

Diese Änderung betrifft die Aufgabe "WooCommerce Produkte Herunterladen". Diese Aufgabe benötigt man für eine Sonderkonfiguration, wenn man nur Lagerbestände nach WooCommerce synchronisieren möchte. In WooCommerce geht dies aufgrund der Produktvariationen nur, wenn man vorher eine Verbindung zwischen den Produkten (über die SKU bzw. Produktnummer) herstellt. Daher werden die Produkte hier im ersten Schritt erst von WooCommerce in Richtung TRADElube synchronisiert.

Das Problem hierbei war, dass Produktvariationen, wo es einen vorangegangenen Übertragungsfehler gegeben hat, danach nicht mehr sofort synchronisiert wurden. Im konkreten Fall wurden in WooCommerce eine Menge Produktvarianten in andere Hauptprodukte durch eine andere Schnittstelle verschoben, was erstmal in TRADElube korrekterweise zu Fehlern bzgl. doppelten Produktnummern führte. Nach dem Löschen dieser alten Produkten wurden jedoch die neuen aus dem genannten Grund nicht mehr neu synchronisiert. Nun gibt es für solche und ähnliche Fälle einen Bugfix, indem Produkte, deren Produktvarianten in TRADElube einen Übertragungsfehler aufweisen, immer synchronisiert werden, bis der Fehler wieder verschwindet (mit Einschränkung, da der Interval für fehlerhafte Einträge nach einer Zeit auch stark gedrosselt wird).

Performanceoptimierungen für Download von Produkten

Optimierung
WooCommerce

In einem aktuellen Fall gibt es das Problem, dass sich die Responses zu den Produkten aus der WooCommerce API bei jedem Abruf inhaltlich unterscheiden, obwohl es keine Änderung gegeben hat. Schuld sind Listen (z. B. Kategorien) deren Sortierung sich immer ändert und so die Listeneinträge von Aufruf zu Aufruf quasi immer hin- und her-toggeln. Oder anders gesagt diese Responses von WooCommerce scheinen nicht determistisch (vorhersehbar) identisch zu sein.

Aufgrund dessen konnte TRADElube hier die Performance nicht mehr optimieren. Dies geschieht normalerweise so, dass sich TRADElube einen Hashwert zu den einzelnen gelieferten Responses bzw. Datensätzen merkt. So ist es dann möglich, sofort zu erkennen, ob es seit der letzten Übertragung Änderungen gibt, und ob eine Synchronisierung überhaupt erforderlich ist. TRADElube kann die Responses mit bekanntem Hashcode also einfach überspringen und in der Folge reduziert sich der gesamte Zeitaufwand für die Übertragung drastisch, und in der Regel können dadurch auch sehr große Mengen von Daten sehr schnell verarbeitet werden. Dieser Vorteil fällt aber natürlich weg, wenn aus dem Grund wie im ersten Absatz beschrieben, diese Hashcodes nicht mehr zuverlässig berechnet werden können.

Der Workaround funktioniert nun so, dass es statt einem Hashcode nun vier weitere also insgesamt fünf Hashcodes gibt. Es werden also solange mehrere (bis zu 5) Hashcodes gesammelt, solange keine Änderung bei der Synchronisierung festgestellt wird. Dadurch kann nun ab dem 4-5 Durchlauf trotzdem eine gute Performance erzielt werden.

TRADElube 1.2.1.9 Release Notes

Release Datum: 10.09.2023

Bei Eigenschaften Groß-und Kleinschreibung und Leerzeichen ignorieren

Feature

Bei der Konfiguration einer Eigenschaft vom Typ "Auswahl" gibt es nun zwei weitere Konfigurationsmöglichkeiten:

  • Ignoriere Groß- und Kleinschreibung
  • Ignoriere Leerzeichen

Screenshot TRADElube 1.2.1.9-1

Im Zusammenhang mit Kanalanbindungen wo die Zuweisung von Eigenschaften nur über Freitexte erfolgen kann, hat dies nun den Vorteil, dass man dadurch Duplikate aufgrund unterschiedlicher Schreibweise besser vermeiden kann.

Verlust von neuen Eigenschaftwerten aufgrund von Caching

Bugfix
Optimierung

Die Werte von Auswahl-Eigenschaften werden ge-cached, genauso wie dies für alle allgemeinen Einstellungen passiert. Dies hat driftige Performancegründe und bedeutet z. B. dass die ganzen Kataloge (Hersteller, Kategorien, Eigenschaften etc. ) nicht beim Öffnen jedes einzelnen Produktes immer wieder neu aus der Datenbank geladen werden müssen. Stattdessen werden diese ge-cached (vorgehalten) und dadurch lässt sich mit dem System deutlich schneller arbeiten. Diese Performancevorteile gelten genauso deutlich für alle Übertragungen/Synchronisierungen.

Die Werte von Auswahl-Eigenschaften im Sinne von Systemeinstellungen haben hier aber eine besondere Bedeutung, weil diese auch dynamisch aus anderen Kanälen/Systemen angelegt werden.

Das konkrete Problem bestand nun darin, wenn man die Oberfläche bzw. das Backend von TRADElube gleichzeitig offen hatte, während in einem Hintergrunddienst gerade neue Eigenschaften angelegt wurden, dann wurden diese in der Oberfläche nicht mehr nachgeladen, weil diese ja bereits ge-cached waren. Als Folge davon konnte es dann zu Lücken bei den Eigenschaftwerten führen, wenn man weitere Aufgaben (z. B. ... Produkte Hochladen) in der Oberfläche manuell ausgeführt hat, oder wenn man das Produkt in der Produktverwaltung öffnete und speicherte.

Im automatischen Ablauf (Hintergrunddienste) fiel dieses Problem in der Regel nicht auf, da die Hintergrunddienste immer automatisch neu starten, wenn sich Einstellungen verändern. So aber nicht das Backend von TRADElube. Bei Änderungen von Einstellungen sollte man daher zum aktuellen Zeitpunkt auch immer alle anderen bereits offenen Browserfenster neu laden.

Nicht mehr notwendig ist dies ab jetzt für die Auswahl-Eigenschaften, da diese nun bei Bedarf immer automatisch nachgeladen werden.

Fehler beim Herunterladen von Bestellungen

Bugfix
WooCommerce

Beim Herunterladen von Bestellungen aus WooCommerce konnte es in Sonderfällen (in Kombination mit weiteren WooCommerce-Plugins) zu folgendem Fehler kommen:

Screenshot TRADElube 1.2.1.9-2

Ursache waren Metadaten mit Werten vom Typ Array. Array-Typen wurden bisher noch nicht berücksichtigt.

{
    "id": 87073197,
    "key": "_ppcp_refunds",
    "value": [
      "93L50ANONYM954X"
    ]
}

TRADElube 1.2.1.10 Release Notes

Release Datum: 11.10.2023

Aktionspreise nun über Gültigkeitszeitraum möglich

Feature
Optimierung
Shopware
CAO-Faktura

Da es in Shopware nicht die Möglichkeit gibt die Standardpreise auf einen Gültigkeitszeitraum zu beschränken, hatte bisher der Gültigkeitszeitraum von den in TRADElube hinterlegten Aktionspreisen auch keine Auswirkung bei der Übertragung nach Shopware:

Screenshot TRADElube 1.2.1.10-1

Der Aktionspreiszeitraum aus CAO-Faktura wurde zwar nach TRADElube synchronisiert, aber nicht nach Shopware. Stattdessen musste der Aktionspreis nach dem Aktionszeitraum auch wieder in der WaWi entfernt und neu synchronisiert werden.

Auch wurde dies seitens TRADElube bisher nicht umgesetzt, da eine einfache Lösung bisher so hätte ausgesehen, dass immer alle Artikel täglich synchronisiert werden hätten müssen, damit bei ein paar wenigen Produkten der Aktionspreis angepasst worden wäre. Das wäre aus Sicht der Performance (vor allem bei vielen Produkten) nicht sinnvoll gewesen. Deshalb ist diese schnelle Lösung für uns auch nicht in Frage gekommen.

Nun haben wir hier die notwendige Energy in ein neues Konzept reingesteckt und eine aufwendigere aber performante Lösung entwickelt, wo die vom Aktionszeitraum betroffenen Artikel nun gezielt zum richtigen Zeitpunkt und einmalig für die Übertragung neu ausgewählt werden. Mit diesem neuen Konzept lassen sich künftig nun auch andere Datums-abhängige Zuweisungen einfacher realisieren.

Die Anpassung der Aktionspreise abhängig vom eingestellten Aktionszeitraum erfolgt somit ab jetzt über Nacht zum richtigen Zeitpunkt automatisch.

Entsprechend wurde auch der Transferplan der Aufgabe "Shopware Produkte Hochladen" um den Gültigkeitszeitraum der Aktionspreise ergänzt.

Screenshot TRADElube 1.2.1.10-2

Unterstützung von Mehrfachmapping bei Produktattributen

Feature
Optimierung
TriData

Produktattribute aus TriData können nun mehrfach für unterschiedliche Schreibweisen gemappt werden und so in TRADElube zu einer Eigenschaft zusammengeführt werden.

Screenshot TRADElube 1.2.1.10-3

Feldzuweisung "Unternehmen" mit Skript Unterstützung

Feature
CAO-Faktura

Im Transferplan des Kanals CAO-Faktura im Register "Bestellungen" dann im Register "Exportieren" kann nun jeweils für Rechnungs- und Versandadresse für das Feld "Unternehmen" ein Skript hinterlegt werden. Dadurch kann nun, falls gewünscht, zusätzlich die Abteilung hinzugefügt werden. Da es für Abteilung kein dediziertes Feld in CAO-Faktura gibt, in TRADElube und meist im Onlineshop dieses Feld aber schon vorhanden ist.

Screenshot TRADElube 1.2.1.10-4

Entfernen von Emojis aus dem Bestellkommentar

Optimierung
Shopware

Wenn in Shopware ins Bestellkommentar Emojis reingeschrieben werden, dann kann die Bestellung aktuell nicht importiert werden, da es dann beim Speichern in die Datenbank (MariaDb) aufgrund ungültiger Zeichen einen SQL-Fehler gibt. Diese Problem muss noch weiter untersucht werden - vielleicht ist dazu auch ein größeres Upgrade des Datenbankservers und ggf. auch von TRADElube wegen der Datenbanktreiber erforderlich. Vorsorglich kann aber deshalb nun (sollte das Problem tatsächlich auftreten) im Transferplan der Aufgabe "Shopware Bestellungen Herunterladen" der Feldzuweisung des Bestellkommentars ein Skript hinterlegt werden, um die Emojis zu entfernen.

Folgendes Script wird bereits automatisch vorgeschlagen:

return customerComment.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g, '');

Fehler beim Import von Bestellungen mit Rabatt

Bugfix
Shopware

Die Shopware API für Bestellungen liefert bei Bestellpositionen mit Rabatt in Sonderfällen keinen sog. payload. Im Payload steht normalerweise die Produktnummer für Produktpositionen oder der Gutscheincode für Gutscheinpositionen. In solchen Fällen war der Import der Bestellung daher fehlerhaft. Dies wird nun berücksichtigt und diese Positionen werden in TRADElube nun als Rabatt-Position angelegt.

Importieren von Lagerbeständen abgebrochen

Bugfix
TriData

Bei der Aufgabe "TriData Lagerbestände Herunterladen" konnte es unter gewissen Voraussetzungen aufgrund der Fehlermeldung "Object reference not set to an instance of an object." zu einem Abbruch kommen. Dies war bisher immer nur ein vorrübergehendes Phänomen, und kam dadurch zustande, wenn es in TriCon Lagerbestände zu Filialen gab, aber für diesen Artikel in TriCon noch kein Gesamtlagerbestand angelegt wurde. Diese Inkonstenz ist in der Regel nur vorübergehend während eines Datenabgleichs von TriData nach TriCon entstanden und dieser Umstand wurde von TRADElube nicht berücksichtigt.

Nun wird bei fehlendem Gesamtbestand zu einem Artikel, der Abgleich dessen korrekterweise übersprungen, oder anders gesagt, es werden nur noch Artikel mit Gesamtbestand synchronisiert.

Verzögerung der Synchronisierung von Laberbeständen bei neuen Artikeln

Bugfix
TriData

Nach Einführung der Kanalisierung in der Version 1.2.1.3 entstand das Problem, dass unter gewissen Voraussetzungen die Lagerbestände aus TriCon initial nicht mehr synchronisiert wurden. Diese blieben in TRADElube bei neu hinzugekommen Produkten also erstmal bei 0. Erst bei erneuter Änderung des Lagerbestands (oder nach Ablauf der Erneuerungszeit) wurde die Synchronisierung dann verspätet durchgeführt. Bereits bestehende Produkte waren von diesem Problem NICHT betroffen - wie gesagt nur bei neu Hinzugekommenen verzögerte sich die Übertragung und der Lagerbestand blieb erstmal bei 0.

Ursache war, wenn die Aufgabe "TriData Lagerbestände Herunterladen" quasi die Aufgabe "TriData Produkte Herunterladen" überholt hat. Die Artikel, die zu dem Zeitpunkt noch nicht angelegt wurden, wurden von der Aufgabe "TriData Lagerbestände Herunterladen" "Übersprungen" (dieses Konzept gibt es erst seit des Kanalisierungs-Features) und die Übertragung wurde nach der Artikelanlage dann aber nicht mehr wiederholt.

Durch eine Optimierung an der internen Mapping-Versionierung ist das Problem nun behoben.

Hinweis:
Als Übergangslösung bei dieser Art von Übertragungsleak können Aufgaben "Zurückgesetzt" werden. Dies bewirkt dann einen Vollabgleich aller Einträge. Danach werden dann immer nur Änderungen synchronisert (oder auch ohne Änderung wiederholt sich die Synchronisierung nach Ablauf der Erneuerungszeit). Dieses Vorgehen hat erhebliche Performance- bzw. Geschwindigkeitsvorteile im Gegensatz dazu also würde man IMMER das ganze Produktsortiment synchronisieren, ist aber natürlich auf der anderern Seite eine viel größere technische Herausforderung.

TRADElube 1.2.1.11 Release Notes

Release Datum: 08.02.2024

Export von Bestellungen unter Ausschluss der bereits geschlossenen Bestellungen

Optimierung
CAO-Faktura

Es kann nun im Kanal von CAO-Faktura zusätzlich zum Alter der Bestellungen konfiguriert werden, ob beim Export der Bestellungen die bereits geschlossenen Bestellungen ausgeschlossen werden sollen.

Screenshot TRADElube 1.2.1.11-1

Bei sehr vielen Bestellungen wird aus Performancegründen empfohlen, diese Option zu setzen, oder das "Alter der Bestellungen für Export" möglichst niedrig zu konfigurieren.

Bestellstatusabgleich inklusive der bereits geschlossenen Bestellungen

Optimierung
TriData

Die Aufgabe "TriData Bestellstatus Herunterladen" hatte bisher grundsätzlich bereits geschlossene Bestellungen ausgeschlossen. Falls also eine bereits abgeschlossene Bestellung dann nochmal storniert wurde, wurde der Bestellstatus dieser Bestellung nicht mehr aus TriCon synchronisiert. Nun kann dies in der Aufgabe konfiguriert werden, ob bereits geschlossene Bestellungen vom Import des Bestellstatus ausgeschlossen werden sollen oder nicht.

Screenshot TRADElube 1.2.1.11-2

Bei sehr vielen Bestellungen wird aus Performancegründen empfohlen, diese Option zu setzen, oder das "Alter der Bestellungen für Sync" möglichst niedrig zu konfigurieren.

Breaking-Change bei Einkaufspreisen seit Shopware in der Version 6.5

Bugfix
Shopware

Mit Shopware ab der Version 6.5 funktionierte aus TRADElube die Synchronisierung des Einkaufspreises nicht mehr. Diese Änderung an der Shopware API wird nun in TRADElube berücksichtigt.

TRADElube 1.2.1.12 Release Notes

Release Datum: 03.04.2024

Fehler beim Import von Bestellungen ohne Lieferadresse

Bugfix
Shopware

Beim Import von Bestellungen ohne Lieferadresse aus Shopware, im konkreten Fall eine Bestellung für eine digitales Produkt, gab es einen Fehler.

Ready für Shopware 6.6

Optimierung
Shopware

Ab Shopware in der Version 6.6 gibt es ein paar relevante Änderungen an der Shopware API welche den Bestellimport in TRADElube betreffen. Dies wurde nun angepasst.

Vererbung der Sichtbarkeit und der Kategorien vom Vaterprodukt

Feature
Shopware

In der Aufgabe "Shopware Produkte Hochladen" kann nun für die Verkaufskanäle und für die Kategorien explizit die Vererbung zum Vaterprodukt zugewiesen werden.

Screenshot TRADElube 1.2.1.12-1

Ein Zurücksetzen zur sog. "Vererbung" in Shopware ist so möglich. Zur Info: eine aktive Vererbung ist in Shopware bei den Variantenprodukten jeweils immer durch das Kettensymbol in der Farbe lila gekennzeichnet.

Screenshot TRADElube 1.2.1.12-2

Zuweisung der Verkaufskanäle in Abhängigkeit der Kategorien

Feature
Shopware

In der Aufgabe "Shopware Produkte Hochladen" steht nun für die Zuweisung der Verkaufskanäle eine neue Skript-Funktion mit dem Namen "ContainsCategoryId" zu Verfügung. Dadurch ist es nun möglich die Verkaufskanäle per Skript in Abhängigkeit zu den Kategorien festzulegen.

Screenshot TRADElube 1.2.1.12-3

Passend dazu wird nun innerhalb der Kategorieverwaltung (gilt auch für Produkte, Hersteller, Medien, Bestellungen & Kunden) im Bereich Kanäle ganz unten die Id angezeigt, damit diese nun ausgelesen und in Scripten verwendet werden kann.

Screenshot TRADElube 1.2.1.12-4

Mit einem Klick auf diese Id wird diese in der Zwischenablage gespeichert und kann dann im Script wieder eingefügt werden.

TRADElube 1.2.1.13 Release Notes

Release Datum: 30.04.2024

Die Entwicklungen in der Version 1.2.1 sind soweit grundsätzlich abgeschlossen und beschränkt sich nur noch auf Bugfixes und kleinere Optimierungen. Die Entwicklung größerer Features sind in der nächsten Hauptversion 1.3.0 in Arbeit.

Standardkonfiguration Erscheinungsdatum geändert & Skript Variablen hinzugefügt

Optimierung
CAO-Faktura

Im Kanal von CAO-Faktura wurde für die Zuweisung des Erscheinungsdatums (Transferpläne → Produkte → Aktualisieren → Allgemein) bisher als Standardkonfiguration das Lieferdatum aus CAO-Faktura verwendet. Es hat sich herausgestellt das dies oft nicht zutreffend ist. Da die Schnittstelle von CAO-Faktura ansonsten kein optimal passendes Feld bereitstellt, bleibt das Feld daher bei Neuninstallation inaktiv.

Wenn man die Zuweisung aktiviert, dann wird ab jetzt als Standardkonfiguration ein Skript mit dem aktuellem Datum vorgeschlagen. Entsprechend dafür stehen im Skript-Editor (dieses Feldes) nun Datumsfunktionen zur Verfügung.

Screenshot TRADElube 1.2.1.13-1

Bei diesem konkreten Skript sollte die Zuweisung nur mit der Option "Bei Neuanlage" konfiguriert werden. Damit wird erreicht, dass das aktuelle Datum als Erscheinungsdatum nur einmal bei der Neuanlage des Produktes in TRADElube zugewiesen wird und danach nicht mehr verändert wird.

Skripte für Kundengruppe, VertreterId und Preisgruppe nun möglich

Optimierung
CAO-Faktura

Im Kanal von CAO-Faktura kann nun im Transferplan "Bestellungen → Exportieren → Allgemein" für die Felder Kundengruppe, Vertreter Id und Preisgruppe jeweils ein Skript hinterlegt werden. Als Skriptvariable steht das Bestellkommentar zur Verfügung. Dadurch ist es nun möglich Informationen zu den benannten Felder aus dem Bestellkommentar zu parsen.