Eigene Versandkostenberechnung

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 :wink:
 

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

image
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  :wink:
“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

image
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?