Versandkostenberechnung schlägt fehl

Hallo Leute,
ich habe eine Versandkostenberechnung. Der Zustand ist wie folgt.

IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=500 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=749.9,SUM(d.weight*b.quantity)*0.361+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=750 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=999.9,SUM(d.weight*b.quantity)*0.312+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=1000 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=1499.9,SUM(d.weight*b.quantity)*0.261+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=1500 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=2500.9,SUM(d.weight*b.quantity)*0.218+15,
0))))*1.19

Meine Situation ist wie folgt, 
Die Versandkosten werden nach dem Gesamtgewicht der einzelnen Artikel berechnet. Wenn das Gewicht eines einzelnen Artikels zwischen dem Bereich ist, müssen wir wie in der Berechnung zu berechnen. Aber zur gleichen Zeit, wenn der Artikel als versandkostenfrei markiert ist, sollte der Artikel aus der Berechnung zu vermeiden.

Hier, wenn es nur einen Artikel gibt und es funktioniert gut. Wenn es 2 Artikel gibt und einer ist versandkostenfrei und der andere ist nicht versandkostenfrei, dann schlägt die Berechnung fehl. Es wird die SUMME (Gewicht*Menge) der beiden Artikel berechnet. Wie kann ich das beheben? Wie kann ich den versandkostenfreien Artikel von der Berechnung ausschließen.

Bitte teilen Sie uns mit, ob es eine Dokumentation gibt.

SUM(d.weight*b.quantity)

 Dieser Teil summiert alle Gewichte x Menge unabhängig von Versandkostenfrei.

Du musst hier auch die Bedingung einsetzen in der Form:

SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))

 

 

IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=500 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=749.9,SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))*0.361+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=750 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=999.9,SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))*0.312+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=1000 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=1499.9,SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))*0.261+15,
IF(SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))>=1500 AND SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))<=2500.9,SUM(IF(b.shippingfree = 'false',d.weight*b.quantity,0))*0.218+15,
0))))*1.19

 

1 Like

Hallo @sacrofano‍
genau das war meine erwartete Antwort. Ich habe die Bedingungen nur im Validierungsteil hinzugefügt, nicht im Versandkostenberechnungsteil des Skripts. Ich danke Ihnen vielmals.