[API lokal] updateByNumber löscht Daten und setzt Werte = 0

Hallo liebe Community, Ich habe mal wieder ein Problem. Diesmal geht es um ein Import Script der nicht so will wie ich… Ich habe nur die SKU gegeben und will den basePrice importieren. Das funktioniert auch… allerdings setzt mein Import Script dabei die restlichen Preise auf ‘0’ und löscht sogar Datensätze aus der Preis Tabelle (eventuell Duplikate?). Ich sitze mittlerweile etliche Stunden an dem Problem und komme trotz der exzellenten (*hust hust*) Doku im Wiki nicht weiter. Ich hoffe, das mir jemand von euch weiterhelfen kann. Ich nutze Shopware 4.2.1 - Build Rev 201402131706 - Community Edition Der Interessante teil des Plugins: // ... try{ /\*\* @var $articleResource \Shopware\Components\Api\Resource\Article \*/ $articleResource = \Shopware\Components\Api\Manager::getResource('Article'); } catch (Exception $e) { echo $e-\>getMessage(); } // ... $params = array( 'mainDetail' =\> array( 'prices' =\> array( array('basePrice' =\> $baseprice), ), ), 'changed' =\> date('Y-m-d H:i:s'), ); try{ /\*\* @var $articleResource \Shopware\Components\Api\Resource\Article \*/ $articleResource-\>updateByNumber($articleNumber, $params); } catch (Exception $e) { return false; } // ... Vielen dank im voraus für die Antworten! Grüße, Jannis

Da mehrere Preise in einer 1:n Beziehung vorliegen: kann es sein, dass du immer -alle- Preise vollständig angeben musst? Eventuell kommt die API nicht damit klar. Viele Grüße

1 „Gefällt mir“

Definitiv, da musst Du das gesamte Preis-Array angeben wenn Du das so updaten möchtest. Und, da Du NUR den basePrice angibst fehlt eben der price, die customerGroupKey usw … Das Ding ist auch, dass beim Update (wenn Du das Preis-Array mitgibst) dieses komplett mit dem vorhanden ersetzt wird, jedenfalls bei der API in 4.2.1. Bedeutet - beim Update musst Du die anderen Informationen ebenfalls mitgeben. Oder Du probierst die Preise direkt mit der ID anzusprechen, das habe ich aber noch nicht so gemacht/ausprobiert, ich habe mich da an den Beispielen vom Wiki erst einmal streng gehalten. Viel Erfolg und schöne Grüße :slight_smile: Niklas

1 „Gefällt mir“

Super, danke. Das hat mich schon um einiges weiter gebracht. Jetzt habe ich nur noch ein Problem: Und zwar werden die Preise, wenn ich sie mir aus dem Objekt hole, ohne die 19% MwSt ausgegeben. Allerdings wenn ich diesen Wert wieder als Update Wert einfüge, dann sieht er diesen als Wert mit MwSt an, und somit ist der Wert der in der DB und im Shopfrontend steht um die MwSt zu gering. Hat da jemand einen Trick dafür?

[quote=“stratege-Jannis”]Und zwar werden die Preise, wenn ich sie mir aus dem Objekt hole, ohne die 19% MwSt ausgegeben.[/quote] Das liegt daran, dass intern nur mit Netto-Preisen gerechnet wird und deswegen diese auch nur gespeichert werden. Der Rest ergibt sich aus den gesetzten Steuersätzen. Schöne Grüße, Niklas

1 „Gefällt mir“