IMetabaseUpdate.PriorDataLinkDependentsClear

Синтаксис Fore

PriorDataLinkDependentsClear: Boolean;

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

PriorDataLinkDependentsClear: boolean;

Описание

Свойство PriorDataLinkDependentsClear определяет, используется ли предварительная очистка объектов, зависимых по содержимому.

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории необходимо наличие двух таблиц с идентификаторами «TABLE_A» и «TABLE_B». Одно из полей таблицы «TABLE_A» должно являться внешним ключом любого поля таблицы «TABLE_B».

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

Sub UserProc;
Var
    MB: IMetabase;
    Update: IMetabaseUpdate;
    Root: IMetabaseUpdateFolderNode;
    TableObj: IMetabaseUpdateDataObjectNode;
    TableAsKeyObj: IMetabaseUpdateDataObjectNode;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Создадим обновление
    Update := MB.CreateUpdate;
    // Получим объект, содержащий структуру обновления
    Root := Update.RootFolder;
    // Добавим в обновление таблицу с идентификатором «TABLE_A»
    TableObj := Root.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
    TableObj.Object := MB.ItemById("TABLE_A");
    // Будем обновлять данные и метаданные таблицы
    TableObj.Method := MetabaseUpdateMethod.All;
    // Включим пересоздание объекта при обновлении
    TableObj.AlterType := MetabaseObjectAlterType.Recreate;
    // Добавим в обновление таблицу с идентификатором «TABLE_B»
    TableAsKeyObj := Root.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
    TableAsKeyObj.Object := MB.ItemById("TABLE_B");
    // Будем обновлять данные и метаданные таблицы
    TableAsKeyObj.Method := MetabaseUpdateMethod.All;
    // Отсортируем добавленные объекты
    Root.Sort(UpdateSortMode.ByDepends);
    // Включим пересоздание объекта при обновлении
    TableAsKeyObj.AlterType := MetabaseObjectAlterType.Recreate;
    // Установим флажок «Пересоздавать таблицы»
    Update.AlterType(MetabaseObjectClass.KE_CLASS_TABLE) := MetabaseObjectAlterType.Recreate;
    // Применим предварительную очистку объектов, зависимых по содержимому
    Update.PriorDataLinkDependentsClear := True;
    // Сохраним обновление в файл
    Update.SaveToFileNF("C:\Update.pefx");
End Sub UserProc;

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

Пример Fore.NET

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Update: IMetabaseUpdate;
    Root: IMetabaseUpdateFolderNode;
    TableObj: IMetabaseUpdateDataObjectNode;
    TableAsKeyObj: IMetabaseUpdateDataObjectNode;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Создадим обновление
    Update := MB.CreateUpdate();
    // Получим объект, содержащий структуру обновления
    Root := Update.RootFolder;
    // Добавим в обновление таблицу с идентификатором «TABLE_A»
    TableObj := Root.Add(MetabaseUpdateNodeType.untDataObject) As IMetabaseUpdateDataObjectNode;
    TableObj.Object := MB.ItemById["TABLE_A"];
    // Будем обновлять данные и метаданные таблицы
    TableObj.Method := MetabaseUpdateMethod.mumAll;
    // Включим пересоздание объекта при обновлении
    TableObj.AlterType := MetabaseObjectAlterType.meobaltyRecreate;
    // Добавим в обновление таблицу с идентификатором «TABLE_B»
    TableAsKeyObj := Root.Add(MetabaseUpdateNodeType.untDataObject) As IMetabaseUpdateDataObjectNode;
    TableAsKeyObj.Object := MB.ItemById["TABLE_B"];
    // Будем обновлять данные и метаданные таблицы
    TableAsKeyObj.Method := MetabaseUpdateMethod.mumAll;
    // Отсортируем добавленные объекты
    Root.Sort(UpdateSortMode.usmByDepends);
    // Включим пересоздание объекта при обновлении
    TableAsKeyObj.AlterType := MetabaseObjectAlterType.meobaltyRecreate;
    // Установим флажок «Пересоздавать таблицы»
    Update.AlterType[(MetabaseObjectClass.KE_CLASS_TABLE).value__] := MetabaseObjectAlterType.meobaltyRecreate;
    // Применим предварительную очистку объектов, зависимых по содержимому
    Update.PriorDataLinkDependentsClear := True;
    // Сохраним обновление в файл
    Update.SaveToFileNF("C:\\Update.pefx");
End Sub;

См. также:

IMetabaseUpdate