IMsFormulaTermList.Cleanup

Синтаксис Fore

Cleanup([CleanupVariables: Boolean = false]);

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

Cleanup(CleanupVariables: boolean);

Параметры

CleanupVariables. Определяет, удалять ли переменные, соответствующие неиспользуемым термам. Возможные значения:

Описание

Метод Cleanup удаляет из коллекции термы, которые не используются в выражении модели.

Комментарии

Для удаления всех термов из коллекции используйте метод IMsFormulaTermList.Clear.

Пример Fore

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

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

Sub UserProc;
Var
    mb: IMetabase;
    ModelCont: IMetabaseObjectDescriptor;
    Model: IMsModel;
    Transform: IMsFormulaTransform;
    Formula: IMsFormula;
    Determ: IMsDeterministicTransform;
    Operands: IMsFormulaTermList;
Begin
    
// Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    
// Получаем модель
    ModelCont := mb.ItemById("MS");
    Model := mb.ItemByIdNamespace(
"DETERM", ModelCont.Key).Edit As IMsModel;
    
// Получаем параметры модели
    Transform := Model.Transform;
    
// Получаем факторы модели
    Formula := Transform.FormulaItem(0);
    Determ := Formula.Method 
As IMsDeterministicTransform;
    Operands := Determ.Operands;
    
// Удаляем все факторы, неиспользуемые в выражении модели
    Operands.Cleanup(True);
    
// Сохраняем изменения
    (Model As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера из модели будут удалены все факторы, которые не используются в выражении модели.

Пример Fore.NET

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

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    ModelCont: IMetabaseObjectDescriptor;
    Model: IMsModel;
    Transform: IMsFormulaTransform;
    Formula: IMsFormula;
    Determ: IMsDeterministicTransform;
    Operands: IMsFormulaTermList;
Begin
    
// Получаем текущий репозиторий
    mb := Params.Metabase;
    
// Получаем модель
    ModelCont := mb.ItemById["MS"];
    Model := mb.ItemByIdNamespace[
"DETERM", ModelCont.Key].Edit() As IMsModel;
    
// Получаем параметры модели
    Transform := Model.Transform;
    
// Получаем факторы модели
    Formula := Transform.FormulaItem[0];
    Determ := Formula.Method 
As IMsDeterministicTransform;
    Operands := Determ.Operands;
    
// Удаляем все факторы, неиспользуемые в выражении модели
    Operands.Cleanup(True);
    
// Сохраняем изменения
    (Model As IMetabaseObject).Save();
End Sub;

См. также:

IMsFormulaTermList