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