Раскрашиваем макет динамически

14.12.08

Разработка - Механизмы платформы 1С

Очень часто возникает задача как-то дополнительно выделять выводимую в отчетах информацию. В типовых отчетах есть флажок "Раскрашивать группировки" (или как-то так). Там сделано немудрённо - статические области с разными цветами.

А что делать, если нужно выводить группировки раскрашенные как разными цветами, так и раскрашенные  с различной яркостью и/или насыщенностью цвета в зависимости от уровня иерархии группировки?

Скорей всего приходит на ум (на мой, по-крайней мере :)) модели преобразования угла оттенка, уровней яркости и насыщенности: HSL и HSB. Вот крайне простейший пример:

СтруктураСоответствияЦветов = Новый Соответствие;

Для НомерСтрокиИзмерения = 0 По 20 Цикл

    насыщенность = 30; // процент

    оттенок = 20*НомерСтрокиИзмерения; //градус

    яркость = 90; // процент

    Цвет = HSB_TO_RGB(оттенок, насыщенность, яркость);

    СтруктураСоответствияЦветов.Вставить(НомерСтрокиИзмерения , Цвет);

КонецЦикла;

......

......

......

Пока Выборка.Следующий() Цикл

    ЦветФонаОбласти = СтруктураСоответствияЦветов[Выборка.Уровень()];

КонецЦикла;

//infostart.ru/projects/3090/

Вступайте в нашу телеграмм-группу Инфостарт

См. также

SALE! %

Мастера заполнения Поиск данных База данных Инструментарий разработчика Корректировка данных Универсальные функции Механизмы платформы 1С Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 4000 руб.

25.02.2026    1944    9    1    

11

Механизмы платформы 1С Программист Бесплатно (free)

Разберем 15 мифов о работе платформы «1С:Предприятие 8» – как распространенных, так и малоизвестных. Начнем с классики: «Код, написанный в одну строку, работает быстрее, чем многострочный». Так ли это на самом деле?

16.07.2025    30168    TitanLuchs    106    

149

Механизмы платформы 1С Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    16466    bayselonarrend    127    

68

Механизмы платформы 1С Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье подробно рассматривается работа с JSON в XDTO в 1С:Предприятие. Вы узнаете, как сериализовать и десериализовать объекты XDTO в JSON, интегрировать 1С с веб-сервисами и API, а также корректно обрабатывать данные при обмене. Разбираются особенности работы с коллекциями, использование функций восстановления и частые ошибки при работе с JSON и XDTO.

30.01.2025    19662    user2122906    9    

66

Механизмы платформы 1С Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 Бесплатно (free)

Этот материал познакомит вас с механизмом XDTO (XML Data Transfer Objects) в 1С и научит эффективно использовать его возможности. Мы разберёмся, как работать с XML-схемами, создавать модели данных, манипулировать объектами XDTO, а также сериализовать и десериализовать их в XML. Вы узнаете, как использовать XDTO для интеграции с внешними системами, избегать типичных ошибок и оптимизировать код. К концу вы будете уверенно применять XDTO для решения сложных задач обмена данными и автоматизации процессов.

17.01.2025    33928    user2122906    12    

61

Механизмы платформы 1С WEB-интеграция Программист 1С:Предприятие 8 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    30644    dsdred    100    

147

Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    27174    bayselonarrend    22    

176
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fuego 463 12.12.08 12:23 Сейчас в теме
Кстати, на ошибки синтаксиса не обращайте внимания. Я ваще не врубаюсь, как код нормально впарить сюда. И писать/разукрашивать лень :) ..
2. PeRom 51 12.12.08 14:03 Сейчас в теме
А если просто в RGB цвет задавать? Типа этого:
Код
Таб.ВывестиСекцию("Строка");
инд = 0;
Для инд = 1 По ЯцеекВСтроке Цикл 
   Если <Условие> Тогда
      Область = Таб.Область(ВерхЛевый,НизПравый);
      Область.ЦветФона(Красный, Зелёный, Синий);
   КонецЕсли;
КонецЦикла;
Показать полностью

Код на 77, но и на 8 можно сделать.
3. Fuego 463 12.12.08 15:33 Сейчас в теме
(2) На самом деле неудобно контролировать составляющие цвета. Мой "примерчик", приведённый здесь, показывает как просто изменять цвет. но как быть, когда хочется "разбавить краски с молоком"? Или сделать основной цвет выразительнее?..
4. пользователь 13.12.08 15:28
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация