IMetabaseUpdateDataObjectNode.IsIdentity

Синтаксис Fore

IsIdentity: Boolean;

Синтаксис Fore.NET

IsIdentity: Boolean;

Описание

Свойство IsIdentity определяет, будут ли корректно обновлены данные в таблице, у которой есть поле Identity.

Комментарии

По умолчанию свойство имеет значение False и при попытке обновить таблицу с полем Identity будет сгенерирована ошибка. Для корректного обновления таблицы, имеющей поле Identity, установите свойству значение True. Если таблица не имеет поля Identity, то свойству IsIdentity обязательно должно быть установлено значение False.

Настройка актуальна только для таблиц и табличных справочников НСИ.

При работе с обновлением через менеджер обновлений свойство устанавливается автоматически.

Пример Fore

Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором «Table_1», у которой есть поле Identity. Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    Mb: IMetabase;
    MBDesc: IMetabaseObjectDescriptor;
    MUpdate: IMetabaseUpdate;
    ObjNode: IMetabaseUpdateDataObjectNode;
Begin
    Mb := MetabaseClass.Active;
    MBDesc := MB.ItemById("Table_1");
    MUpdate := MB.CreateUpdate;
    ObjNode := MUpdate.RootFolder.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
    ObjNode.Label := MBDesc.Id;
    ObjNode.Method := MetabaseUpdateMethod.All;
    ObjNode.Object := MBDesc;
    ObjNode.BatchMode := ObjectUpdateDataBatchMode.UpdateInsert;
    ObjNode.IsIdentity := True;
    MUpdate.SaveToFileNF("c:\Update.pefx");
End Sub UserProc;

После выполнения примера будет создан файл обновления. При установке данного обновления  будут корректно обновлены данные в таблице.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MBDesc: IMetabaseObjectDescriptor;
    MUpdate: IMetabaseUpdate;
    ObjNode: IMetabaseUpdateDataObjectNode;
Begin
    Mb := Params.Metabase;
    MBDesc := MB.ItemById["Table_1"];
    MUpdate := MB.CreateUpdate();
    ObjNode := MUpdate.RootFolder.Add(MetabaseUpdateNodeType.untDataObject) As IMetabaseUpdateDataObjectNode;
    ObjNode.Label := MBDesc.Id;
    ObjNode.Method := MetabaseUpdateMethod.mumAll;
    ObjNode.Object := MBDesc;
    ObjNode.BatchMode := ObjectUpdateDataBatchMode.obupdabamoUpdateInsert;
    ObjNode.IsIdentity := True;
    MUpdate.SaveToFileNF("c:\Update.pefx");
End Sub;

После выполнения примера будет создан файл обновления. При установке данного обновления будут корректно обновлены данные в таблице.

См. также:

IMetabaseUpdateDataObjectNode