Freitextfelder für Kunden werden mit NULL gespeichert

Hallo,

ich möchte über ein Freitextfeld steuern, ob ein Kunde die Zahlungsart “Rechnung” nutzen darf. Zu diesem Zweck habe ich mir ein Check-Box Feld in der Freitextverwaltung für Kunden definiert. Prinzipiell funktioniert das auch. Probleme gibt es nun, sobald sich ein neuer Kunde registriert. Statt des eigentlich definierten Standardwertes 0, schreibt Shopware NULL in die Tabelle s_user_attributes, was dazu führt, das die hinterlegte Regel im Riskmanagement nicht greift. Ich verwende dazu die Regel "Kunden-Attribut IST NICHT attr|1", was ja bedeuten sollte, dass attr=0 oder attr=NULL zur Deaktivierung der Zahlungsart führt. Leider funktioniert dass nur, wenn man den Kundensatz im Backend einmal speichert. Dann steht nämlich plötzlich “0” im Freitextfeld und das Riskmanagement greift. Hat jemand eine Idee, wie man das lösen könnte?

Viele Grüße, Frank 

Hallo Frank,

Wollte das nach Update auf Shopware 5.6 ebenfalls gerne nutzen um die Zahlung auf Rechnung je nach Kunde freigeben zu können. Stoße dabei auf dasselbe Problem wie du es beschreibst. Der Fehler tritt zumindest nicht auf, wenn ich einen neuen Kunden manuell im Backend anlege. Hier wird 0 in die Datenbank geschrieben und die Regel greift.

Die Registrierung eines Neukunden im Backend stellt im Shopalltag natürlich eher die Ausnahme da. Die Regel sollte demnach unbedingt auch im Frontend greifen, was sie auch bei mir nicht tut.

Hat jemand hier im Forum das Riskmanagement mit einer auf Kundenattribute basierenden Regel erfolgreich im Einsatz?

 

 

Hallo Michael,

ich habe so dafür leider auch keine Lösung gefunden, sondern bin dazu übergegangen dass über Kundengruppen zu machen. Du legst eine weitere Kundengruppe (Rechnungszahler) an. Der Kunde muss sich zunächst über eine alternative Zahlungsart (z.b. Vorkasse) registrieren. Danach kannst Du die Kundengruppe im Backend auf “Rechnungszahler” ändern, wenn der Kunde diese Zahlungsart bekommen darf. Aufbauend auf diesem Prinzip, klappt es auch mit dem Riskmanagement.

Viele Grüße, Frank

Hallo Frank,

das ist auch eine gute Alternative. Habe zudem noch ein Support Ticket erstellt und Neuigkeiten zu dem Thema.

Laut Support ist das in der Tat ein Bug. Schnelle Abhilfe dank Vorschlag von Moritz: Die Zeile 1988 in ein “return true;” ändern: https://github.com/shopware/shopware/blob/5.6/engine/Shopware/Core/sAdmin.php#L1988

Moritz hat hierzu auch bereits ein Ticket aufgemacht: https://issues.shopware.com/issues/SW-25667

Viele Grüße
Michael

1 „Gefällt mir“