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.
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 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 €
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.
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?
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)