SetChartResult SetChart(ChartId tChart, SetChartArg tArg)
tChart. Моникёр диаграммы;
tArg. Параметры изменения данных.
Операция SetChart изменяет данные диаграммы.
Для выполнения операции необходимо в параметре tChart указать моникёр диаграммы и в параметре tArg.meta указать обновленные данные и метаданные. Моникёр диаграммы строится на базе моникера объекта репозитория, с диаграммой которого осуществляется работа, по следующим правилам:
«Моникёр экземпляра экспресс-отчета»!Chart. Диаграмма экспресс-отчета (если в экспресс-отчете один лист);
«Моникёр экземпляра экспресс-отчета»!Sheets!«Ключ листа»!Chart. Диаграмма заданного листа экспресс-отчета (если в экспресс-отчете несколько листов);
«Моникёр экземпляра рабочей книги»!Chart. Диаграмма рабочей книги (если в рабочей книге один лист);
«Моникёр экземпляра рабочей книги»!Sheets!«Ключ листа»!Chart. Диаграмма заданного листа рабочей книги (если в рабочей книги несколько листов);
«Моникёр экземпляра регламентного отчета»!«Ключ листа»!Objects!«Идентификатор диаграммы». Диаграмма, расположенная на листе регламентного отчета.
Ниже приведен пример использования операции SetChart для изменения диаграммы экспресс-отчёта. В запросе передается экземпляр диаграммы и шаблон для изменения данных. В ответе приходят изменённые данные.
{
"SetChart" :
{
"tChart" :
{
"id" : "S1!M!S!E1!Chart"
},
"tArg" :
{
"meta" :
{
"options" : "",
"toolTipImageMap" : "Данные по регионам"
},
"metaGet" :
{
"data" : "true",
"hiChart" : "true"
}
}
}
}
{
"SetChartResult" :
{
"id" :
{
"id" : "S1!M!S!E1!Chart"
},
"metaGet" :
{
"md" :
{
"data" :
{
"Points" :
{
"Point" :
[
{
"@Name" : "2000A1"
},
{
"@Name" : "2001A1"
},
{
"@Name" : "2002A1"
},
{
"@Name" : "2003A1"
},
{
"@Name" : "2004A1"
},
{
"@Name" : "2005A1"
}
]
},
"series" :
{
"@Name" : "United States"
},
"values" :
{
"value" :
[
{
"@SerieIndex" : "0",
"@value2" : "0.000000,0.000000,0.000000,0.000000,0.000000,0.000000",
"$" : "1.383864,1.348390,1.348390,1.348390,1.433527,1.589612"
}
]
},
"IsEditable" :
{
"value" :
{
"@SerieIndex" : "0",
"$" : "1,1,1,1,1,1"
}
},
"ToolTips" :
{
"ToolTip" :
[
{
"@SP" : "0,0",
"$" : "1,38"
},
{
"@SP" : "0,1",
"$" : "1,35"
},
{
"@SP" : "0,2",
"$" : "1,35"
},
{
"@SP" : "0,3",
"$" : "1,35"
},
{
"@SP" : "0,4",
"$" : "1,43"
},
{
"@SP" : "0,5",
"$" : "1,59"
}
]
},
"Labels" :
{
"Label" :
[
{
"@SP" : "0,0",
"$" : "1,38"
},
{
"@SP" : "0,1",
"$" : "1,35"
},
{
"@SP" : "0,2",
"$" : "1,35"
},
{
"@SP" : "0,3",
"$" : "1,35"
},
{
"@SP" : "0,4",
"$" : "1,43"
},
{
"@SP" : "0,5",
"$" : "1,59"
}
]
}
}
},
"hiChart" : "{"chart": {"areaBorderEnabled": false,"auto": false,"backgroundColor": "rgba(255, 255, 255, 1.000000)","borderColor": "#909090","borderRadius": 0,"borderWidth": 0.666663289070129,"chartAsImage": false,"defaultSeriesType": "column","displayVolume3D": false,"gapWidthCoef": 1.5,"inverted": false,"marginLeft": 80,"marginRight": 50,"overlapCoef": 0,"plotBackgroundColor": "rgba(230, 230, 230, 1.000000)","plotBorderColor": "rgba(128, 128, 128, 1.000000)","plotBorderEnabled": true,"plotBorderWidth": 0.944881916046143,"renderTo": "container","seriesOrder": "forward","stockStyle": "lowHighClose"},"legend": {"align": "center","backgroundColor": null,"borderColor": "#909090","borderEnabled": false,"borderWidth": 0.0881939977407455,"elementVerticalAlign": "middle","enabled": true,"itemStyle": {"color": "#000000","fontFamily": "Arial","fontSize": "7.086614pt","fontStyle": "normal","fontWeight": "normal","textDecoration": "none"},"layout": "horizontal","verticalAlign": "bottom"},"plotOptions": {"series": {"connectNulls": true,"dataLabels": {"color": "rgba(0, 0, 0, 1.000000)","customPosition": {"hotspotHorAlign": "center","hotspotPositionCoef": 0.5,"hotspotPositionOffsetX": 0,"hotspotPositionOffsetY": 0,"hotspotVertAlign": "center"},"enabled": false,"formatter": "%Autovalue","position": "custom","rotation": 0,"style": {"color": "#000000","fontFamily": "Arial","fontSize": "7.086614pt","fontStyle": "normal","fontWeight": "normal","textDecoration": "none"}},"marker": {"enabled": false},"stacking": null}},"series": [{"auto": true,"borderColor": "rgba(11, 26, 39, 0.501961)","borderPenEnabled": true,"borderWidth": 0.37795278429985,"brushEnabled": true,"canDrillDown": false,"canDrillUp": false,"color": "rgba(46, 106, 159, 1.000000)","dashStyle": "solid","data": [{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2000A1","x": 0,"y": 1.38386357},{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2001A1","x": 0,"y": 1.34838968},{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2002A1","x": 0,"y": 1.34838968},{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2003A1","x": 0,"y": 1.34838968},{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2004A1","x": 0,"y": 1.43352691},{"auto": true,"color": "rgba(46, 106, 159, 1.000000)","name": "2005A1","x": 0,"y": 1.5896119}],"dataIndex": 0,"dataLabels": {"color": "rgba(0, 0, 0, 1.000000)","customPosition": {"hotspotHorAlign": "center","hotspotPositionCoef": 0.5,"hotspotPositionOffsetX": 0,"hotspotPositionOffsetY": 0,"hotspotVertAlign": "center"},"dataFormat": "0.00","enabled": true,"formatter": "%Autovalue","position": "custom","rotation": 0,"style": {"color": "#000000","fontFamily": "Arial","fontSize": "7.086614pt","fontStyle": "normal","fontWeight": "normal","textDecoration": "none"}},"displayStacked": false,"emptyDashStyle": "dot","emptyLineColor": "rgba(46, 106, 159, 1.000000)","emptyLinePenEnabled": false,"emptyLineWidth": 1.5118111371994,"is3DBorder": false,"legendIndex": 0,"lineColor": "rgba(46, 106, 159, 1.000000)","linePenEnabled": true,"lineWidth": 1.5118111371994,"marker": {"enabled": false},"name": "United States","shadow": false,"showInLegend": true,"trendLine": {},"visible": true,"zIndex": 1}],"title": {"align": "center","style": {"backgroundColor": null,"borderColor": "#909090","borderStyle": "none","borderWidth": 0,"color": "#000000","fontFamily": "Arial","fontSize": "14.173228pt","fontStyle": "normal","fontWeight": "bold","textDecoration": "none"},"text": ""},"tooltip": {"dataFormat": "0.00","enabled": true,"formatter": "%Autovalue"},"xAxis": {"axisXPlacement": "betweenticks","categories": ["2000A1","2001A1","2002A1","2003A1","2004A1","2005A1"],"gridLineColor": "#909090","gridLineDashStyle": "none","gridLineEnabled": false,"gridLineWidth": 0.666663289070129,"includeZero": false,"labels": {"enabled": true,"rotation": -90,"spacing": true,"style": {"color": "#000000","fontFamily": "Arial","fontSize": "7.086614pt","fontStyle": "normal","fontWeight": "normal","textDecoration": "none"}},"lineColor": "rgba(128, 128, 128, 1.000000)","lineEnabled": true,"lineWidth": 0.37795278429985,"minorGridLineColor": "rgba(255, 255, 255, 1.000000)","minorGridLineDashStyle": "none","minorGridLineEnabled": false,"minorGridLineWidth": 0.666663289070129,"opposite": false,"position": "auto","reversed": false,"showMarksForHiddenLabels": false,"step": 1,"stepAuto": true,"textIsStagger": false,"textIsStaggerOddFirst": true,"textMultiline": "bySymbols","tickColor": "rgba(128, 128, 128, 1.000000)","tickEnabled": true,"tickMarksInterval": 1,"tickWidth": 0.37795278429985,"tickmarkPlacement": "on","title": {"style": {"backgroundColor": null,"borderColor": "#909090","borderStyle": "none","borderWidth": 0,"color": "#000000","fontFamily": "Arial","fontSize": "9.921260pt","fontStyle": "normal","fontWeight": "bold","textDecoration": "none"},"text": ""},"visible": true},"yAxis": {"displayUnit": "none","gridLineColor": "rgba(128, 128, 128, 1.000000)","gridLineDashStyle": "solid","gridLineEnabled": true,"gridLineWidth": 0.944881916046143,"includeZero": false,"labels": {"dataFormat": "#,##0.00","enabled": true,"rotation": 0,"spacing": true,"style": {"color": "#000000","fontFamily": "Arial","fontSize": "7.086614pt","fontStyle": "normal","fontWeight": "normal","textDecoration": "none"}},"lineColor": "rgba(128, 128, 128, 1.000000)","lineEnabled": true,"lineWidth": 0.37795278429985,"max": null,"min": null,"minorGridLineColor": "rgba(255, 255, 255, 1.000000)","minorGridLineDashStyle": "none","minorGridLineEnabled": false,"minorGridLineWidth": 0.666663289070129,"opposite": false,"position": "auto","reversed": false,"tickColor": "rgba(128, 128, 128, 1.000000)","tickEnabled": true,"tickInterval": null,"tickWidth": 0.37795278429985,"title": {"style": {"backgroundColor": null,"borderColor": "#909090","borderStyle": "none","borderWidth": 0,"color": "#000000","fontFamily": "Arial","fontSize": "9.921260pt","fontStyle": "normal","fontWeight": "bold","textDecoration": "none"},"text": "Значение"},"type": "linear","visible": true}}"
}
}
}
Функция SetChart изменяет диаграмму экспресс-отчёта и экспортирует её в форматы JSON и XML. Входные параметры:
eax. Экземпляр открытого экспресс-отчёта.
В результате выполнения функция возвращает изменённую диаграмму.
public static SetChartResult SetChart(EaxId eax)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операции
// Параметры выполнения операции
var tSet = new SetChart()
{
tArg = new SetChartArg()
{
metaGet = new ChartMdPattern()
{
data = true,
hiChart = true
},
meta = new ChartMd()
{
options = "",
toolTipImageMap = "Данные по регионам"
}
},
tChart = new ChartId() { id = eax.id + "!Chart" }
};
// Выполняем изменение диаграммы
var result = somClient.SetChart(tSet);
Console.WriteLine("Изменена диаграмма: " + result.id.id);
var chart = result.metaGet;
// Экспортируем xml-описание диаграммы
XmlDocument chartXml= new XmlDocument();
XmlElement el = chartXml.CreateElement(chart.md.Name);
el.InnerXml = chart.md.InnerXml;
chartXml.AppendChild(el);
chartXml.Save("C:\\ChartOutput.xml");
// Экспортируем json-описание диаграммы
FileStream fs = new FileStream("C:\\ChartJsonOutput.json", FileMode.OpenOrCreate);
Byte[] info = new UTF8Encoding(true).GetBytes(chart.hiChart);
// Запись данных в файл
fs.Write(info, 0, info.Length);
fs.Flush();
fs.Close();
return result;
}
См. также:
Интерактивные визуальные компоненты
SOAP