Fortlaufende Nummer abhängig vom Mehrfachauswahlfeld
Hallo Zusammen,
habe folgenden Code per Trigger auf einem Auswahlfeld:
let my := number(this.Nr);
let myZ := number(substr(last(((select Artikel) order by number(Nr)).Artikelnummer), 5, 4)) + 1;
Jetzt möchte ich aber je nach dem Text des Mehfachfelds den Buchstaben vor der Nummer ändern lassen.
z.B Auswahlfeld = Damen soll die Artikelnummer D0001 lauten, bei Herren dann H 0001 usw.
Habe schon mit if then probiert, bekomme es aber nicht so richtig hin.
Hat jemand eine Idee?
Gruß
Thomas
4 Antworten
-
Hallo Thomas,
let my := number(this.Nr);
let myB := switch Mehrfachfeld do
case 1:
"D"
case 2:
"H"
end;let myZ := myB + number(substr(last(((select Artikel) order by number(Nr)).Artikelnummer), 5, 4)) + 1;
So etwa?
lg, Torsten
-
Hallo Torsten,
danke erstmal...hatte vorher an meinem Code was vergessenzu posten. Derzeit sieht er wie folgt aus.
let my := number(this.Nr);
let myB := switch Kategorie do
case 1:
"D"
case 2:
"H"
case 3:
"M"
end;
let myZ := number(substr(last(((select Artikel) order by number(Nr)).Artikelnummer), 3, 4)) + 1;
Artikelnummer := myB + " " + format(myZ, "0000")Ich bekomme jetzt die richtigen Buchstaben vor den Artikelnummen angezeigt. Kennst du noch eine Möglichkeit, dass die fortlaufende Zahl pro Buchstaben sich fortsetzt.
Gruß
Thomas
-
Hallo Thomas,
im Prinzip könntest Du für myZ eine gleichlautende switch-case-Funktion durchlaufen und dort die select-Anweisung um z.B. '[contains(Artikelnummer,"D")]' erweitern.
Für den Code bin ich im Trockenen aber nicht sattelfest genug, daher ohne Gewähr:
let my := number(this.Nr);
let myB := switch Kategorie do
case 1:
"D"
case 2:
"H"
case 3:
"M"
end;
let myZ := switch Kategorie do
case 1:
number(substr(last(((select Artikel) [contains(Artikelnummer,"D")] order by number(Nr)).Artikelnummer), 3, 4)) + 1
case 2:
number(substr(last(((select Artikel) [contains(Artikelnummer,"H")] order by number(Nr)).Artikelnummer), 3, 4)) + 1
case 3:
number(substr(last(((select Artikel) [contains(Artikelnummer,"M")] order by number(Nr)).Artikelnummer), 3, 4)) + 1
end;
Artikelnummer := myB + " " + format(myZ, "0000")
... ich tu mir generell schwer damit, wo die Bedingung hinkommt - normalerweise gehe ich am Objekt per try-and-error vor... ;-)
lg, Torsten
-
Hallo Torsten,
volltreffer.......funktioniert einwandfrei, danke
Gruß
Thomas
Content aside
- vor 5 JahrenZuletzt aktiv
- 4Antworten
- 1353Ansichten