一意の番号付けを強制する

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:1分
  • 重複する番号はまれですが、デフォルトでは、番号付けの一意性が強制されることはありません。

    一意性を強制するために、次のことができます。
    • 挿入のみの事前のビジネスルールを作成して、重複する値をチェックし、重複する値を次に使用可能な番号に置き換えます。
    • テーブルで一意のインデックスを有効にします。詳細については、「テーブルインデックスの作成」を参照してください。
      注:
      一意のインデックスはデータの完全性を保証すると同時に、重複する番号を含む挿入を防ぎます。重複する番号により、データ入力時に予期しないエラーが発生する可能性があります。

    ビジネスルールのサンプル

    このサンプルスクリプトは、挿入のみの事前のビジネスルールの一部として使用し、重複する番号をチェックし、それらを次に使用可能な番号に置き換えます。次のスクリプトは、「テーブルのシステム番号の左側のパディングを構成する」で作成されたスクリプトを参照しています。

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