Page tree
Skip to end of metadata
Go to start of metadata
 Wieso wird ein Artikel aus dem Set nicht dem Warenkorb hinzugefügt?

Wenn Sie einen Artikel aus dem Set auf Abverkauf stehen haben und dieser einen Lagerbestand von 0 hat, kann Shopware diesen nicht Ihrem Warenkorb hinzufügen. Dadurch werden alle weiteren Artikel in den Warenkorb gelegt, aber nicht dieser Artikel, bei erneutem Aktualisieren des Warenkorbs werden alle weiteren Artikel nur noch als Einzelposition angezeigt und nicht mehr als Set. Wenn ein Set-Artikel als nicht mehr Verfügbar angezeigt werden soll, sobald ein Artikel einen Lagerbestand von 0 hat, müssen Sie den Set-Artikel auf Abverkauf stellen.

 Wie kann ich den Bestand aller Set-Artikel neu berechnen?

Um den Bestand der Set-Artikel zu berechnen müssen diese zunächst in die Queue Tabelle geschrieben werden und anschließend muss die Datenbank Prozedur ausgeführt werden.

Schritte zur Durchführung der Berechnung:

  • Führen Sie folgendes SQL Query in Ihrer Shopware Datenbank aus um die Queue mit allen Set-Artikeln zu befüllen:
    • INSERT IGNORE INTO tonur_calculate_set_queue (set_article_id) SELECT DISTINCT set_article_id FROM tonur_set_article_items WHERE 1
  • Rufen Sie die Datenbank Prozedur CALL sp_tonur_set_article_calculate_set_article_data() in Ihrer Datenbank auf.
    • Oder führen Sie den Shopware Cronjob Shopware_CronJob_TonurSetArticleCalculateStock mit sw:cron:run über die Shopware Konsole aus.
 Warum werden die Lagerbestände der Set-Artikel nicht berechnet?

Bei der Installation des Plugins werden unter anderem Datenbanktrigger angelegt, so dass wenn der Bestand eines Set-Bestandteils sich ändert, dieser vermerkt wird und beim Ausführen des Cronjobs berücksichtigt wird.

Es könnte sein, dass dem Datenbankbenutzer die Rechte zum Anlegen der Trigger fehlen könnten (siehe https://confluence.repertus.berlin/pages/viewpage.action?pageId=18710979) und dadurch die Trigger nicht angelegt wurden.

Sind die Datenbanktrigger und Datenbank Storedprocedure in Ihrem System vorhanden?

 Es müssen folgende Trigger und StoredProcedure vorhanden sein:

  • sp_tonur_set_article_calculate_set_article_data
  • t_tonur_set_article_article_details_on_update;
  • t_tonur_set_article_article_on_update
  • t_tonur_set_article_order_on_insert
  • t_tonur_set_article_items_on_insert
  • t_tonur_set_article_items_on_update
  • t_tonur_set_article_items_on_delete


Sollten die Trigger und StoredProcedure vorhanden sein, sollten die Tabelle tonur_calculate_set_queue bei Änderungen des Bestandes oder Preises eines Set-Bestandteils automatisch mit der Artikel ID des Sets gefüllt werden und beim Ausführen des Cronjobs für das Set neu berechnet werden.


Bitte beachten Sie bei einem Wechsel des Servers, dass die Trigger/StoredProcedures auch wieder eingespielt werden.

 Wir verkaufen Artikel auch auf Amazon und würden auch ein Set-Artikel auf Amazon verkaufen. Die Lagerbestände werden mittels Magnalister auf Amazon Übertragen. Wird der Lagerbestand eines Sets auch an Amazon übertragen?

Leider haben wir bisher noch keine Erfahrungen mit Magnalister gemacht und können Ihnen daher auch keine genaue Antwort geben.

Wir gehen aber davon aus, dass der Bestand eines Sets an Amazon mittels Magnalister übertragen werden sollte, da ein Set-Artikel ein ganz normaler Shopware Artikel ist.
Wir können keine genauen Aussagen über die Lagerbestandsberechnung eines Set-Artikels geben, falls über Amazon eine Bestellung getätigt wird. Dies hängt davon ab, ob Magnalister die aus Amazon kommenden Bestellungen als normale Shopware-Bestellung auslöst oder nicht (z.B.  der Bestand des Artikels wird direkt in der Datenbank heruntergesetzt). Im ersteren Fall sollte der Lagerbestand eines Set-Artikels korrekt berechnet werden. Im letzteren Fall würden die Lagerbestände der Sets nicht aktualisiert und die nächste Lagerbestandsberechnung würde die Änderung von Magnalister wieder überschreiben. 

 Warum werden auf eBay und Amazon die Set-Bestandteile nicht angezeigt?

Leider ist das Anzeigen der Set-Bestandteile auf eBay bzw. Amazon nicht möglich, da die entsprechende Schnittstelle nichts von den Bestandteilen weiß. Diese werden in der Datenbank in den durch unser Plugin erzeugten Tabellen tonur_set_article_... verknüpft.

Man müsste das entsprechende eBay / Amazon Plugin  um die Daten der Set-Bestandteile erweitern, damit diese auf der entsprechenden Plattform angezeigt werden.

Alternativ könnte man bei einfachen Sets die Informationen zu den Set-Bestandteilen am Set-Artikel direkt im Beschreibungstext hinterlegen.

 Beim Installieren des Plugins erhalte ich folgende Fehlermeldung: An exception occurred while executing 'INSERT INTO s_crontab (name, action, active, disable_on_error, pluginID, `interval`, next, end) VALUES (?, ?, ?, ?, ?, ?, ?, ?)' with params ["Tonur SetArticle Service", "TonurSetArticleCalculateStock", true, true, 65, 300, "2020-05-06 17:12:35", "2020-05-06 17:12:35"]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'TonurSetArticleCalculateStock' for key 'action'

Unser Plugin versucht CronJobs für die Preis- und Bestandsberechnung anzulegen. Anscheinend sind diese bei Ihnen schon vorhanden? 

Die Lösung wäre diese Einträge in der s_crontab Tabelle  zu entfernen und das Plugin erneut zu installieren.

Sie können auch überprüfen, ob im Backend in den Grundeinstellungen unter Cronjobs der Cronjob "Tonur SetArticle Service" angezeigt wird und diesen dann löschen.

  • No labels