IMsScenarioTreeEntries.RemoveByKeyEx

Синтаксис Fore

RemoveByKeyEx(EntryKey: Integer; Recursive: Boolean): Boolean;

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

RemoveByKeyEx(EntryKey: uinteger; Recursive: boolean): boolean;

Параметры

EntryKey. Ключ элемента, который необходимо удалить;

Recursive. Определяет, выполнять ли рекурсивное удаление дочерних элементов. Возможные значения:

Описание

Метод RemoveByKeyEx удаляет из дерева сценариев элемент с возможностью рекурсивного удаления дочерних элементов.

Комментарии

Если удаление выполнено успешно, то метод возвращает значение True, в противном случае - False.

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором «MS». В данном контейнере моделирования должны присутствовать сценарии.

Добавьте ссылки на системные сборки: Metabase, Ms.

Sub UserProc;
Var
    MB: IMetabase;
    MsObj: IMetabaseObject;
    ModelSpace: IMsModelSpace;
    Tree: IMsScenarioTreeEntries;
    Element: IMsScenarioTreeEntry;
    res: Boolean;
Begin
    // Получаем контейнер моделирования
    MB := MetabaseClass.Active;
    MsObj := MB.ItemById("MS").Edit;
    ModelSpace := MsObj As IMsModelSpace;
    // Получаем дерево сценариев
    Tree := ModelSpace.ScenarioTree;
    // Получаем первый элемент дерева
    Element := Tree.Item(0);
    // Выполняем рекурсивное удаление
    res := Tree.RemoveByKeyEx(Element.Key, True);
    // Выводим результаты удаления в окно консоли
    Debug.WriteLine("Удаление прошло успешно: " + res.ToString);
    // Сохраняем изменения
    MsObj.Save;
End Sub UserProc;

В результате выполнения примера будет выполнено рекурсивное удаление первого элемента дерева сценариев. Результаты удаления будут выведены в окно консоли.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MsObj: IMetabaseObject;
    ModelSpace: IMsModelSpace;
    Tree: IMsScenarioTreeEntries;
    Element: IMsScenarioTreeEntry;
    res: Boolean;
Begin
    // Получаем контейнер моделирования
    MB := Params.Metabase;
    MsObj := MB.ItemById["MS"].Edit();
    ModelSpace := MsObj As IMsModelSpace;
    // Получаем дерево сценариев
    Tree := ModelSpace.ScenarioTree;
    // Получаем первый элемент дерева
    Element := Tree.Item[0];
    // Выполняем рекурсивное удаление
    res := Tree.RemoveByKeyEx(Element.Key, True);
    // Выводим результаты удаления в окно консоли
    System.Diagnostics.Debug.WriteLine("Удаление прошло успешно: " + res.ToString());
    // Сохраняем изменения
    MsObj.Save();
End Sub;

См. также:

IMsScenarioTreeEntries