OpenMatrixDataSource(DataSource: IMatrixDataSource);
DataSource - абстрактный многомерный источник данных, данные которого необходимо загрузить в экспресс-отчет.
Метод OpenMatrixDataSource осуществляет загрузку в экспресс-отчет данных источника, не являющегося кубом.
Вариантом такого источника являются данные переменных моделирования, полученные в результате расчета задачи моделирования. Доступ к данным переменных осуществляется посредством свойства VariableStub.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента UiErAnalyzer с наименованием "UiErAnalyzer1" и каких-либо компонентов, отображающих данные экспресс-отчета, загруженного в "UiErAnalyzer1". В репозитории содержится контейнер моделирования с идентификатором "KONT_MODEL". В данном контейнере имеется задача моделирования "Problem_1" настроенная для расчета каких-либо моделей.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Expr: IEaxAnalyzer;
Problem: IMsProblem;
Setting: IMsProblemCalculationSettings;
Calc: IMsProblemCalculation;
MDS: IMatrixDataSource;
Begin
//Временный экспресс-отчет
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_EXPRESSREPORT;
Expr := MB.CreateObject(CrInfo).Edit As IEaxAnalyzer;
//Расчитываемая задача моделирования
Problem := MB.ItemByIdNamespace("Problem_1", MB.ItemById("KONT_MODEL").Key).Bind As IMsProblem;
Setting := Problem.CreateCalculationSettings;
//Расчет задачи моделирования
Calc := Problem.Calculate(Setting);
//Данные по первой выходной переменной
MDS := Calc.VariableStub(Problem.VariableStubs(MsVariableKind.Output).Item(0));
//Загрузка в экспресс-отчет
Expr.OpenMatrixDataSource(MDS);
//Загружаем экспресс-отчет в "UiErAnalyzer1"
UiErAnalyzer1.ErAnalyzer := Expr;
UiErAnalyzer1.Active := True;
End Sub Button1OnClick;
После выполнения примера будет осуществлен расчет задачи моделирования "Problem_1". Отчет по первой выходной переменной будет загружен в компонент "UiErAnalyzer1". Данные будут отображаться во всех компонентах, для которых "UiErAnalyzer1" установлен в качестве источника данных.
См. также: