Version: 6.4.11.1 Varianten können nicht mehr generiert werden - 0 von X varianten berechnet - Dringend

Unter Varianten generieren - Ausprägungsauswahl - Button Varianten generieren
siehe Bild

passiert beim anklicken des Butoons folgendes
siehe Bild

Dieser Zustand bleibt unendlich so stehen.

Öffne Mal die Browser Entwicklerkonsole (meist mit Hilfe der F12) und Guck Mal, ob in der Console oder im Network Tab ein Fehler Auftritt.

Was liefert denn der Request, wenn du auf generieren klickst?

vg

da steht eine ganze Menge drinnen.
ich kopiere es gleich mal
Was meinst du mit " Was liefert denn der Request, wenn du auf generieren klickst? "

Content Security Policy: Ignorieren von „‚unsafe-inline‘“ innerhalb script-src: ‚strict-dynamic‘ angegeben

Content Security Policy: Ignorieren von „https:“ innerhalb script-src: ‚strict-dynamic‘ angegeben

Content Security Policy: Ignorieren von „http:“ innerhalb script-src: ‚strict-dynamic‘ angegeben

An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function

filterEmptyValues index.js:157

mountedComponent index.js:91

mounted index.js:86

VueJS 12

index.js:29:16

Uncaught (in promise) TypeError: (intermediate value).map is not a function

value sw-products-variants-generator.js:269

value sw-products-variants-generator.js:244

value sw-products-variants-generator.js:75

value sw-products-variants-generator.js:41

6 sw-products-variants-generator.js:269:52

An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function

filterEmptyValues index.js:157

mountedComponent index.js:91

mounted index.js:86

VueJS 12

index.js:29:16

An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function

filterEmptyValues index.js:157

mountedComponent index.js:91

mounted index.js:86

VueJS 12

index.js:29:16

Uncaught (in promise) TypeError: (intermediate value).map is not a function

value sw-products-variants-generator.js:269

value sw-products-variants-generator.js:244

value sw-products-variants-generator.js:75

value sw-products-variants-generator.js:41

6 sw-products-variants-generator.js:269:52

Uncaught (in promise) Error: Request failed with status code 503

exports createError.js:16

exports settle.js:17

y xhr.js:54

createError.js:16:14

Uncaught (in promise) TypeError: (intermediate value).map is not a function

value sw-products-variants-generator.js:269

value sw-products-variants-generator.js:244

value sw-products-variants-generator.js:75

value sw-products-variants-generator.js:41

sw-products-variants-generator.js:269:52

Uncaught (in promise) TypeError: e.config is undefined

u http.factory.js:82

2 http.factory.js:82:35

TypeError: t.response is undefined

b590b6de-fdaa-4e00-a57f-fd0c0af86a84:1:43758

Uncaught (in promise) TypeError: (intermediate value).map is not a function

value sw-products-variants-generator.js:269

value sw-products-variants-generator.js:244

value sw-products-variants-generator.js:75

value sw-products-variants-generator.js:41

sw-products-variants-generator.js:269:52

An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function

filterEmptyValues index.js:157

mountedComponent index.js:91

mounted index.js:86

VueJS 12

index.js:29:16

Uncaught (in promise) TypeError: (intermediate value).map is not a function

value sw-products-variants-generator.js:269

value sw-products-variants-generator.js:244

value sw-products-variants-generator.js:75

value sw-products-variants-generator.js:41

Hallo,

ich habe ein ähnliches Problem, allerdings mit der Shopware-Version 6.4.9.0.
Ich bekomme bei Klick auf „Ausprägungsausschluss“ die Fehlermeldung:

An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function
    at a.filterEmptyValues (app.js?16474120736423139:1:5137951)
    at a.mountedComponent (app.js?16474120736423139:1:5136981)
    at a.mounted (app.js?16474120736423139:1:5136908)
    at Ge (vendors-node.js?16474120731570027:2:691220)
    at ln (vendors-node.js?16474120731570027:2:705225)
    at Object.insert (vendors-node.js?16474120731570027:2:700300)
    at C (vendors-node.js?16474120731570027:2:740343)
    at a.__patch__ (vendors-node.js?16474120731570027:2:741701)
    at a.e._update (vendors-node.js?16474120731570027:2:714303)
    at a.i (vendors-node.js?16474120731570027:2:748365)

Bei Klick auf „Varianten generieren“ bekomme ich dann die Fehlermeldung:

app.js?16474120736423139:1 Uncaught (in promise) TypeError: (this.product.variantRestrictions || []).map is not a function
    at n.value (app.js?16474120736423139:1:5110044)
    at app.js?16474120736423139:1:5109743
    at new Promise (<anonymous>)
    at n.value (app.js?16474120736423139:1:5108271)
    at app.js?16474120736423139:1:5107730

Ich habe auch bereits einmal in die Datenbank geschaut und ich konnte feststellen, in dem besagten Feld wird dann ein leeres Array ( „“ - ist schließlich ein JSON) eingetragen. Bei anderen Artikeln ist da der Standardwert „NULL“. Hat das möglicherweise damit zu tun?

Hallo, auch ich kann keine Varianten mehr erzeugen.
Betrifft auch die 6.4.11.1
Gibt es schon Neuigkeiten dazu?

Uncaught (in promise) TypeError: (this.product.variantRestrictions || ).map is not a function
at n.value (sw-products-variants-generator.js:269:53)
at sw-products-variants-generator.js:244:46
at new Promise ()
at n.value (sw-products-variants-generator.js:75:16)
at sw-products-variants-generator.js:41:22

index.js:29 An error was captured in current module: TypeError: this.product.variantRestrictions.filter is not a function
at a.filterEmptyValues (index.js:157:81)
at a.mountedComponent (index.js:91:18)
at a.mounted (index.js:86:14)
at Ge (vue.esm.js:1872:57)
at ln (vue.esm.js:4244:7)
at Object.insert (vue.esm.js:3167:7)
at C (vue.esm.js:6401:28)
at a.patch (vue.esm.js:6620:5)
at e._update (vue.esm.js:3972:19)
at a.i (vue.esm.js:4090:10)
errorCaptured @ index.js:29

sw-products-variants-generator.js:269 Uncaught (in promise) TypeError: (this.product.variantRestrictions || ).map is not a function at n.value (sw-products-variants-generator.js:269:53) at sw-products-variants-generator.js:244:46 at new Promise () at n.value (sw-products-variants-generator.js:75:16) at sw-products-variants-generator.js:41:22

||value|@|sw-products-variants-generator.js:269|
| — | — | — | — |
||(anonym)|@|sw-products-variants-generator.js:244|
||value|@|sw-products-variants-generator.js:75|
||(anonym)|@|sw-products-variants-generator.js:41|
||Promise.then (async)|||
||(anonym)|@|sw-products-variants-generator.js:42|
||Promise.then (async)|||
||(anonym)|@|sw-products-variants-generator.js:39|
||value|@|sw-products-variants-generator.js:23|
||generateVariants|@|index.js:104|
||click|@|VM402:3|
||Ge|@|vue.esm.js:1872|
||n|@|vue.esm.js:2197|
||o._wrapper|@|vue.esm.js:7609|

Ich hoffe es kann damit jemand etwas anfangen.

Gruß Sebastian

Kann sich das Problem bitte jemand aus dem Moderatoren-Team ansehen?
Vieleicht hat jemand eine Idee

Nachtrag:
Es handelt sich bei uns um sehr viele Kombinationen pro Artikel.
Im Moment sind es 990.
Der Auszug aus der error.log zeigt immer den selben Fehler.
Er besteht aus zwei Zeilen. Ich nehme an die stehen für die jeweils nicht generierten Artikelvariante.
Anbei ein Bild.
Ich hoffe es findet sich eine Lösung.

Scheint, dass die Ausschlusskriterien kein Array liefern. Mal die Option geöffnet, modifiziert und wieder gespeichert?

Hi @Max_Shop,

die variantRestrictions liefern kein Array. Das Problem ist dabei scheinbar aber der Abruf der Restrictions über die API. Indessen habe ich die PHP Version von 8.0 auf die Version 7.4 herabgesetzt.
Ich habe da nun keine Probleme mehr :slight_smile:

Moin!
Ich habe jetzt das gleiche Problem mit der Version 6.4.17.0.
Das heruntersetzen der PHP-Version kann ja nun nicht wirklich eine Lösung sein.
Kann sich das mal jemand von Shopware anschauen?

Der Fehler liegt in der src/module/sw-product/component/sw-product-variants/sw-product-variants-configurator/sw-product-variants-configurator-restrictions/index.js in Zeile 154.
Die Prüfung

if (!this.product.variantRestrictions) {
    return false;
}

ergibt hier gar kein Sinn, da das immer eine Proxy-Klasse, auch wenn sie keine Objekte in sich trägt.

Ich habe die Lösung gefunden: Aus irgendeinem Grund stand bei dem Artikel in der Datenbank in der Tabelle products in der Spalte variant_restrictions ein leeres Array. Dieses Feld muss mit null ersetzt werden und dann lassen sich neue Ausnahmen hinzufügen und die Varianten sich wieder generieren.

Die stehen bei mir auch drin. Nun habe ich beim Vater das Feld mit NULL gefüllt.

Aberdennoch kann ich keine weiteren generieren!

Habe dazu auch dies gefunden und auch schon gevotet und meinen Fehler geschrieben.

Kann wer mehr dazu sagen?

Also konnte es auch lösen.

Es muss beim Vater und auch bei den Varianten jeweils unter „variant_restrictions“ ein NULL rein.

Gerade noch mitbekommen. Ich konnte zwar von vorher schon ausgewählten Eigenschaften Werte nun als Varianten hinzufügen.

Aber leider kann ich keine neue Eigenschaft hinzufügen um dann aus den beiden Eigenschaften Varianten zu generieren!

Weiß jemand wie man da die DB noch modifizieren muss oder den Fehler findet?

Das Problem besteht nun seit über zwei Jahren! Es kann doch nicht sein, dass die Behebung solch eines essentiellen Problems nur von der Anzahl der Votes im Issue-Tracker abhängt.

Es gibt auch bereits seit 2021 einen Bug-Eintrag auf github:

Wo liegen denn bitte bei Shopware die Prioritäten? Schön, dass sich um diverse Dinge wie die Begrüßung im Admin-Bereich gekümmert, aber das eigentliche Produkt nicht gefixt wird :person_facepalming:

Für alle, die es eventuell im Issue-Tracker übersehen haben: Man kann per

UPDATE product SET variant_restrictions= NULL WHERE variant_restrictions = '[]'

die Datenbank bereinigen (nicht meine Erkenntnis, Kudos und Dank an André Buchmann), aber das kann es ja nicht sein! Ausführung des Queries natürlich auf eigene Gefahr :wink:

Grummelnder Gruß,
devnullroot

Bei mir lag es an einem Browser ad blocker