Element_Test_V2/Koncept/Testovoe/Пресейл/ДиаграммаПродажиПоНаправлениям.xbsl
Vladislav_k0ncept f16c003f46 Initial commit
2025-02-20 15:05:58 +00:00

60 lines
3.4 KiB
Plaintext

импорт Общие
@Обработчик
метод ПослеСоздания()
ОбновитьДиаграмму()
;
@ВПодсистеме
структура ДанныеПродаж
обз знч Направление: Строка
обз знч СуммаПродаж: Число
обз знч СуммаПродажОтображаемоеЗначение: Строка
обз знч ЦветСегмента: Цвет | Авто
;
@ВПроекте
метод ОбновитьДиаграмму()
знч Диаграмма = Компоненты.Диаграмма
знч ДанныеДиаграммы = Диаграмма.Источник.Данные
ДанныеДиаграммы.Очистить()
знч ПалитраЦветов = новый Массив<Цвет>()
ПалитраЦветов.Добавить(новый АбсолютныйЦвет(0, 158, 115))
ПалитраЦветов.Добавить(новый АбсолютныйЦвет(86, 180, 233))
ПалитраЦветов.Добавить(новый АбсолютныйЦвет(230, 159, 0))
ПалитраЦветов.Добавить(новый АбсолютныйЦвет(204, 121, 167))
знч Продажи = ПолучитьДанныеПродаж()
пер Счетчик: Число
для Элемент из Продажи
знч Цвет = Счетчик > ПалитраЦветов.Граница() ? ПалитраЦветов[0] : ПалитраЦветов[Счетчик]
Счетчик += 1
ДанныеДиаграммы.Добавить(новый ДанныеПродаж(Направление = Элемент.Ключ.Представление(),
СуммаПродаж = Элемент.Значение,
СуммаПродажОтображаемоеЗначение = "${Элемент.Ключ}: ${Элемент.Значение}",
ЦветСегмента = Цвет))
;
знч Серия = новый КруговаяСерияДиаграммы()
Серия.ПоляДанных.Ключ.ПолеЗначения = "Направление"
Серия.ПоляДанных.Ключ.ОтображаемоеЗначение = "Направление"
Серия.ПоляДанных.Значение.ПолеЗначения = "СуммаПродаж"
Серия.ПоляДанных.Значение.ОтображаемоеЗначение = "СуммаПродажОтображаемоеЗначение"
Серия.ПоляДанных.Цвет = "ЦветСегмента"
Диаграмма.Серии.Добавить(Серия)
знч Легенда = новый ЛегендаДиаграммы()
Легенда.Расположение = РасположениеЛегендыДиаграммы.Снизу
Диаграмма.Легенда = Легенда
;
@НаСервере @ДоступноСКлиента
статический метод ПолучитьДанныеПродаж(): Соответствие<Направления.Ссылка, Число>
возврат Сделки.СуммаВыигранныхСделокПоНаправлениям()
;