Цитата:
Сообщение от
fialka
а можно строить диаграммы, гистограммы сразу из аксапты?
данные при выводе в excel объединяется по ячейкам в зависимости от условий, поэтому в шаблоне не очень удобно .

конечно можно этож COM )
вот кусочек метод живет в ComExcelDocument_RU
X++:
void addChart(int _workSheet,
BookMark _bookMark,
str _title,
str _newSheetName,
boolean _reverse = false)
{
COM Charts, Chart, comRange;
COM ChartTitle, Characters, SeriesCollection, Legend, Axes, MajorGridlines, Border, Trendlines;
COM PlotArea, Interior, TickLabels, font;
COM ActiveSheet;
int i;
str bookmark;
;
if (! m_comDocument)
throw error(strFmt("@DIS6401", this.getApplicationName()));
Charts = m_comDocument.charts();
Charts.Add();
Chart = m_comDocument.ActiveChart();
comRange = this.findRange(_bookMark, _workSheet);
Chart.SetSourceData(comRange, 1);
Chart.ChartType(65);
SeriesCollection = Chart.SeriesCollection(1);
SeriesCollection.ApplyDataLabels(1, 0, 0, 0, 0, 0, 1);
Border = SeriesCollection.Border();
Border.Weight(4);
Chart.HasTitle(True);
ChartTitle = Chart.ChartTitle();
Characters = ChartTitle.Characters();
Characters.Text(_title);
ChartTitle.AutoScaleFont(false);
Chart.Name(_newSheetName);
Chart.HasLegend(False);
Axes = Chart.Axes(1); // Category
Axes.HasMajorGridlines(1);
Axes.HasMinorGridlines(0);
Axes.MajorTickMark(3);
Axes.MinorTickMark(2);
Axes.MajorUnit(7);
Axes.MajorUnitScale(0);
TickLabels = Axes.TickLabels();
TickLabels.NumberFormat('ДД.ММ');
MajorGridlines = Axes.MajorGridlines();
Border = MajorGridlines.Border();
Border.LineStyle(-4118);
Axes = Chart.Axes(2); // Value
Axes.HasMajorGridlines(1);
Axes.HasMinorGridlines(0);
if (_reverse)
Axes.ReversePlotOrder(1);
MajorGridlines = Axes.MajorGridlines();
Border = MajorGridlines.Border();
Border.LineStyle(-4118);
Trendlines = SeriesCollection.Trendlines();
Trendlines.Add();
PlotArea = Chart.PlotArea();
Interior = PlotArea.Interior();
Interior.ColorIndex(2);
}