Eindeutige Nummerierung erzwingen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Obwohl doppelte Nummern selten sind, erzwingt die Nummerierung standardmäßig keine Eindeutigkeit.

    Um die Eindeutigkeit zu erzwingen, können Sie:
    • Erstellen Sie eine Vor-Business Rule nur beim Einfügen, um nach doppelten Werten zu suchen und Duplikate durch die nächste verfügbare Nummer zu ersetzen.
    • Aktivieren Sie einen eindeutigen Index für die Tabelle.
    Hinweis:
    Eindeutige Indizes stellen zwar die Datenintegrität sicher, verhindern jedoch auch das Einfügen einer doppelten Nummer. Dies kann zu unerwarteten Fehlern während der Dateneingabe führen.

    Beispiel für eine Geschäftsregel

    Dieses Beispielskript kann als Teil einer Vor-Business Rule beim Einfügen nur verwendet werden, um nach doppelten Nummern zu suchen und sie durch die nächste verfügbare Nummer zu ersetzen. Das folgende Skript verweist auf ein in Konfigurieren Sie die linke Auffüllung einer Systemnummer in einer Tabelleerstelltes Skript.

    var curNum = current.number + '';
     
    if(curNum) {
     
      var recordClass = current.getRecordClassName();
      var now_GR = new GlideRecord(recordClass);
      now_GR.addQuery('number', curNum);
      now_GR.setLimit(1);  
      now_GR.query();
     
      if(now_GR.getRowCount() > 0) {
        var newNum = getNextObjNumberPadded();
        gs.addInfoMessage("The number " + current.number + " was already used by another " +
         recordClass + ". The " + recordClass + " number has been changed to " + newNum);
        current.number = newNum;
      }
    }