Inhalte aufrufen

Profilbild

Order Number Formatter


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
29 Antworten zu diesem Thema

#1 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 06 November 2013 - 15:42

Kann mir das mal jemand erklären?

Unter Auftragseinstellungen gebe ich ja eine Bestellnummer an, die gleichzeitig auch die Auftragsnummer ist.
Was kann ich jetzt mit dem Order Number Formatter anstellen? Das liest sich ja ganz toll, ich versteh es aber nicht so richtig, wäre super, wenn mal jemand ein Beispiel hätte.

Grüße

Christian

CS BikeWear


#2 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 06 November 2013 - 17:04

Im Infotext oben steht ja:

Standardmäßig ist die fortlaufende, nummerische Auftrags-ID gleichzeitig die Auftragsnummer. Mit Hilfe dieses Plugins aber können Sie ein benutzerdefiniertes Muster erstellen, das Ihren Bedürfnissen entspricht. Beachten Sie bitte dabei, dass sich das Muster nur auf neue Bestellungen auswirkt und einmal erzeugte - formatierte - Auftragsnummern nicht mehr verändert werden können.


Beispiel: Das Muster %d-%id erzeugt bspw. die Nummer 20131106-00012. Das unterstrichene ist die tatsächliche nummerische Auftrags-ID, die drei Nullen davor sind Führungszeichen (es sind deshalb genau 3, weil in diesem Beispiel der Wert für ID-Mindestlänge '5' ist.)

Ich hatte mir so viel Mühe bei den Hilfetexten gegeben ;) Einfach mal auf die Fragezeichen gehen, da steht alles, was du wissen musst.

Murat Cakir
SmartStore AG


#3 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 06 November 2013 - 17:10

Mich irritiert nur, dass die Bestellnummer (die der Auftragsnummer entspricht) nirgends erwähnt wird, oder ist die Bestellnummer "die fortlaufende, nummerische Auftrags-ID"?

Und was mache ich, wenn die bisherige Auftragsnummer so lautet: 20130171? das 2013 bekomme ich nicht weg, da die Nummer ja größer ist. Wie Kann ich die bisherige Auftragsnummer zurücksetzen?

Bearbeitet von Chris_tian, 06 November 2013 - 17:58,

CS BikeWear


#4 winkler

winkler

    V.I.P

  • Members
  • 2898 Beiträge

Geschrieben: 06 November 2013 - 18:17

Hallo

Wie Kann ich die bisherige Auftragsnummer zurücksetzen?

Das würde mich auch brennend interessieren :)

Ciao, Micha
Smartstore NET
ESET Endpoint Antivirus

Adobe CC
www.winkimedia.de

Shopbetreuung: www.schmiede24.com

 


#5 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 06 November 2013 - 18:51

Hallo

Das würde mich auch brennend interessieren :)


Ich befürchte ich weiß die Antwort, aber ich lass es mal drauf ankommen.

CS BikeWear


#6 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 06 November 2013 - 19:20

Den ID-Zähler unter Konfiguration > Auftrags-Einstellungen kann man leider nicht zurücksetzen.

Ich bin auch etwas verwirrt, weil ich die Problematik nicht ganz verstanden habe :confused:

Murat Cakir
SmartStore AG


#7 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 06 November 2013 - 20:28

Den ID-Zähler unter Konfiguration > Auftrags-Einstellungen kann man leider nicht zurücksetzen.

Ich bin auch etwas verwirrt, weil ich die Problematik nicht ganz verstanden habe :confused:


Wenn ich nun den Order Number Formatter(ONF) verwenden würde, würde meine Bestellnummer z.B. so aussehen:
CSB-20130111-20130171 (Shopkürzel-Datum-Bestellnummer mit Jahresangabe, da das vorher nicht anders möglich war)
Ich hätte lieber die Bestellnummer fortlaufend von 0 ab und das Datum wie vom ONF eingefügt dies ist aber nicht mehr möglich, da man die Nummer ja nicht zurücksetzen kann (das muss doch irgendwie gehen).

CS BikeWear


#8 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 07 November 2013 - 01:36

Der SQL-Befehl, der den datenbankseitigen Ident-Zähler zurücksetzt, ist folgender:

DBCC CHECKIDENT ([Order], RESEED, 0)

Der dritte Parameter 0 ist der neue Startwert, kann also auch irgend ein anderer nummerischer Wert sein.

Wenn man das jetzt gegen die Datenbank schleudert, sollte die Order-Tabelle LEER sein, sie muss es aber nicht. Aber: wenn in Zukunft die DB einen neuen Order-Datensatz erzeugt, dabei den Zähler inkrementiert, aber feststellt, dass bereits ein Datensatz mit dieser ID existiert, wird sie einen Fehler erzeugen und nix geht mehr. Dann steckst du erstmal fest!

Ich übernehme absolut keine Verantwortung für gar nichts ;) das hier ist Low-Level Kram. Also, erstmal Backup machen...

Und wenn einer nicht weiß, wie er den Befehl abzusetzen hat, der sollte gleich die Finger davon lassen.

Murat Cakir
SmartStore AG


#9 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 07 November 2013 - 07:37

Der SQL-Befehl, der den datenbankseitigen Ident-Zähler zurücksetzt, ist folgender:

DBCC CHECKIDENT ([Order], RESEED, 0)

Der dritte Parameter 0 ist der neue Startwert, kann also auch irgend ein anderer nummerischer Wert sein.

Wenn man das jetzt gegen die Datenbank schleudert, sollte die Order-Tabelle LEER sein, sie muss es aber nicht. Aber: wenn in Zukunft die DB einen neuen Order-Datensatz erzeugt, dabei den Zähler inkrementiert, aber feststellt, dass bereits ein Datensatz mit dieser ID existiert, wird sie einen Fehler erzeugen und nix geht mehr. Dann steckst du erstmal fest!

Ich übernehme absolut keine Verantwortung für gar nichts ;) das hier ist Low-Level Kram. Also, erstmal Backup machen...

Und wenn einer nicht weiß, wie er den Befehl abzusetzen hat, der sollte gleich die Finger davon lassen.


Also würde das rein theoretisch erst Probleme machen, wenn ich wieder über die Bestellnummer 20130001 komme die es bereits gegeben hat? Was würde passieren, wenn ich mit dem ONF etwas voransetze? Bekomme ich dann bei z.B. C-20130001 auch Probleme oder wird das als eigenständiger Nummernkreis behandelt?

CS BikeWear


#10 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 07 November 2013 - 18:44

Also würde das rein theoretisch erst Probleme machen, wenn ich wieder über die Bestellnummer 20130001 komme die es bereits gegeben hat?


Korrekt.

Was würde passieren, wenn ich mit dem ONF etwas voransetze? Bekomme ich dann bei z.B. C-20130001 auch Probleme oder wird das als eigenständiger Nummernkreis behandelt?


Kein Problem. Relevant ist nur die nummerische ID, die mit %id angegeben wird. Was du voran- oder nachsetzt ist nur Beiwerk und hat nichts mit der Datenintegrität zu tun.

Murat Cakir
SmartStore AG


#11 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 07 November 2013 - 19:29

Korrekt.



Kein Problem. Relevant ist nur die nummerische ID, die mit %id angegeben wird. Was du voran- oder nachsetzt ist nur Beiwerk und hat nichts mit der Datenintegrität zu tun.


Nur zum Verständnis (ich saß den Ganzen Tag am .NET Shop, mein Kopf dampft):
Ich setze die Aktuelle Auftragsnummer [Bestellnummer unter Auftrags Einstellungen aktuell 20130172] mit dem SQL-Befehl zurück. Dann Formatiere ich mit dem ONF wie oben beschrieben die Nummer neu, dass funktioniert dann ohne Probleme, weil durch die Formattierte Auftragsnummer ein neuer Kreis entsteht?

*EDIT* Eventuell können wir es kürzer machen, ich gehe davon aus, dass wir evtl. aneinander vorbeigeredet haben. Wird die Nummer die ich unter Auftragseinstellungen->Bestellnummer ignoriert, wenn ich den ONF verwende, oder wird diese Nummer eingesetzt?

Bearbeitet von Chris_tian, 07 November 2013 - 19:36,
addon

CS BikeWear


#12 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 07 November 2013 - 20:17

Eventuell können wir es kürzer machen, ich gehe davon aus, dass wir evtl. aneinander vorbeigeredet haben. Wird die Nummer die ich unter Auftragseinstellungen->Bestellnummer ignoriert, wenn ich den ONF verwende, oder wird diese Nummer eingesetzt?


Ah, ok... Nein, sie wird NICHT ignoriert. Sie wird weiterhin verwendet, und zwar genau da, wo %id als Platzhalter eingesetzt wird. Es ist also der selbe Nummernkreis, nur anders formatiert halt.

Um jetzt also - wie in deinem Fall - eine formatierte Nummer in der Form C-20130001 zu erhalten, müsstest du folgende Einstellungen vornehmen:

  • Format: C-%d%id
  • Datumsformat: yy (weil ja nur das aktuelle Jahr ausgegeben werden soll)
  • Mindestlänge: 4 (sonst stünde da 1 statt 0001)

Murat Cakir
SmartStore AG


#13 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 07 November 2013 - 21:05

Okay, ich glaube ich verstehe (so langsam).

Ich wollte die Auftragsnummer schon mit Jahresangabe UND Datum, vorher konnte ich ja nur das Jahr angeben.

Mein Wunsch war eigentlich, das 2013 aus der bisherigen Nummer rauszunehmen und mit dem ONF wieder von 0 anzufangen. Das das nicht geht habe ich nun verstanden. Ich hätte aber noch folgende Fragen:
  • Ich formatiere meine Auftragsnummer jetzt wie folgt: C-Datum-Jahr-o179 (die letzten 4 Ziffern) was passiert bei Bestellung 10.000? Kann ich später noch sagen mach 5 Ziffern?
  • Wenn ich nun vorher die Bestellnummer von aktuell 20130179 auf z.B. 100000000 setze, dürfte ich ja ruhe haben oder? Mich stört eig. nur das 2013 das ich manuell eingefügt habe.
  • Kann ich für die verschiedenen Shops im Multishop System auch verschiedene Nummern erstellen? Es ging überwiegend um den Buchstaben am Anfang.

Danke für deine Ausdauer ;)

CS BikeWear


#14 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 07 November 2013 - 21:48

Ich formatiere meine Auftragsnummer jetzt wie folgt: C-Datum-Jahr-o179 (die letzten 4 Ziffern) was passiert bei Bestellung 10.000? Kann ich später noch sagen mach 5 Ziffern?


Musst du nicht, macht er automatisch. Heisst ja Mindestlänge. Aber du kannst das natürlich nachträglich auch ändern ohne Probleme.

Wenn ich nun vorher die Bestellnummer von aktuell 20130179 auf z.B. 100000000 setze, dürfte ich ja ruhe haben oder? Mich stört eig. nur das 2013 das ich manuell eingefügt habe.


Ja. Höher geht immer, niedriger nicht (nur noch über das besagte SQL-Skript).

Kann ich für die verschiedenen Shops im Multishop System auch verschiedene Nummern erstellen? Es ging überwiegend um den Buchstaben am Anfang.


Ja.

Murat Cakir
SmartStore AG


#15 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 07 November 2013 - 22:57

Dann wäre ja alles geklärt.

Vielen Dank nochmal!

CS BikeWear


#16 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 23 November 2013 - 14:42

Doch nicht, wenn ich nun umstelle auf 100000000 schaut meine Formattierte Nummer wie folgt aus:
CSB-20131123-100000273

ich hätte aber gerne CSB-20131123-0273

Wie kann ich das realisieren? Der ONF kam einfach zu spät.

Grüße
Christian

CS BikeWear


#17 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 23 November 2013 - 21:36

Wenn deine Startnr. 100000000 ist, ist 273 nunmal unmöglich.

ich hätte aber gerne CSB-20131123-0273


Mindestlänge: 4
Startnr.: z.B. 273 (aber nur mit SQL-Skript)

Murat Cakir
SmartStore AG


#18 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 23 November 2013 - 22:43

Und wenn man die Möglichkeit einbaut die ersten x Ziffern auszublenden? Es muss doch IRGENDWIE möglich sein KEINE 100 stellige Bestellnummer zu haben.
Ist zumindest nachvollziehbar was ich bezwecken will?

CS BikeWear


#19 Chris_tian

Chris_tian

    Senior Benutzer

  • Members
  • 1017 Beiträge

Geschrieben: 25 November 2013 - 15:06

Das Skript kann ich unter "Wartung" ausführen lassen?

CS BikeWear


#20 Atempause

Atempause

    Benutzer

  • Members
  • 432 Beiträge

Geschrieben: 25 November 2013 - 16:13

Moin Christian
bist du da weiter gekommen?
grüß
Neil