0

Führender Null zufügen

Liebe Community,

ich habe im Warenwirtschaft ein Feld Ean Barcode. Dieser soll 13 Stellen haben. Manche Lieferanten liefern allerding 12 stellige UPC, dann soll wenn ich den Wert eingeb, einen führender Null davor kommen automatisch. Geht das? Finde keinen Lösung. Das Feld muss Schreibbar und Scanbar sein. Sollte nicht kleine 12 oder größer 13 eingabe stattfinden.

Danke für Hilfe!

LG

5 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Burkay, ich gehe davon aus, dass der Barcode in einem Textfeld erfasst wird (unten 'UPCode' genannt). Dann könnte man in diesem Feld mit einem "Trigger nach Änderung" (zu finden in den erweiterten Optionen) die Länge überprüfen und ggf. eine "0" davor setzen:

    let myL := length(UPCode);
    if myL != 13 then
       UPCode := if myL = 12 then "0" + UPCode else "Error!" end
    end
    

    Ergebnis: Bei 13 Stellen passiert gar nichts, bei 12 wird eine führende "0" davor gesetzt und bei allen anderen Längen erscheint der Hinweis "Error!"

    • Burkay
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen lieben Dank! Das ist die Lösung.

    • Burkay
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Aber, da es auch UPCodes gibt mit 0 am Anfang, fehlen mir dann 2 am Anfang. Sprich wenn den Ausgangspunkt 11 zahlen hat, müssen 2 führende Null davor. Kann man das nicht format() lösen?

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Burkay 

      Okay, wenn generell alle kürzeren Strings mit führenden Nullen aufgefüllt werden sollen, genügt auch diese eine Zeile (anstelle der oberen):

      UPCode := lpad(UPCode, 13, "0")
      
      
      • Burkay
      • vor 2 Jahren
      • Gemeldet - anzeigen

      planox. pro Die Kombination ist es geworde. Danke nochmal!

      let myL := length('EAN Barcode');
      if myL < 11 then
          'EAN Barcode' := null
      else
          'EAN Barcode' := lpad('EAN Barcode', 13, "0")
      end