Versandkostenberechnung je Artikel aber nur für bestimmte Artikel

Hallo,

wir haben folgendes Problem, welches wir bisher nicht haben lösen können.

Für bestimmte Artikel die wir ausserhalb Deutschlands verkaufen sollen die Versandkosten je Artikel berechnet werden; für alle anderen Artikel, Anzahl unabhängig, soll eine EU Standardwert (18,90 €) gelten.

Für die Berechnung Versandkosten je Artikel haben wir eine Versandart angelegt, zusätzlichen Freitextfeld hinzugefügt und dann über Eigene Berechnung -> SUM(at.attr4*b.quantity) das Ganze wunderbar zum Laufen gebracht. Das Problem besteht darin, dass erstmal auf der EU Standardwert (18,90 €), welches auch aktiv ist und sein muss, zugegriffen wird - der Kunde hat zwar die Option im Warenkorb die Versandart auszuwählen, was wenig Sinn ergibt. Der wählt natürlich die Option 18,90 € für die ganze Bestellung statt 4 x 18,90 € für die 4 Artikel die er bestellen möchte.

Wenn uns jemanden hierzu Tipps, Information geben würde, wäre das super.

Vielen Dank im Voraus

Mark

Du müsstest das per IF() einfach in eine Versandart packen. Das sollte nicht so schwer sein.
Ansonsten machst du eine Aufschlagregel.

1 Like

Einfacher gesagt als gemacht :wink: Mir raucht schon der Kopf. Kann mann, bzw. musste man hier das IF als eigene Berechnung oder eigene Bedinung festlegen?

Mit SUM(IF(at.attr4*b.quantity=’’,17.90,at.attr4)) komme ich nah dran am Ziel.

Artikeln mit ausgefüllten attr*4 Feld (auf der Artikelseiten) werden die Anzahl nach richtig berechnet, wenn nichts angegeben ist, wird 17.90 als Versandkosten ausgegeben, leider jedoch multipliziert sich den Betrag für jeden zusätzlichen Artikel im Warenkorb. Gerade das möchte ich verhindern, denn für alle anderen Artikel, Anzahl unabhängig, soll eine EU Standardwert (17,90 €) gelten.

Wenn uns jemanden hierzu Tipps, Information geben würde, wäre das super.

Vielen Dank im Voraus

Mark

 

Deine Syntax ist falsch. Generell wäre sowas richtig:

IF(at.attr4,SUM(b.quantity*at.attr4),17.90)

1 Like

Vielen Dank Moritz. Deine Syntax ist fast richtig. Wenn man zuerst einen Artikel, dessen Versandkosten je Stück berechnet werden soll im Warenkorb legt und anschließend ein oder mehrere anderen Artikeln hinzufügt für den ein Pauschalversand gilt (z.B. 17,90 €), funktioniert scheinbar alles so wie es sein soll. Wenn man aber die Bestellreihenfolge ändert und die Artikeln, dessen Versandkosten je Stück berechnet werden soll, erst zum Schluss im Warenkorb legt, wird der Posten irgendwie nicht erkannt bzw. berechnet, d.h. die Versandkosten bleiben bei 17,90 €

Versuch mal noch ein SUM() außenrum. Damit wird es pro Position ausgeführt.

Meinst Du so in Etwa: SUM(IF(at.attr4,(b.quantity*at.attr4),12,90)) - das geht leider nicht. Vor lauter Ausprobieren kommt mir das Ganze nur noch kryptisch vor.

SUM(IF(at.attr4,(b.quantity*at.attr4),17.90))

Hast du mal sowas probiert?

1 Like

Hallo Moritz,

vielen Dank erstmal…

Deine Syntax scheint mal wieder fast korrekt zu sein - fast, weil die Versandkosten für die Artikel, die je Stück berechnet werden sollen, scheint zu funktionieren; die Versandkosten für andere einzelne Artikel, Anzahl unabhängig, (also z.B. pauschal 17,90 €), funktioniert auch. Jedoch werden Versandkosten für jeden anderweitigen Artikel, den man in den Warenkorb legt, dazu addiert und das sollte möglichst nicht sein. Ideen?

Grüße

Das Problem ist, dass alles innerhalb des SUM() für jede Position angewendet wird. Da die 17.90 nicht außerhalb des SUM() stehen, werden die pro Position gerechnet.

Nochmal zum probieren: SUM(IF(at.attr4,(b.quantity*at.attr4),0)) + IF(at.attr4,0,17.90)

1 Like

Hallo Moritz,

das war es, es funktioniert scheinbar wie gewünscht! Vielen, vielen Dank für deine Zeit und Mühe.

Grüße

Mark