Раскрашиваем макет динамически
Очень часто возникает задача как-то дополнительно выделять выводимую в отчетах информацию. В типовых отчетах есть флажок "Раскрашивать группировки" (или как-то так). Там сделано немудрённо — статические области с разными цветами.
- Описание
- Подробнее
Описание
А что делать, если нужно выводить группировки раскрашенные как разными цветами, так и раскрашенные с различной яркостью и/или насыщенностью цвета в зависимости от уровня иерархии группировки?
Скорей всего приходит на ум (на мой, по-крайней мере :)) модели преобразования угла оттенка, уровней яркости и насыщенности: HSL и HSB. Вот крайне простейший пример:
СтруктураСоответствияЦветов = Новый Соответствие;
Для НомерСтрокиИзмерения = 0 По 20 Цикл
насыщенность = 30; // процент
оттенок = 20*НомерСтрокиИзмерения; //градус
яркость = 90; // процент
Цвет = HSB_TO_RGB(оттенок, насыщенность, яркость);
СтруктураСоответствияЦветов.Вставить(НомерСтрокиИзмерения , Цвет);
КонецЦикла;
……
……
……
Пока Выборка.Следующий() Цикл
ЦветФонаОбласти = СтруктураСоответствияЦветов[Выборка.Уровень()];
КонецЦикла;

