IMetabase.GenerateId

Синтаксис

GenerateId(Value: String; [Namespace_: Integer = 0]): String;

GenerateId(Value: string; Namespace_: uinteger): string;

Параметры

Value. Желаемый идентификатор;

Namespace. Ключ объекта-контейнера, в рамках пространства имен которого, генерируется идентификатор.

Описание

Метод GenerateId генерирует уникальный идентификатор в рамках текущей базы метаданных (репозитория). Входной параметр Value является желаемым идентификатором.

В случае, если в текущем репозитории нет объекта, идентификатор которого бы совпадал со значением параметра Value, то результатом работы метода будет значение, в точности совпадающее со значением входного параметра Value.

Если объект уже существует, то результат будет содержать измененное значение параметра Value, в частности: в конец исходной строки будет добавляться число (от 1 до 28726) до тех пор, пока результат не станет уникальным. В случае, если такой идентификатор получить не удалось, то метод вернет пустую строку.

Значение параметра Value Существующие в репозитории идентификатор(ы) Результат выполнения метода
Ident - Ident
Ident Ident Ident1
Ident Ident
Ident1
Ident2
Ident11

Пример

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    s: String;
Begin
    MB := MetabaseClass.Active;
    s := MB.GenerateId("obj123");
End Sub UserProc;
Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    s: String;
Begin
    MB := Params.Metabase;
    s := MB.GenerateId("obj123"0);
End Sub;

После выполнения примера в переменной «s» будет храниться сгенерированный идентификатор.

См. также:

IMetabase