Update: Plugin-Version 1.2.1 verfügbar - behebt Doppel-Preise und Erst-Anlage-Fall
Kurzes Update zum ursprünglichen Plugin-Vorschlag:
In der ersten Version hatte das Plugin den Validierungsfehler abgefangen und `quantityStart: 0` auf `1` normalisiert.
Das bringt zwar den Sync wieder zum Laufen, hat aber zwei Nachwirkungen, die erst im Live-Betrieb bei einem Kunden auffielen:
1. Doppelte Preis-Records pro Kundengruppen-Regel.
Der
Connector sendet bei bereits in
Shopware existierenden Artikeln pro Regel zwei Einträge:
einen "Create"-Record mit `productId: null` und `quantityStart: 0` (der eigentlich kaputte) sowie einen "Update"-Record mit gültiger `productId` und `quantityStart: 1` (der korrekte).
Wenn man beide normalisiert, landen am Ende zwei identische Preise pro Regel in der Shopware-DB. Im Storefront erscheint das als irreführender Mengenrahmen ("ab 1 Stück: 12,99 € / ab 1 Stück: 12,99 €").
2. Erst-Anlage-Bug.
Bei einem komplett neuen Artikel sendet der Connector nur den "Create"-Record mit `productId: null`.
Der Zwischenversuch (v1.1 - alle Orphans verwerfen) hat dann gar keine Preise mehr durchgelassen und Artikel wurden ohne Preisregeln angelegt.
Die finale
Version 1.2.1 entscheidet pro `ruleId` einzeln:
- Existieren sowohl Update- als auch Orphan-Einträge = Orphans verwerfen (Update-Fall)
- Existieren nur Orphan-Einträge = behalten und `quantityStart` normalisieren (Erst-Create-Fall)
Damit funktionieren Updates bestehender Artikel, Erst-Anlagen einfacher Artikel und Variantenartikel mit Vater plus Kindern.
Download und Doku:
https://feinwerk.software/blog/jtl-...uantitystart-fehler-per-eigenem-plugin-loesen
Der Link ist so geblieben, es gibt einen Nachtrag, worin dieser Fall genauer beschrieben wird.
Wer die Vorgängerversion bereits installiert hatte, sollte einmalig die in der DB bereits angelegten Doppel-Records bereinigen.
Dazu gibt's im Blog-Artikel einen kompletten SQL-Block mit Inspektions-, Bereinigungs- und Verifikations-Queries.
Bei einem Live-
Shop mit ~700 Artikeln waren das in unserem Fall 95 Records über 13 Produkte.
Wie immer: Workaround, kein Ersatz für ein offizielles JTL-Update.
Sobald der Connector den Doppel-Send-Bug fixt, sollte das Plugin deinstalliert werden.
Bei Fragen oder Edge-Cases gerne hier melden.