RefreshAttributesStructure;
Метод RefreshAttributesStructure обновляет структуру атрибутов модели.
Метод актуален, если модель основана на атрибутах.
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «TSDB», содержащей во внутреннем контейнере моделирования модель детерминированного уравнения с идентификатором «MODEL_ATTR».
Для выполнения примера добавьте ссылки на системные сборки «Cubes», «Metabase», «Ms».
Sub UserProc;
Var
Mb: IMetabase;
RubrDescr: IMetabaseObjectDescriptor;
Rubr: IRubricator;
MsDescr: IMetabaseObjectDescriptor;
Model: IMsModel;
Transform: IMsFormulaTransform;
TransformVarables: IMsFormulaTransformVariables;
Coord: IMsFormulaTransformCoord;
Calc: IMsMethodCalculation;
Period: IMsModelPeriod;
Formula: IMsFormula;
Begin
// Получаем БД временных рядов
Mb := MetabaseClass.Active;
RubrDescr := Mb.ItemById("TSDB");
Rubr := RubrDescr.Bind As IRubricator;
// Получаем внутренний контейнер моделирования
MsDescr := Rubr.ModelSpace;
// Получаем модель
Model := Mb.ItemByIdNamespace("MODEL_ATTR", MsDescr.Key).Edit As IMsModel;
// Получаем параметры модели
Transform := Model.Transform;
// Задаем параметры для расчёта модели
TransformVarables := Transform.Outputs;
Coord := Transform.CreateCoord(TransformVarables.Item(0));
Calc := Transform.CreateCalculation;
Period := Calc.Period;
Period.IdentificationStartDate := Model.Period.IdentificationStartDate;
Period.IdentificationEndDate := Model.Period.IdentificationEndDate;
Period.ForecastStartDate := Model.Period.ForecastStartDate;
Period.ForecastEndDate := Model.Period.ForecastEndDate;
Calc.CurrentPoint := Model.Period.IdentificationStartDate;
// Обновляем структуру атрибутов модели
Transform.RefreshAttributesStructure;
// Выполняем расчёт модели
Formula := Transform.FormulaItem(0);
(Formula.Method As IMsDeterministicTransform).Execute(Calc, Coord);
// Сохраняем изменения
(Model As IMetabaseObject).Save;
End Sub UserProc;
Результат выполнения примера: обновлена структура атрибутов модели «MODEL_ATTR», модель рассчитана.
См. также: