Abo Commerce Fehler bei manueller Wiederholung

Hallo, wenn ich bei Marketing-Abonnements ein Abo anklicke und auf “ausgewählte Bestellung ausführen” klicke, erschein folgender Fehler (das in Klammern habe ich ersetzt, da stand unsere Domain und der Shopname): Feheler Es sind Fehler aufgetreten. Meldung vom Server: Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. An exception occurred while executing ‘INSERT INTO s_core_shops (main_id, category_id, name, title, position, host, base_path, base_url, hosts, secure, always_secure, secure_host, secure_base_path, default, active, customer_scope, template_id, document_template_id, locale_id, currency_id, customer_group_id, fallback_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)’ with params [null, “3”, “Deutsch”, “(unser Shopname)”, 0, “(unsere Domain)”, null, null, “(unsere Domain)”, 0, 0, null, null, 1, 1, 0, “24”, “24”, 1, 1, “1”, “2”]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘Deutsch’ for key ‘name’ in vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php on line 91 Stack trace: #0 vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(167): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(PDOException), ‘INSERT INTO s_c…’, Array) #1 Doctrine/ORM/Persisters/BasicEntityPersister.php(279): Doctrine\DBAL\Statement->execute() #2 vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(952): Doctrine\ORM\Persisters\BasicEntityPersister->executeInserts() #3 vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(335): Doctrine\ORM\UnitOfWork->executeInserts(Object(Doctrine\ORM\Mapping\ClassMetadata)) #4 vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(389): Doctrine\ORM\UnitOfWork->commit(Object(Shopware\Models\Order\Order)) #5 Shopware/Plugins/Community/Frontend/SwagAboCommerce/Bootstrap.php(1790): Doctrine\ORM\EntityManager->flush() #6 Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Frontend_SwagAboCommerce_Bootstrap->onAboFinish(Object(Enlight_Event_EventArgs)) #7 Enlight/Event/EventManager.php(252): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Event_EventArgs)) #8 Enlight/Controller/Action.php(157): Enlight_Event_EventManager->notifyUntil(‘Enlight_Control…’, Array) #9 Enlight/Controller/Dispatcher/Default.php(528): Enlight_Controller_Action->dispatch(‘aboFinishAction’) #10 Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #11 Shopware/Kernel.php(141): Enlight_Controller_Front->dispatch() #12 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #14 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #15 Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #16 shopware.php(109): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #17 {main} Ich hoffe Jemand kann mir helfen, hatten mit dem Plugin von Beginn an nur Probleme und funktioniert hat es noch nie richtig :frowning:

Hallo, die Fehlermeldung deutet darauf hin, dass da noch ein zweites Plugin mit im Spiel ist. Generell wird da versucht eine zweite Shop-Instanz anzulegen. Hast du ein Plugin welches bspw. bei Bestelleingang eine Rechnung versendet o.ä.? Das müsstest du ggf. einmal deaktivieren und erneut testen. Moritz

1 Like

Wow danke wenn ich das Rechnungserstellungs Plugin deaktiviere geht es :slight_smile: vielen Dank! Heißt dass das es keine Chance gibt dass beide zusammen laufen?

[quote=“jill.valentine”]Wow danke wenn ich das Rechnungserstellungs Plugin deaktiviere geht es :slight_smile: vielen Dank! Heißt dass das es keine Chance gibt dass beide zusammen laufen?[/quote] Eines der beiden Plugins muss so modifiziert werden, dass diese “Verdopplung” nicht auftritt. Aktuell muss man sich für eines der beiden Plugins entscheiden. In der Praxis bedeutet dies leider, dass nur der Verzicht auf das “automatische Rechnungserstellungs”-Plugin wirklich Sicherheit liefert. Ich habe dieses Problem auch wieder im Zusammenhang mit einem Zahlungsplugin und einem “automatischen Rechnungsversand”-Plugin gesehen.

1 Like

Hi! Ich bin der Entwickler des Rechnungs-Plugins. Ich habe diesen Fehler mit der Verdopplung der Einträge in der s_core_shops jetzt schon mehrfach, auch in Zusammenhang mit verschiedenen anderen Plugins, gesehen. In meinem Plugin wird an dieser Stelle überhaupt keine Datenbankoperation durchgeführt. Lediglich Lese-Zugriffe. Der einzige Schreibzugriff ist das Antriggern der Shopware-internen Rechnungserzeugung wie es durch Shopware selbst auch im Backend durchgeführt wird. Daher meine Frage an Shopware: Welche Queries im Core könnten diese Verdoppelung auslösen? Viele Grüße, Fabian

Hallo, Datenbankoperationen werden auch getriggert, wenn man interne Funktionen/Methoden von Shopware aufruft, dazu muss man ja nicht unbedingt explizit einen Datenbankzugriff absetzen. Da der Sourcecode des Plugins nicht öffentlich ist (oder?), kann man schlecht etwas zur Fehlerquelle sagen. Da muss man als Entwickler schon selber einen identischen Testshop aufsetzen und debuggen! Wenn ein Shop in der DB verdoppelt wird, ist es keine schlechte Idee zuerst an der Shop-Ressource vorbeizuschauen und dann stößt man eigentlich ziemlich schnell auf ein im Forum und auf Github ausführlich diskutiertes Problem. Ist dies als Ursache denn schon ausgeschlossen? Neue Pull-Request für Shopware 5: https://github.com/shopware/shopware/pull/356 Alter PR: https://github.com/shopware/shopware/pu … t-49440259 Die Forenbeiträge finde ich auf die Schnelle nicht.

[quote=“hth”]Hallo, Datenbankoperationen werden auch getriggert, wenn man interne Funktionen/Methoden von Shopware aufruft, dazu muss man ja nicht unbedingt explizit einen Datenbankzugriff absetzen. Da der Sourcecode des Plugins nicht öffentlich ist (oder?), kann man schlecht etwas zur Fehlerquelle sagen. Da muss man als Entwickler schon selber einen identischen Testshop aufsetzen und debuggen! Wenn ein Shop in der DB verdoppelt wird, ist es keine schlechte Idee zuerst an der Shop-Ressource vorbeizuschauen und dann stößt man eigentlich ziemlich schnell auf ein im Forum und auf Github ausführlich diskutiertes Problem. Ist dies als Ursache denn schon ausgeschlossen? Neue Pull-Request für Shopware 5: https://github.com/shopware/shopware/pull/356 Alter PR: https://github.com/shopware/shopware/pu … t-49440259 Die Forenbeiträge finde ich auf die Schnelle nicht.[/quote] Yess… wie gesagt: Der einzige Aufruf ist der \Shopware\_Components\_Document::initDocument() zum generieren der Dokumente. Werde das scheinbar komplett auseinandernehmen müssen…