Ms > Интерфейсы сборки Ms > IMsFormulaTermList > IMsFormulaTermList.Cleanup
Cleanup([CleanupVariables: Boolean = false]);
Cleanup(CleanupVariables: boolean);
CleanupVariables. Определяет, удалять ли переменные, соответствующие неиспользуемым термам. Возможные значения:
True. Переменные будут удалены из параметров модели;
False. Переменные будут оставлены.
Метод Cleanup удаляет из коллекции термы, которые не используются в выражении модели.
Для удаления всех термов из коллекции используйте метод IMsFormulaTermList.Clear.
Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором 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.
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;
См. также: