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
