IMsScenarioTreeEntries.FindByInternalKey

Синтаксис Fore

FindByKey(InrernalKey: Integer): IMsScenarioTreeEntry;

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

FindByKey(InrernalKey: uinteger): Prognoz.Platform.Interop.Ms.IMsScenarioTreeEntry;

Параметры

InrernalKey. Внутренний ключ сценария моделирования.

Описание

Метод FindByInternalKey осуществляет поиск сценария моделирования по внутреннему ключу.

Комментарии

Для получения внутреннего ключа сценария моделирования используйте свойство IMsScenario.InternalKey.

Пример Fore

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

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

Sub FindByInternalKey;
Var
    MB: IMetabase;
    MsObj: IMetabaseObject;
    Ms: IMsModelSpace;
    ScenTree: IMsScenarioTreeEntries;
    ScenEntry: IMsScenarioTreeEntry;
    IntKey: Integer;
Begin
    MB := MetabaseClass.Active;
    // Получаем контейнер моделирования
    MsObj := MB.ItemById("MODEL_SPACE").Edit;
    Ms := MsObj As IMsModelSpace;
    // Получаем дерево сценариев
    ScenTree := Ms.ScenarioTree;
    // Задаем значение внутреннего ключа
    IntKey := 44489;
    // Ищем объект по значению внутреннего ключа в дереве сценариев
    ScenEntry := ScenTree.FindByInternalKey(IntKey);
    // Если объект найден, то удаляем его из дерева сценариев
    If ScenEntry <> Null Then
        ScenTree.RemoveByInternalKey(IntKey);
    End If;
    // Сохраняем изменения
    MsObj.Save;
End Sub FindByInternalKey;

Результат выполнения примера: из дерева сценариев в контейнере моделирования «MODEL_SPACE» будет удален сценарий с ключом «44489», если данный сценарий присутствует в контейнере.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MsObj: IMetabaseObject;
    Ms: IMsModelSpace;
    ScenTree: IMsScenarioTreeEntries;
    ScenEntry: IMsScenarioTreeEntry;
    IntKey: uinteger;
Begin
    MB := Params.Metabase;
    // Получаем контейнер моделирования
    MsObj := MB.ItemById["MODEL_SPACE"].Edit();
    Ms := MsObj As IMsModelSpace;
    // Получаем дерево сценариев
    ScenTree := Ms.ScenarioTree;
    // Задаем значение внутреннего ключа
    IntKey := 44489;
    // Ищем объект по значению внутреннего ключа в дереве сценариев
    ScenEntry := ScenTree.FindByInternalKey(IntKey);
    // Если объект найден, то удаляем его из дерева сценариев
    If ScenEntry <> Null Then
        ScenTree.RemoveByInternalKey(IntKey);
    End If;
    // Сохраняем изменения
    MsObj.Save();
End Sub;

См. также:

IMsScenarioTreeEntries