Для выполнения примера предполагается наличие в репозитории рабочей книги с идентификатором «OBJ123», в которой будут изменен тип диаграммы и набор отображаемых в ней данных. В отчете должна отображаться диаграмма.
Подключите ссылки на следующие системные сборки:
Chart;
Express;
Metabase (только для Fore);
Tab.
Sub UserProc;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Exp: IEaxAnalyzer;
Chart: IChart;
Table: ITabSheet;
Begin
MB := MetabaseClass.Active;
//Открываем рабочую книгу на редактирование
MObj := MB.ItemById("OBJ123").Edit;
Exp := MObj As IEaxAnalyzer;
//Получаем диаграмму рабочей книги
Chart := Exp.Chart.Chart;
//Изменяем тип диаграммы на столбиковую
Chart.Type := ChartType.Bars;
//Получаем таблицу рабочей книги
Table := Exp.Grid.TabSheet;
//Выделяем всю таблицу, чтобы в диаграмме отображались все ряды, имеющиеся в таблице
Table.View.Selection.SelectAll;
MObj.Save;
End Sub UserProc;
После выполнения примера диаграмма будет изменена на столбиковую. Будут выделены все ряды в таблице, тем самым изменится набор отображаемых данных в диаграмме.
Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Express, Metabase, Chart, Tab из системной сборки Prognoz.Platform.Interop.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Exp: IEaxAnalyzer;
Chart: IChart;
Table: ITabSheet;
Begin
MB := Params.Metabase;
//Открываем рабочую книгу на редактирование
MObj := MB.ItemById["OBJ123"].Edit();
Exp := MObj As IEaxAnalyzer;
//Получаем диаграмму рабочей книги
Chart := Exp.Chart.Chart;
//Изменяем тип диаграммы на столбиковую
Chart.Type := ChartType.chtBars;
//Получаем таблицу рабочей книги
Table := Exp.Grid.TabSheet;
//Выделяем всю таблицу, чтобы в диаграмме отображались все ряды, имеющиеся в таблице
Table.View.Selection.SelectAll();
MObj.Save();
End Sub;
Результат выполнения примера аналогичен результату примера на Fore.
См. также: