Kundennummer von Bestellung ändert sich bei Rechnungserstellung

Hallo zusammen,

ein Kunde hat das Problem, dass sich hin und wieder die Kundennummer einer Bestellung ändert, wenn er die Rechnung erzeugt. :eek:
Das Problem tritt willkürlich auf und ich konnte es nicht reproduzieren. Hat jemand von euch eine Idee wo es haken könnte oder vielleicht schonmal das gleiche Problem gehabt.

Besten Dank und viele Grüße
Markus

Habe ein ähnliches Phänomen, bin aber noch bei der Ursachenforschung :smiley:

Vorab: die Verknüpfung zwischen der Bestellung (Tabelle oxorder) und dem Kunden (oxuser) geschieht ja über das Feld oxuserid in oxorder und oxid in oxuser.

Das Phänomen sieht folgendermassen aus (in will nicht ‘bug’ schreiben - das sieht man hier nicht gerne :rolleyes: ):

  • wenn der Kunde den Shop besucht und sich anmeldet (ohne Passwort) erhält er eine oxid und Kundennummer. Auch eine Bestellung wird zugeordnet - kein Problem.
  • wenn er ein zweites mal den Shop besucht und sich ohne Passwort / gleiche Mailadresse anmeldet, erhält er eine neue Oxid und eine neue Kundenummer!
    -> die Zurdnung der ersten Bestellung zum Kunden ist jedoch weg!
    -> -> mir ist es aufgefallen als ich einen Kunden auf Boni-Index = 0 gesetzt habe, er aber dann ein zweites Mal bestellen konnte mit Default-Boni = 1000

ein Bug ?

@patchwor

Hast Du ein Boni-Modul im Einsatz?

[QUOTE=tarkka.ch;147409]@patchwor

Hast Du ein Boni-Modul im Einsatz?
[/QUOTE]

Nein
Jedoch werden die Bonis vom WaWi gesetzt: zB Lastschrift geplatzt -> Boni = 0 -> nur noch Vorkasse :rolleyes:

[QUOTE=patchwork.de;147410]Nein
Jedoch werden die Bonis vom WaWi gesetzt: zB Lastschrift geplatzt -> Boni = 0 -> nur noch Vorkasse :rolleyes:[/QUOTE]

Als wir unser Boni-Modul entwickelten hatten wir bei Kunden ohne Konto ein ähnliches Verhalten. Konnten unsere Programmierer aber lösen.

Am einfachsten testest Du es doch mal im Demoshop von OXID. Ist es da auch so, dann ist es ziemlich sicher ein Bug.

habs gerade im demoshop getestet (4.8.6):

  • Kunde bestellt ohne sich anzumelden
  • erhält Kundennummer (hier 7) und Bestellnummer (hier 7)
  • alles ok
  • Kunde bestellt ein zweites mal ohne sich anzumelden - gleiche eMail / Adresse etc.
  • erhält neue (!) Kundennummer (hier 8) und Bestellnummer (hier 8)

Fazit:

  • Kunde mit Kundennummer 7 gibt es nicht mehr im Admin-Bereich !!!
  • zu Bestellnummer 7 gibt es keine Kundennummer !!!
  • in der Historie von Kunde 8 steht nur eine Bestellung
  • etc. …

[QUOTE=patchwork.de;147406]
-> -> mir ist es aufgefallen als ich einen Kunden auf Boni-Index = 0 gesetzt habe, er aber dann ein zweites Mal bestellen konnte mit Default-Boni = 1000

ein Bug ?[/QUOTE]
Ist kein Bug, Gastbesteller -> neues Konto. Sonst könnte ja jeder mit irgendeiner E-Mail Adresse bestelllen mit den Konditionen die dieser Mailadresse zugeordnet wurden.
Dass die alte Kundennummer dabei verschwindet ist ein Bug: https://bugs.oxid-esales.com/view.php?id=5741
Aber da verschwindet die Kundennummer komplett.

@leofonic
sehe ich anders

[QUOTE=leofonic;147423] Gastbesteller -> neues Konto. Sonst könnte ja jeder mit irgendeiner E-Mail Adresse bestelllen mit den Konditionen die dieser Mailadresse zugeordnet wurden.
[/QUOTE]
spezielle Konditionen (zB Stammkunde = Kauf auf Rechnung) richte ich ja nur für angemeldete Kunden ein. Und auf die hat der Kunde nur mit Passwort Zugriff!

mE darf für eine neue Bestellung mit gleicher Mail-Adresse nicht einfach eine neue Kundennummer vergeben werden.

[QUOTE=patchwork.de;147425]
mE darf für eine neue Bestellung mit gleicher Mail-Adresse nicht einfach eine neue Kundennummer vergeben werden.[/QUOTE]

Ich meine dies war früher auch so, aber wurde vielleicht aus den Gründen die Frank anführt gehändert.

[QUOTE=patchwork.de;147425]
mE darf für eine neue Bestellung mit gleicher Mail-Adresse nicht einfach eine neue Kundennummer vergeben werden.[/QUOTE]
Ich denke auch dass man die Gastbestellungen einer E-Mail Adresse zusammenfassen könnte, Oxid sieht das anders: https://bugs.oxid-esales.com/view.php?id=3091

Müsste man also mit einem Modul lösen.

erst mal muss der Bug (s. Beitrag #7) weg - mal schauen ob ich das mit einem Modul abfangen kann.

Das sollte relativ leicht gehen. Ansatz wäre hier wohl folgende Stelle:

user_checkout_noregistration.tpl

[{if !$oxcmp_user->oxuser__oxpassword->value [B]&& xxx[/B]}]
<input type=“hidden” name=“fnc” value=“createuser”>
[{else}]
<input type=“hidden” name=“fnc” value=“changeuser”>
<input type=“hidden” name=“lgn_cook” value=“0”>
[{/if}]

Hier einfach bei [B]&& xxx[/B] eine Abfrage in der Art hinzufügen: Wenn E-Mail in Datenbank-> changeuser…siehe oxuser.php->checkIfEmailExists( $sEmail )

kann man so machen - ist aber aufwändig …
wahrscheinlich werde ich auch nicht angemeldeten Usern einfach ein Dummy-Passwort verpassen …

Überhaupt nicht. Aber jeder so, wie er mag…:wink:

Hab hier gerade das selbe Problem bei einem Kunden.

Die Lösung mit dem Ändern des Forms geht nicht da changeuser auch passwort braucht.

Man kommt nicht drumherum hier ein Modul zu schrieben.

Oder hat jemand doch noch einen Lösung die einfacher ist?

In diesem Thread gibt es aber mehrere Probleme und mehrere Lösungsansätze …