[gelöst] Belegerstellung funktioniert nicht

Hallo zusammen, bei Erstellung der Rechnung passiert leider nichts. Es wird kein Dokument generiert. Wenn ich auf “Vorschau” klicke erscheint folgende Fehlermeldung: Fatal error: Call to a member function getArrayCopy() on a non-object in /var/www/vhosts/meinedomain.de/httpdocs/engine/Shopware/Models/Document/Order.php on line 273 Wenn ich den Vorgang neu aufrufe, erscheint nun in den Bestellungsdetails im Tab Dokumente der Link zur Rechnung. Klicke ich diesen an, so wird ein leeres beschädigtes PDF generiert, welches ich nicht öffnen kann. Dies ist auch nur 153Bytes groß, somit offensichtlich leer. Ich befürchte, dass es sich dabei um eine defekte Bestellung handelt. Aber wie ist nun die beste Vorgehensweise um den Fehler zu beheben?

Niemand einen Tipp oder eine Idee?

Hi Christian, nicht so ungeduldig. Es ist okay, wenn du einen Beitrag nach einigen Tagen noch mal nach vorne bringst…aber nach wenigen Stunden ohne Antwort. Tritt dein Problem nur bei der Rechnung auf, oder auch bei anderen PDFs? Hast du irgendein Plugin, welches an der Stelle eingreift? Gruß Patrick

Ich bin eigentlich nicht ungeduldig… Sollte auf jeden Fall nicht so rüber kommen. Ich habe die Bestellung gestern schon nicht fertig bekommen und den Kunden auf den heutigen Versand vertröstet. Nun kommt DHL in einer halben Stunde zur Abholung und ich bekomme weder Rechnung noch Lieferschein zu dieser Bestellung gedruckt. Die Dokumentenerstellung bei den anderen Bestellungen funktioniert zum Glück. Also scheint die eine Bestellung defekt zu sein. Nun habe ich ja noch die Möglichkeit die Bestellung neu anzulegen, so dass der Versand noch heute stattfinden kann. Nur will ich das System auch verstehen - wieso, weshalb, warum - bei dieser Bestellung die Dokumentenerstellung nicht funktioniert. In der DB sieht alles genauso aus wie bei den anderen Bestellungen… Wieso bemängelt das System “Call to a member function getArrayCopy() on a non-object in…” ? Fehlt dort irgendein Bezug oder eine Datei? Es muss ja einen Grund geben…

Hi, also das Problem ist nur diese eine Bestellung? Dann scheint die in irgendeiner Form beschädigt zu sein. Vielleicht auch der Kunde. Hat der schon andere Bestellungen getätigt? Gruß Patrick

Hi, kannst du mal einen SQL-Dump der Bestellung aus s_order und der Bestellpositionen aus s_order_details hier einstellen? Bitte auch prüfen, ob du das Kundenkonto zur Bestellung im Backend aufrufen kannst.

[quote=„Patrick Schücker“]Hi Christian, nicht so ungeduldig. Es ist okay, wenn du einen Beitrag nach einigen Tagen noch mal nach vorne bringst…aber nach wenigen Stunden ohne Antwort. Gruß Patrick[/quote] @Patrick Entschuldige bitte die Kritik, aber vielleicht solltest Du unterscheiden zwischen wichtig oder nicht wichtig und Dich auch mal in die Lage eines Shopbetreibers versetzen. Es ist eines mit der größen Probleme, wenn man keine Rechnung erzeugen kann und der Kunde warten muss. Da wird jeder ungeduldig und nervös und man kann mit so einem Problem nicht ein paar Tage warten!

@Patrick & @Stefan: Vielen Dank für eure Antworten! @Petra: Danke für deinen seelischen Beistand :wink: :thumbup: — [*] Das Problem besteht nur bei einer Bestellung. [*] Das Kundenkonto des Erstbestellers kann aufgerufen werden und zeigt auf den ersten Blick keine Auffälligkeiten. Anbei die gewünschten SQL-Dumps (anonymisiert): s_order.sql-- phpMyAdmin SQL Dump -- version 3.5.7 -- http://www.phpmyadmin.net -- -- Host: localhost:3306 -- Erstellungszeit: 14. Mai 2013 um 20:28 -- Server Version: 5.5.31-cll -- PHP-Version: 5.3.10 SET SQL\_MODE="NO\_AUTO\_VALUE\_ON\_ZERO"; SET time\_zone = "+00:00"; /\*!40101 SET @OLD\_CHARACTER\_SET\_CLIENT=@@CHARACTER\_SET\_CLIENT \*/; /\*!40101 SET @OLD\_CHARACTER\_SET\_RESULTS=@@CHARACTER\_SET\_RESULTS \*/; /\*!40101 SET @OLD\_COLLATION\_CONNECTION=@@COLLATION\_CONNECTION \*/; /\*!40101 SET NAMES utf8 \*/; -- -- Datenbank: `DB_SW` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `s_order` -- CREATE TABLE IF NOT EXISTS `s_order` ( `id` int(11) NOT NULL AUTO\_INCREMENT, `ordernumber` varchar(30) COLLATE utf8\_unicode\_ci DEFAULT NULL, `userID` int(11) DEFAULT NULL, `invoice_amount` double NOT NULL DEFAULT '0', `invoice_amount_net` double NOT NULL, `invoice_shipping` double NOT NULL DEFAULT '0', `invoice_shipping_net` double NOT NULL, `ordertime` datetime DEFAULT NULL, `status` int(11) NOT NULL DEFAULT '0', `cleared` int(11) NOT NULL DEFAULT '0', `paymentID` int(11) NOT NULL DEFAULT '0', `transactionID` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, `comment` mediumtext COLLATE utf8\_unicode\_ci NOT NULL, `customercomment` mediumtext COLLATE utf8\_unicode\_ci NOT NULL, `internalcomment` mediumtext COLLATE utf8\_unicode\_ci NOT NULL, `net` int(1) NOT NULL, `taxfree` int(11) NOT NULL, `partnerID` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, `temporaryID` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, `referer` mediumtext COLLATE utf8\_unicode\_ci NOT NULL, `cleareddate` datetime DEFAULT NULL, `trackingcode` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, `language` varchar(10) COLLATE utf8\_unicode\_ci NOT NULL, `dispatchID` int(11) NOT NULL, `currency` varchar(5) COLLATE utf8\_unicode\_ci NOT NULL, `currencyFactor` double NOT NULL, `subshopID` int(11) NOT NULL, `remote_addr` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, PRIMARY KEY (`id`), KEY `partnerID` (`partnerID`), KEY `userID` (`userID`), KEY `ordertime` (`ordertime`), KEY `cleared` (`cleared`), KEY `status` (`status`), KEY `paymentID` (`paymentID`), KEY `temporaryID` (`temporaryID`), KEY `ordernumber` (`ordernumber`), KEY `transactionID` (`transactionID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8\_unicode\_ci AUTO\_INCREMENT=6239 ; -- -- Daten für Tabelle `s_order` -- INSERT INTO `s_order` (`id`, `ordernumber`, `userID`, `invoice_amount`, `invoice_amount_net`, `invoice_shipping`, `invoice_shipping_net`, `ordertime`, `status`, `cleared`, `paymentID`, `transactionID`, `comment`, `customercomment`, `internalcomment`, `net`, `taxfree`, `partnerID`, `temporaryID`, `referer`, `cleareddate`, `trackingcode`, `language`, `dispatchID`, `currency`, `currencyFactor`, `subshopID`, `remote_addr`) VALUES (6152, '40636', 1043, 134.1, 112.68907563025, 0, 0, '2013-04-20 11:00:47', 2, 12, 20, '8PF65191N1234570X', 'v.nachname@googlemail.com (verified)\n', '', '', 0, 0, '', '407ca7828ea5f1cb570474849abb7025', '', '2013-04-20 00:00:00', '952971301234', '1', 9, 'EUR', 1, 1, '84.62.99.211'); /\*!40101 SET CHARACTER\_SET\_CLIENT=@OLD\_CHARACTER\_SET\_CLIENT \*/; /\*!40101 SET CHARACTER\_SET\_RESULTS=@OLD\_CHARACTER\_SET\_RESULTS \*/; /\*!40101 SET COLLATION\_CONNECTION=@OLD\_COLLATION\_CONNECTION \*/; s_order_details.sql-- phpMyAdmin SQL Dump -- version 3.5.7 -- http://www.phpmyadmin.net -- -- Host: localhost:3306 -- Erstellungszeit: 14. Mai 2013 um 20:28 -- Server Version: 5.5.31-cll -- PHP-Version: 5.3.10 SET SQL\_MODE="NO\_AUTO\_VALUE\_ON\_ZERO"; SET time\_zone = "+00:00"; /\*!40101 SET @OLD\_CHARACTER\_SET\_CLIENT=@@CHARACTER\_SET\_CLIENT \*/; /\*!40101 SET @OLD\_CHARACTER\_SET\_RESULTS=@@CHARACTER\_SET\_RESULTS \*/; /\*!40101 SET @OLD\_COLLATION\_CONNECTION=@@COLLATION\_CONNECTION \*/; /\*!40101 SET NAMES utf8 \*/; -- -- Datenbank: `DB_SW` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `s_order_details` -- CREATE TABLE IF NOT EXISTS `s_order_details` ( `id` int(11) NOT NULL AUTO\_INCREMENT, `orderID` int(11) NOT NULL DEFAULT '0', `ordernumber` varchar(40) COLLATE utf8\_unicode\_ci NOT NULL, `articleID` int(11) NOT NULL DEFAULT '0', `articleordernumber` varchar(30) COLLATE utf8\_unicode\_ci NOT NULL, `price` double NOT NULL DEFAULT '0', `quantity` int(11) NOT NULL DEFAULT '0', `name` varchar(255) COLLATE utf8\_unicode\_ci NOT NULL, `status` int(1) NOT NULL DEFAULT '0', `shipped` int(11) NOT NULL DEFAULT '0', `shippedgroup` int(11) NOT NULL DEFAULT '0', `releasedate` date DEFAULT NULL, `modus` int(11) NOT NULL, `esdarticle` int(1) NOT NULL, `taxID` int(11) DEFAULT NULL, `tax_rate` double NOT NULL, `config` mediumtext COLLATE utf8\_unicode\_ci NOT NULL, PRIMARY KEY (`id`), KEY `orderID` (`orderID`), KEY `articleID` (`articleID`), KEY `ordernumber` (`ordernumber`), KEY `articleordernumber` (`articleordernumber`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8\_unicode\_ci AUTO\_INCREMENT=24916 ; -- -- Daten für Tabelle `s_order_details` -- INSERT INTO `s_order_details` (`id`, `orderID`, `ordernumber`, `articleID`, `articleordernumber`, `price`, `quantity`, `name`, `status`, `shipped`, `shippedgroup`, `releasedate`, `modus`, `esdarticle`, `taxID`, `tax_rate`, `config`) VALUES (24782, 6152, '40636', 1769, '12345678', 134.1, 1, 'Artikelbezeichnung', 0, 0, 0, '0000-00-00', 0, 0, 1, 19, ''); /\*!40101 SET CHARACTER\_SET\_CLIENT=@OLD\_CHARACTER\_SET\_CLIENT \*/; /\*!40101 SET CHARACTER\_SET\_RESULTS=@OLD\_CHARACTER\_SET\_RESULTS \*/; /\*!40101 SET COLLATION\_CONNECTION=@OLD\_COLLATION\_CONNECTION \*/;

Dazu muss auch gesagt werden, dass leider dieser Fehler bzw. im Allgemeinen das Problem mit der PDF Vorschau / Rechnungsdruck schon haeufiger bei usern Aufgetreten ist und schon oefter als Beitrag im Forum zu finden war. :oops:

@Christian Kannst du mir einmal Zugangsdaten zum Backend und zur Datenbank an forum@shopware.de schicken - das müsste ich mir bei dir im System anschauen, der SQL-Dump sieht soweit (wie du selbst auch festgestellt hast) unauffällig aus.

1 „Gefällt mir“

Vielen Dank an Stefan und Shopware, die das Problem gelöst haben. Die Belegerstellung hat bei dieser einen Bestellung nicht funktioniert, da die Lieferadresse nicht korrekt in s_order_shippingaddress geschrieben wurde.