# Versandkostenberechnung mit erweiterten Einstellungen für Sperrgut

**URL:** <https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548>\
**Category:** Programmierung\
**Created:** [9. Februar 2017 um 00:53 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548 "2017-02-09T00:53:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![HamdIT](https://avatars.discourse-cdn.com/v4/letter/h/e56c9b/32.png) [@HamdIT](https://forum.shopware.com/u/HamdIT)\
**Post date:** [9. Februar 2017 um 00:53 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548/1 "2017-02-09T00:53:42Z")

</div>

Hallo,

Ich möchte ein Sperrgut einrichten. Dabei soll pro Sperrgut Versandkosten von X addiert werden. Ich habe ein Freitextfeld (at.attr16) als sperrgut definiert und in die erweiterte SQL-Abfrage im Versandkosten-Modul&nbsp;

```
, MAX(at.attr16="1") AS sperrgut

```

angehängt. Anschließend mittels Mehrfachänderung einige Artikel als sperrgut markiert.

Nun habe ich in der Versandkostenverwaltung einen neuen Eintrag hinzugefügt. Versandart-Typ ist “Standard Versandart”, denn wenn ich “Aufschlag-Versandregel” wähle, gibt es auf alle für Sperrgut ausgewählten Zahlarten einen Aufschlag. z.B. auch für Selbstabholer, die über Vorkasse&nbsp;bezahlen.

Also Standard-Versandart. Unter Versandkosten trage ich von 0 bis beliebig 8 ein. Unter Erweiterte Eigenschaften-\>Eigene Bedingungen trage ich

```
sperrgut = '1'

```

&nbsp;ein. Das klappt insofern, dass diese Versandart nur dann auswählbar ist, wenn es einen Artikel im Warenkorb gibt, für den at.attr16 (sperrgut) aktiviert wurde.

Problem 1: Die Versandkosten müssen addiert weden. n Sperrgüter heißt also Versandkosten von n\*x  
Problem 2: Bei m anderen Artikeln sollen die Versandkosten ebenfalls addiert werden. Also m\*y

Insgesamt will ich also Versandkosten von n\*x + m\*y haben.

Mein Versuch war das Feld “Eigene Berechnung” zu benutzen. Das wird nur anscheinend niemals von Shopware genutzt. Völlig egal, was ich hier eintrage, es sind immer 8. Auch wenn ich im Reiter Versandkosten keine Zeile stehen habe, sind die Versandkosten immer 0.

Ich habe es mit dieser Abfrage versucht:

```
SUM(IF(at.attr16 = '1',8,5))

```

oder auch

```
SUM(IF(at.attr16 = '1',8*b.quantity,5))

```

Oder auch nur “5+10”. Was in “Eigene Berechnung” steht, wird irgendwie imemr ignoriert. Woran kann das liegen und wie müsste die Abfrage korrekterweise aussehen?

Natürlich habe ich “Versandkosten-Berechnen nach” auf “Eigene Berechnung” gestellt.

---

<div class="post-metadata">

**Author:** ![HamdIT](https://avatars.discourse-cdn.com/v4/letter/h/e56c9b/32.png) [@HamdIT](https://forum.shopware.com/u/HamdIT)\
**Post date:** [10. Februar 2017 um 22:39 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548/2 "2017-02-10T22:39:21Z")

</div>

Die Lösung ist im Reiter “Versandkosten” in der Spalte Faktor “100%” einzutragen. Die Spalte “Versandkosten” kann leer bleiben. Wie soll man denn darauf kommen … außer durch aufmerksames Lesen der [Doku](http://community.shopware.com/_detail_1933.html#Eigene_Berechnungen).

Da es ja klappt, habe ich jetzt eine Aufschlag-Versandregel daraus gemacht. Erstmal habe ich im Versandkosten-Modul zwei Abfragen eingefügt:

```
MAX(at.attr16="1") AS mischkorb, Min(at.attr16="1") AS sperrgut

```

Also anders als oben beschrieben. Dann habe ich&nbsp;zwei Aufschläge definiert:

1.) NUR Sperrgüter im Warenkorb

Eigene Bedingung:

```
mischkorb && sperrgut

```

Eigene Berechnung:

```
SUM(X*b.quantity-Y)

```

2.) Mischkorb  
Eigene Bedingung:

```
mischkorb && !sperrgut

```

Eigene Berechnung:

```
SUM(IF(at.attr16, X*b.quantity, 0))

```

Wobei X eben für die Sperrgut-Versandkosten und Y für die normalen Versandkosten steht. Wenn es keine nicht-sperrgut-artikel im Warenkorb gibt, müssen die normalen Versandkosten abgezogen werden.

D.h. Für jeden einzelnen Artikel, bei dem at.attr16 angehakt ist, muss X bezahlt werden. Wenn noch andere Güter dabei sind,&nbsp;

So bekommt der Kunde nicht “Sperrgut” als Versandart angezeigt. Ich muss ihn halt noch irgendwie informieren, warum die Versandkosten so hoch sind.

---

<div class="post-metadata">

**Author:** ![don](https://avatars.discourse-cdn.com/v4/letter/d/ed655f/32.png) [@don](https://forum.shopware.com/u/don)\
**Post date:** [30. Mai 2017 um 16:02 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548/3 "2017-05-30T16:02:23Z")

</div>

Ich hänge mich mal hier mit dran, da ich auch ein Problem mit der Berechnung habe und daran verzweifel.

Ausgangssituation:

Ich habe normale Artikel und Gutscheine.

Ich habe eine Versandart mit Porto 6,95€

Gewünschte Lösung:

Wenn&nbsp;

a) nur normale Artikel&nbsp;  
oder  
b) normale Artikel und Gutscheine

im Warenkorb sind, dann berechne die 6,95

Wenn NUR Gutscheine im Warenkorb sind, dann berechne 0€ Versandkosten.&nbsp;

Am liebsten wäre es mir über eine Abschlagsart.

Folgende SQL Syntax habe ich:  
MAX(a.topseller) AS has\_topseller, MAX(at.attr3) AS has\_comment, MAX(b.esdarticle) AS has\_esd, SUM(b.quantity\*d.weight) as gesamtgewicht, MIN(at.gutscheinversandfrei=“1”) AS gutscheinversand, MAX(at.gutscheinversandfrei=“1”) AS mischkorb

Wenn ich jetzt in der Abschlagsversandart in den Bedingungen laut Doku eintrage:

gutscheinversand && mischkorb

passiert folgendes, dass er die 6.95 als Warenkorbrabatt abzieht, sobald 1 Gutschein im Warenkorb ist. Auch wenn ich Artikel im Korb liegen habe, die keine Gutscheine sind. Die Mischkorbvariable scheint ihn überhaupt nicht zu interessieren.&nbsp;

“gutscheinversandfrei” ist eine Checkbox im Artikelstamm, die ich dafür angelegt habe als Attribut.

&nbsp;

Wo ist mein Denkfehler?&nbsp; ![Foot-in-Mouth](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bedbc37f276faa6d086ddea9cd70cb0550bbd56e.png "Foot-in-Mouth")

---

<div class="post-metadata">

**Author:** ![schaltwerk](https://avatars.discourse-cdn.com/v4/letter/s/258eb7/32.png) [@schaltwerk](https://forum.shopware.com/u/schaltwerk)\
**Post date:** [16. Oktober 2017 um 09:26 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548/4 "2017-10-16T09:26:25Z")

</div>

> [@don schrieb:](https://forum.shopware.com/profile/617/don "don")
> 
> Ich hänge mich mal hier mit dran, da ich auch ein Problem mit der Berechnung habe und daran verzweifel.
> 
> Ausgangssituation:
> 
> Ich habe normale Artikel und Gutscheine.
> 
> Ich habe eine Versandart mit Porto 6,95€
> 
> Gewünschte Lösung:
> 
> Wenn&nbsp;
> 
> a) nur normale Artikel&nbsp;  
> oder  
> b) normale Artikel und Gutscheine
> 
> im Warenkorb sind, dann berechne die 6,95
> 
> Wenn NUR Gutscheine im Warenkorb sind, dann berechne 0€ Versandkosten.&nbsp;
> 
> Am liebsten wäre es mir über eine Abschlagsart.
> 
> Folgende SQL Syntax habe ich:  
> MAX(a.topseller) AS has\_topseller, MAX(at.attr3) AS has\_comment, MAX(b.esdarticle) AS has\_esd, SUM(b.quantity\*d.weight) as gesamtgewicht, MIN(at.gutscheinversandfrei=„1“) AS gutscheinversand, MAX(at.gutscheinversandfrei=„1“) AS mischkorb
> 
> Wenn ich jetzt in der Abschlagsversandart in den Bedingungen laut Doku eintrage:
> 
> gutscheinversand && mischkorb
> 
> passiert folgendes, dass er die 6.95 als Warenkorbrabatt abzieht, sobald 1 Gutschein im Warenkorb ist. Auch wenn ich Artikel im Korb liegen habe, die keine Gutscheine sind. Die Mischkorbvariable scheint ihn überhaupt nicht zu interessieren.&nbsp;
> 
> „gutscheinversandfrei“ ist eine Checkbox im Artikelstamm, die ich dafür angelegt habe als Attribut.
> 
> &nbsp;
> 
> Wo ist mein Denkfehler?&nbsp; ![Foot-in-Mouth](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bedbc37f276faa6d086ddea9cd70cb0550bbd56e.png "Foot-in-Mouth")

Hast du hierzu eine Lösung gefunden?&nbsp;

---

<div class="post-metadata">

**Author:** ![Baadshah](https://avatars.discourse-cdn.com/v4/letter/b/3be4f8/32.png) [@Baadshah](https://forum.shopware.com/u/Baadshah)\
**Post date:** [21. Juli 2023 um 07:12 UTC](https://forum.shopware.com/t/versandkostenberechnung-mit-erweiterten-einstellungen-fur-sperrgut/43548/5 "2023-07-21T07:12:19Z")

</div>

Hallo,

ich habe hier dasselbe Problem aber komme irgendwie nicht weiter mit deiner Formel…

Was hast du für dein Y(Mischkorb) eingegeben?

Also würde die Formel so aussehen für Sperrgut:

SUM(at.attr16_b.quantity-MAX(at.attr16=„1“)) oder  
SUM(at.attr16_b.quantity-mischkorb)

Ist das so richtig?
