# Abverkauf für alle Artikeln erzwingen.

**URL:** <https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322>\
**Category:** Administration\
**Created:** [22. Februar 2018 um 15:46 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322 "2018-02-22T15:46:39Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [22. Februar 2018 um 15:46 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/1 "2018-02-22T15:46:39Z")

</div>

Hallo Zussammen,

ich möchte für alle Artikeln in meinem Shop das Verkaufen für die Waren, die auf dem Lager gerade fehlen, verbieten. Per Artikel gibt es die Einstellung „Abverkauf“ die ich auch per SQL Anfrage für alle Artikeln auf True setzten könnte. Ich würde aber lieber das per Shopware-Configuration tun. Ist das möglich? Wie?

&nbsp;

Danke!

Roman

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [22. Februar 2018 um 15:51 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/2 "2018-02-22T15:51:38Z")

</div>

Mach doch eine Mehrfachänderung über das Backend mit Article.Laststock = true

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [28. Februar 2018 um 09:32 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/3 "2018-02-28T09:32:08Z")

</div>

Irgendwie sind&nbsp;die Artikeln trotz&nbsp;Article.Laststock = true bei Mengen \<= 0 verkaufbar. Die Unterschiede, die ich merke:

- Im Warenkorb Slide-Out steht jetzt eine Info, dass die Ware in unausreichenden Menge vorhanden ist

- In Artikel-Detail sowie auf der Checkout/Confirm Seite steht ein vermerk “Lieferzeit ca. 5 Tage”

Das bestellen funktioniert aber trotzdem. Was ich möchte ist, dass Waren, die Warenkörbe, die Waren enthalten, die nicht auf Lager sind, nicht bestellbar sind. Auch schön wäre die Möglichkeit zu entziehen, unverfügbare Waren in Warenkorb reinzuschmeißen.

Wie könnte ich das erledigen?

---

<div class="post-metadata">

**Author:** ![Gesundwuerzen](https://avatars.discourse-cdn.com/v4/letter/g/8c91f0/32.png) [@Gesundwuerzen](https://forum.shopware.com/u/Gesundwuerzen)\
**Post date:** [28. Februar 2018 um 18:21 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/4 "2018-02-28T18:21:28Z")

</div>

versuchs mal in der DB: (Sicherung zuvor machen!)  
update s\_articles set laststock = replace(laststock,‚0‘,‚1‘);

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [28. Februar 2018 um 19:51 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/5 "2018-02-28T19:51:43Z")

</div>

was tut das? Wenn das einfach&nbsp;laststock auf 1 setzt, dann glaube ich habe ich das schon getan mittel „Mehrfachänderung“.

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [2. März 2018 um 13:19 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/6 "2018-03-02T13:19:04Z")

</div>

OK, das ist jetzt merkwurdig. Ich habe in Einstellungen \>&nbsp;Grundeinstellungen \>&nbsp;Warenkorb/Artikeldetails diefolgenden Änderungen eingetragen:

- Abverkaufsartikel ohne Lagerbestand ausblenden:&nbsp;JA
- Lagerbestands-Unterschreitung im Warenkorb anzeigen:&nbsp;JA
- Text für nicht verfügbare Artikel: Artikel gerade nicht verfügbar (früher war hier „Lieferzeit ca. 5 Tage“).

Ich habe das gespreichert und ALLE caches per Backend geleert und noch ein mal im Console durch „php bin/console sw:cache:clear“. Trotzdem sehe ich alles wie früher: der AbverkaufsArtikel mit Bestand \< 0 wird angezeigt und kann zum Warenkorb hinzugefügr werden. Shopware lässt auch diesen Warenkorb bestellen zu. Außerdem sehe ich&nbsp;„Lieferzeit ca. 5 Tage“ dort, wo das zum „Artikel gerade nicht verfügbar“ (soweit ich verstehe)&nbsp;stehen sollte. Es gibt auch keinen Vermerk im Warenkorb, dass der Artikel Lagerbestands-Unterschreitung hat.&nbsp;

D.h. alle 3 Einstellungen haben in meinem Fall anscheinend KEINEN Effekt. Das wundert mich sehr. Könnte jemand das etwas aufklären bitte?

---

<div class="post-metadata">

**Author:** ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)\
**Post date:** [2. März 2018 um 15:34 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/7 "2018-03-02T15:34:01Z")

</div>

Der Haken bei “Abverkauf” führt soweit ich weiss nur dazu, dass beim Verkauf des letzten Artikels, dieser auf inaktiv gesetzt wird.

Standen deine Artikel schon auf Lagerbestand=0, so hat ein nachträgliches Setzen des Hakens keine Auswirkung und du müsstest da noch einmal nacharbeiten.

&nbsp;

Bezüglich der scheinbar nicht funktionierenden Einstellungen kann ich dir leider nicht helfen, aber sobald deine bereits auf 0 stehenden Artikel deaktiviert sind sollte der Abverkauf ordnungsgemäß funktionieren.

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [3. März 2018 um 12:16 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/8 "2018-03-03T12:16:29Z")

</div>

Vllt. Mitarbeiter von Shopware könnten hier das problem mit nicht-funktionierenden Grundeinstellungen erklären? Könnte jemand die zuständige Personen hier einladen?

(ich verwende dabei die letzte Version von Software)

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [3. März 2018 um 12:40 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/9 "2018-03-03T12:40:54Z")

</div>

Setzt du eine 5.4 ein?  
Ab 5.4 hat sich das Handling ja grundlegend geändert, da wird Abverkauf pro Variante eingestellt. Entsprechend muss man bei der Mehrfachänderung und auch der Datenbank die Spalte in der s\_article\_details setzen.

Generell werden die Produkte ausgeblendet, die einen Bestand \<= 0 haben, wenn die Option in den Grundeinstellungen aktiviert ist. Voraussetzung ist natürlich, dass dies für alle Varianten gilt. Der Hinweis im Warenkorb hat nichts mit Abverkauf zu tun - bei Abverkauf kann der Artikel ja garnicht mehr als Bestand in den Warenkorb gelegt werden. Die Option bringt also nur was, wenn du Abverkauf bei dem Artikel nicht nutzt, ann wird dort angezeigt “5 von 6 Lieferbar” - der Kunde kann aber weiterhin die 6 kaufen.

Hab also drei Szenarien einmal getestet:

- Abverkaufsartikel + Option zum ausblenden inaktiv  
-\> Produkt aufrufbar, aber kein “In den Warenkorb” - Lieferzeit ca. 5 Tage wird angezeigt

- Abverkaufsartikel + Option zum ausblenden aktiv  
-\> Produkt nicht aufrufbar - kann somit auch nicht in den Warenkorb gelegt werden

- Normales Produkt mit Bestand 5 + Option Lagerbestandsunterschreitung anzeigen  
-\> Produkt 6x kaufbar, Hinweis wird angezeigt, dass nur 5 lieferbar sind

Das funktioniert also erstmal wie gewünscht.  
Eine 5.4 hab ich gerade nicht zur Hand. Die tests waren jetzt in einer 5.3.7.

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [4. März 2018 um 14:24 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/10 "2018-03-04T14:24:18Z")

</div>

Ja, es sieht so aus, dass es eine Krankheit von 5.4 ist. Ich habe 5.3.7 installiert und die Einstellungen funktionieren hier wie intuitiv verstänbar – ich kann keine minus-Mengen von Abverkaufartikeln haben, weil ich nicht mehr Artikeleinheiten in den Warenkorb reinschmeißen kann, als ich im Bestand habe und wenn ich 0 im Bestand habe gibt es keine Taste “In den Warenkorb” mehr. In 5.4 kann ich soviel Atrikel in Wareinkorb hinzufügen, wie ich möchte sowie sie auch kaufen. Und das bei gleichen Einstellungen. Vllt. ist das so von Entwicklern gemeint, aber meiner Meinung nach ist es so ganz unintuitiv, verwirrend und soll anders gemacht werden.

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [4. März 2018 um 14:25 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/11 "2018-03-04T14:25:25Z")

</div>

Ich erstelle jetzt ein Ticket.

---

<div class="post-metadata">

**Author:** ![SebastianKloepper](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sebastiankloepper/32/21435_2.png) [@SebastianKloepper](https://forum.shopware.com/u/SebastianKloepper)\
**Post date:** [4. März 2018 um 15:18 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/12 "2018-03-04T15:18:39Z")

</div>

Hi,

ich habe das gerade in 5.4 getestet und da läuft Abverkauf auch bei mir wie gewünscht.

Ist eine Variante als Abverkauf markiert, dann kann ich nur so viel kaufen und in den Warenkorb legen, wie tatsächlich auf Lager sind.

So kann ich da erstmal kein Problem feststellen. Ggf. tritt das Problem bei dir in Kombination mit nem Plugin auf? Ist tatsächlich Abverkauf auch bei der einzelnen Variation gesetzt?

Sebastian

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [5. März 2018 um 10:17 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/13 "2018-03-05T10:17:01Z")

</div>

Ich habe vor einem Moment noch ein mal 5.4 reinstalliert und jetzt funktioniert das Ding richtig.

Aber ja, das könnte an meinem Plugin liegen.&nbsp;

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [5. März 2018 um 10:34 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/14 "2018-03-05T10:34:32Z")

</div>

Ja, das hat bestimmt etwas mit meinem Plugin zu tun, wobei das in 5.3.7 nicht vorkommt.

Wieso kann es so sein? Mein Plugin importiert Waren aus einer Preisliste, wobei ich Importdaten so konfiguriere:

```
$articleData = array(
                    'name' => $line[$columnIndexes['Description']],
                    'tax' => array(
                        'name' => 'MwSt',
                        'tax' => 19
                    ),
                    'active' => true,
                    'description' => $line[$columnIndexes['Description 2']]
                        . " " . $line[$columnIndexes['Description 3']],
                    'categories' => array(
                        array('path' => RreimcheImportEET::provideCategory($line[$columnIndexes['Item Group Web Tree']]))
                    ),
                    'supplier' => $line[$columnIndexes['Brand Name']],
                    'mainDetail' => array(
                        'number' => RreimcheImportEET::importArticleNumber($line[$columnIndexes['Item No.']]),
                        'active' => true,
                        'inStock' => $line[$columnIndexes['Home stock']],
                        'prices' => array(
                            array(
                                'customerGroupKey' => 'EK',
                                'from' => 1,
                                'to' => '',
                                'price' => RreimcheImportEET::providePrice($line[$columnIndexes['Customers Price']])
                            )
                        ),
                        'attribute' => array(
                            'attr1' => $line[$columnIndexes['Item No.']],
                            'attr2' => $line[$columnIndexes['Customers Price']] 
                        ),
                    ),
                    'laststock' => 1
                );

if ($line[$columnIndexes['Item Picture Link (Web)']] != "") {
                    $articleData['images'] = array(
                        array('link' => RreimcheImportEET::provideImageURL($line[$columnIndexes['Item Picture Link (Web)']]))
                    );
                }

```

Und speichere ich die Artikeln so:

```
// entweder so

$articleResource->create($articleData);

// oder so

$article = $articleResource->getOneByNumber($articleData['mainDetail']['number']);
$articleResource->update($article['id'], $articleData);

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [5. März 2018 um 11:45 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/15 "2018-03-05T11:45:13Z")

</div>

Naja ab 5.4 ist instock ja Teil der mainDetails - wahrscheinlich wird der bei dir garnicht mehr richtig bei einem Import gesetzt.

---

<div class="post-metadata">

**Author:** ![rreimche](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@rreimche](https://forum.shopware.com/u/rreimche)\
**Post date:** [5. März 2018 um 12:13 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/16 "2018-03-05T12:13:59Z")

</div>

> [@Moritz Naczenski schrieb:](https://forum.shopware.com/profile/14574/Moritz%20Naczenski "Moritz%20Naczenski")
> 
> Naja ab 5.4 ist instock ja Teil der mainDetails - wahrscheinlich wird der bei dir garnicht mehr richtig bei einem Import gesetzt.

Doch, ich wette inStock für mainDetails, wie man im Code sieht.

---

<div class="post-metadata">

**Author:** ![hsoebbing](https://avatars.discourse-cdn.com/v4/letter/h/898d66/32.png) [@hsoebbing](https://forum.shopware.com/u/hsoebbing)\
**Post date:** [5. März 2018 um 13:55 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/17 "2018-03-05T13:55:42Z")

</div>

Hi @rreimche‍!

Kannst Du vielleicht mal testweise&nbsp;ein JSON für die Erzeugung eines Artikels (per PN oder so) schicken? Dann schau ich mir das gern mal an.

Allgemein gilt: Seid 5.4 sollte das lastStock-Flag für alle Varianten gesetzt werden. Wir emulieren zwar das alte Verhalten (sprich: Wird das Flag nur an der Hauptvariante gesetzt, dann übernehmen wir das für alle anderen Varianten), aber das wird in Zukunft irgendwann wieder ausgebaut werden.

---

<div class="post-metadata">

**Author:** ![blueamerican](https://avatars.discourse-cdn.com/v4/letter/b/34f0e0/32.png) [@blueamerican](https://forum.shopware.com/u/blueamerican)\
**Post date:** [18. April 2018 um 06:44 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/18 "2018-04-18T06:44:55Z")

</div>

mich würde auch interessieren, ob es eine Möglichkeit gibt, die Abverkauf checkbox für die Varianten über das Backend zu setzen.  
Bisher habe ich auch die Möglichkeit, das direkt in der Datenbank in s\_articles\_details zu machen

---

<div class="post-metadata">

**Author:** ![niklask](https://avatars.discourse-cdn.com/v4/letter/n/5f8ce5/32.png) [@niklask](https://forum.shopware.com/u/niklask)\
**Post date:** [2. Mai 2020 um 15:23 UTC](https://forum.shopware.com/t/abverkauf-fur-alle-artikeln-erzwingen/51322/19 "2020-05-02T15:23:50Z")

</div>

Hallo,&nbsp;

ich habe ein ähnliches Problem. Ich möchte bei einer gewissen Anzahl von Artikeln den Hacken bei „Artikel bei Bestand \<=0 nicht bestellbar“ löschen. Sprich das diese auch ohne Lagerbestand gekauft werden können. Kann ich dies über die Mehrfachänderung durchführen?&nbsp;

Und wenn ja wie genau muss ich vorgehen?&nbsp;
