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 docase 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 docase 1:"D"case 2:"H"case 3:"M"end;let myZ := switch Kategorie docase 1:number(substr(last(((select Artikel) [contains(Artikelnummer,"D")] order by number(Nr)).Artikelnummer), 3, 4)) + 1case 2:number(substr(last(((select Artikel) [contains(Artikelnummer,"H")] order by number(Nr)).Artikelnummer), 3, 4)) + 1case 3:number(substr(last(((select Artikel) [contains(Artikelnummer,"M")] order by number(Nr)).Artikelnummer), 3, 4)) + 1end;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 6 JahrenZuletzt aktiv
- 4Antworten
- 1355Ansichten
