Hallo Zusammen!
Habe folgendes Problem mit Versandkostenberechnung:
Versandkosten ab 150 € frei sonst 6.99€
dann gibt es 6 verschiedene Sperrgutartikel und dazugehörige Versandkosten
sperrgut 1 - 10€, sperrgut 2 - 20€, sperrgut 3 - 30€, sperrgut 4 - 40€, sperrgut 5 - 50€, sperrgut 6 - 60€
diese sperrgutartikel werden bei den einzelnen artikeln über ein freitextfeld gesetzt.
Wenn ein “nicht” sperrgutartikel im Warenkorb ist und unter 150 € sollen trotzdem zu den sperrgutartikeln die 6,99 € versandkosten addiert werden.
Wenn mehrere Sperrgutartikel im Warenkorb sind sollen alle addiert werden.
Ich habe Freitextfelder angelegt und wollte das über eigene Berechnungen lösen - scheitere aber irgendwie an der if und sum abfrage
Achja und dann gibt es noch einen Sonderfall.
Das sperrgut 7 (wird auf über freitextfeld bei den artikel markiert) - das soll nur über besonderen transport geliefert werden mit einem hinweis im warenkorb oder alternative selbstabholung. (bei versand) - auch wenn andere artikel sich im Warenkorb zusätzlich befinden.
Da beisst es jetzt komplett aus wie ich das umsetzen kann.
Danke für Hilfe!!! Ihr seid die Besten
Hallo @tobivan,
hast du dir meinen Artikel hier: https://forum.shopware.com/discussion/comment/217512/#Comment_217512 schon einmal genauer angesehen? Das wurde von einer Sperrgutberechnung abgeleitet. Vielleicht helfen dir hier die Ansätze weiter.
VG
enerSpace Webhosting
Tel.: +49 511 - 219 568 76 | Web: https://www.enerspace.de
Danke,
naja soweit konnte ich das schon lösen - ich habe die ganzen Sperrgutartikel aufsummiert.
IF(SUM(IF(at.attr6=‘1’,b.quantity,0))*10)+(SUM(IF(at.attr7=‘1’,b.quantity,0))*20)+(SUM(IF(at.attr8=‘1’,b.quantity,0))*30)+(SUM(IF(at.attr9=‘1’,b.quantity,0))*40)+(SUM(IF(at.attr10=‘1’,b.quantity,0))*50)+(SUM(IF(at.attr11=‘1’,b.quantity,0))*60)
Das geht auch
Aber wie kann ich jetzt die Abfrage machen, dass er noch Versandkosten in Höhe von 6.99 € dazurechnet wenn noch andere nicht sperrgutartikel im warenkorb sind bzw. andere nicht sperrgutartikel ab 150€ versandkostenfrei wären (ohne dass ich für diese artikel ein eigenes freitextfeld mache und diese extra markiere)
Abgesehen von diesem Problem noch
“Das sperrgut 7 (wird auf über freitextfeld bei den artikel markiert) - das soll nur über besonderen transport geliefert werden mit einem hinweis im warenkorb oder alternative selbstabholung. (bei versand) - auch wenn andere artikel sich im Warenkorb zusätzlich befinden.”
Hallo @tobivan,
Kann es sein, dass deine Regel nicht ganz komplett hier angekommen ist? Da ist ein offenes IF ohne Abschluss.
Du kannst mal versuchen, die folgende Regel mit anzuhängen:
+SUM(IF(at.attr6!="1" and at.attr7!="1" and at.attr8!="1" and at.attr9!="1" and at.attr10!="1" and at.attr11!="1",IF(b.price < "150","6.99",0),0))
Wobei bei der Formel nur davon ausgegangen wird, dass ein einzelner Artikel Versandkostenfrei wäre, wenn dieser mehr als 150 € kostet. Andernfalls musst du quantity mit einbeziehen:
+SUM(IF(at.attr6!="1" and at.attr7!="1" and at.attr8!="1" and at.attr9!="1" and at.attr10!="1" and at.attr11!="1",IF(b.quantity*b.price < "150","6.99",0),0))
Zweiteres musst du mit der Tempaltebasis lösen. Weisst du wie das geht?
EDIT: Regeln angepasst und getestet. Vorherige waren fehlerhaft.
VG
enerSpace Webhosting
Tel.: +49 511 - 219 568 76 | Web: https://www.enerspace.de
Danke für die Bemühungen - klappt leider nicht.
Ich vereinfache das mal so wie ich das bis jetzt habe:
1 Sperrgutartikel - Versandkosten 89 €
- Normalartikel - 6.99 € Versand - ab 150 € (nur Normalartikel ohne Sperrgutartikel) dann 0 € Versand
Mit folgender Berechnung addiert er mir bei einem Sperrgutartikel (wenn kein Normalartikel im Warenkorb liegt) ja auch die 6,99 € dazu - er geht dann von 0 aus und das ist ja kleiner 150
IF(SUM(IF(at.attr6!=1,b.price*b.quantity,0))>150,0,6.99)+(SUM(IF(at.attr6=1,b.quantity,0))*89)
Gibt mir immer 95,99 € aus, auch wenn ich nur 1 Sperrgutartikel im Warenkorb habe
Hm…
Niemand ein Vorschlag?