Enforcing unique numbering

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:2分
  • Although duplicate numbers are rare, numbering does not enforce uniqueness, by default.

    To enforce uniqueness, you can:
    • Create a before business rule on insert only to check for duplicate values and replace duplicates with the next available number.
    • Enable a unique index on the table. For more information, see Create a table index.
      注:
      While unique indexes ensure data integrity they also prevent any insert involving a duplicate number. This may cause unexpected errors during data entry.

    Sample business rule

    This sample script can be used as part of a before business rule on insert only to check for duplicate numbers and replace them with the next available number. The following script references a script created in Configure left padding of a system number in a table.

    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;
      }
    }