Добрый день!
Есть задача: показать в итогах динамику изменения запросов по услугам (которых более 40). Выводить все 40 слишком глупо, а хардкодить какие-то 5 не правильно.
Поэтому возникла идея - реализовать фильтрацию непосредственно на графике, чтобы пользователь мог по нажатию на кнопку выбрать 1-5 сервиса из всех и построились бы эти самые 1-5 графиков.
Пока я вижу нюансы:
1) надо реализовать новый график с кнопкой
2) надо реализовать автодобавление серий в графике
Если кто-то решал хотя бы одну из этих задач - был бы признателен за помощь в реализации
Нравится
Настройки графиков хранятся в таблице SysDashboard, где одна строка соответствует одной вкладке итогов (таких как «Статистика по обращениям за квартал» в разделе «Обращения»).

Расположение графиков сериализированно в текстовом поле ViewConfig, а сами графики и их серии — в Items. Например, графику «Динамика регистрации и закрытия обращений» с двумя сериями «Количество закрытых» и «Количество зарегистрированных» соответствует код:
"Chart2":{
"parameters":{
"seriesConfig":[
{
"primaryColumnName":"Id",
"yAxisConfig":{
"position":0
},
"schemaName":"Case",
"func":1,
"type":"line",
"xAxisColumn":"RegisteredOn",
"XAxisCaption":"",
"YAxisCaption":"Количество зарегистрированных",
"styleColor":"widget-coral",
"filterData":"{\"className\":\"Terrasoft.FilterGroup\",\"items\":{\"5b0dd07d-63de-44e0-9801-b744333e1176\":{\"className\":\"Terrasoft.CompareFilter\",\"filterType\":1,\"comparisonType\":3,\"isEnabled\":true,\"trimDateTimeParameterToDate\":true,\"leftExpression\":{\"className\":\"Terrasoft.ColumnExpression\",\"expressionType\":0,\"columnPath\":\"RegisteredOn\"},\"isAggregative\":false,\"key\":\"5b0dd07d-63de-44e0-9801-b744333e1176\",\"dataValueType\":7,\"leftExpressionCaption\":\"Дата регистрации\",\"rightExpression\":{\"className\":\"Terrasoft.FunctionExpression\",\"expressionType\":1,\"functionType\":1,\"macrosType\":13}}},\"logicalOperation\":0,\"isEnabled\":true,\"filterType\":6,\"rootSchemaName\":\"Case\",\"key\":\"\"}"
}
],
"orderBy":"GroupByField",
"orderDirection":"Ascending",
"dateTimeFormat":"Day;Month",
"caption":"Динамика регистрации и закрытия обращений",
"sectionId":"c97824d9-3952-4d5e-9a5b-c6c468bf555a",
"primaryColumnName":"Id",
"yAxisConfig":{
"position":0
},
"schemaName":"Case",
"func":1,
"type":"line",
"xAxisColumn":"ClosureDate",
"XAxisCaption":"",
"YAxisCaption":"Количество закрытых",
"styleColor":"widget-dark-turquoise",
"filterData":"{\"className\":\"Terrasoft.FilterGroup\",\"items\":{\"da33da51-d43b-4eed-a25c-665dfaeb11ea\":{\"className\":\"Terrasoft.CompareFilter\",\"filterType\":1,\"comparisonType\":3,\"isEnabled\":true,\"trimDateTimeParameterToDate\":true,\"leftExpression\":{\"className\":\"Terrasoft.ColumnExpression\",\"expressionType\":0,\"columnPath\":\"ClosureDate\"},\"isAggregative\":false,\"key\":\"da33da51-d43b-4eed-a25c-665dfaeb11ea\",\"dataValueType\":7,\"leftExpressionCaption\":\"Дата закрытия\",\"rightExpression\":{\"className\":\"Terrasoft.FunctionExpression\",\"expressionType\":1,\"functionType\":1,\"macrosType\":13}}},\"logicalOperation\":0,\"isEnabled\":true,\"filterType\":6,\"rootSchemaName\":\"Case\",\"key\":\"\"}"
},
"widgetType":"Chart"
},Как видим, первая серия — в основной части, вторая — в массиве seriesConfig (вероятно, и остальные будут там же). Теоретически, можно программно формировать этот текст и добавлять или удалять серии. А как дать каждому свои графики, можно попробовать раздавать права доступа на записи в этой таблице и каждому показывать только свою.