Перекрашиваем диаграмму в 1С: ряды, фон и легенда
Содержание
Цвет диаграммы в 1С меняют тремя способами: в настройках самого отчёта (пользователь, без программирования), в конструкторе или форме у разработчика и кодом на встроенном языке. Первый подходит, когда нужно просто перекрасить один отчёт. Второй и третий нужны, когда цвета должны быть одинаковыми для всех пользователей или зависеть от данных.
Основа везде одна: цвет принадлежит не диаграмме целиком, а её ряду (серии) или точке. Фон, рамка, легенда и подписи настраиваются отдельно. Если ряд закрашен «не тем» цветом, ищите настройку именно ряда.
Из чего состоит диаграмма и что можно покрасить
Перед правками полезно понять устройство. Диаграмма в 1С строится из нескольких элементов, и у каждого свой цвет.
- 📊 Серии — то, что сравнивается: «Выручка», «Расходы», «Прибыль». Каждой серии соответствует свой цвет столбца, линии или сектора.
- 📍 Точки — значения по оси категорий: месяцы, контрагенты, склады. В круговой диаграмме цвет обычно привязан именно к точке: каждый сектор своего цвета.
- 🖼 Область построения — поле, где рисуются столбцы и линии. У неё есть фон и рамка.
- 🏷 Легенда и заголовок — подписи с собственным шрифтом, цветом текста и фоном.
Если диаграмма многосерийная (гистограмма, график), красят серии. Если одна серия и много точек (круговая, кольцевая), красят точки.
| Задача | Где менять | Кто делает |
|---|---|---|
| Перекрасить диаграмму в одном отчёте под себя | Настройки отчёта, вкладка оформления диаграммы | Пользователь |
| Единые цвета для всех | Свойства поля диаграммы в конфигураторе | Разработчик |
| Цвет зависит от значения (красный минус, зелёный плюс) | Код: цвет серии или точки | Программист |
| Сменить цвета всего интерфейса | Стили конфигурации | Разработчик |
Меняем цвета в настройках отчёта
Если диаграмма выведена отчётом на системе компоновки данных (большинство типовых аналитических отчётов), ряды можно перекрасить без программирования.
- Откройте отчёт и сформируйте его, чтобы диаграмма появилась на экране.
- Нажмите кнопку настроек отчёта (обычно «Показать настройки» или значок шестерёнки в командной панели).
- Перейдите в режим расширенной настройки, если форма показывает упрощённый вид: там открываются структура отчёта и оформление.
- Найдите в структуре элемент «Диаграмма» и откройте его настройки: у него отдельно настраиваются тип диаграммы, расположение легенды и другие параметры вывода.
- Сформируйте отчёт заново и проверьте результат.
Не все параметры доступны в упрощённой форме настроек. Если нужного пункта нет, переключитесь в расширенный режим либо обратитесь к разработчику: часть оформления заложена в схему компоновки и снаружи не меняется.
Пользовательские настройки можно сохранить как вариант отчёта. Тогда перекраска останется и при следующем открытии, и вам не придётся повторять шаги.
Свойства поля и код: что задаёт разработчик
Конструктор диаграммы в конфигураторе
Разработчик, который добавляет диаграмму на форму или в макет, работает с её свойствами напрямую. В конфигураторе откройте форму, выделите поле диаграммы и посмотрите палитру свойств: там собраны параметры внешнего вида — тип, шрифты, область построения, легенда, заголовок.
Что обычно настраивают здесь:
- тип диаграммы (гистограмма, график, круговая и другие);
- видимость и расположение легенды;
- фон области построения и рамка;
- шрифт и цвет текста заголовка и подписей.
Цвета отдельных серий в палитре свойств ограниченно доступны: чаще их задают кодом при формировании диаграммы, потому что состав серий зависит от данных. Конструктор хорош для статичных настроек, которые не меняются от отчёта к отчёту.
Программное изменение цвета серии и точки
Когда состав серий известен только в момент формирования отчёта, цвета ставят кодом. Основное свойство — Цвет у серии (и у точки в случаях, когда раскраска идёт по категориям).
Пример для формы с полем диаграммы Диаграмма: добавляем две серии и красим их.
Диаграмма.Очистить();
Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
СерияДоход = Диаграмма.УстановитьСерию("Доход");
СерияДоход.Цвет = Новый Цвет(46, 139, 87);
СерияРасход = Диаграмма.УстановитьСерию("Расход");
СерияРасход.Цвет = Новый Цвет(205, 55, 55);
Диаграмма.УстановитьЗначение("Январь", СерияДоход, 120000);
Диаграмма.УстановитьЗначение("Январь", СерияРасход, 95000);
Цвет задают через Новый Цвет(R, G, B) с компонентами от 0 до 255 либо берут готовые значения из наборов веб-цветов и цветов стиля. Для корпоративной палитры удобнее хранить три компонента в одном месте, например в общем модуле, чтобы не размазывать числа по формам.
Для круговой диаграммы красят точки: перебирайте точки диаграммы и присваивайте цвет по таблице соответствия «значение → цвет». Если в таблице нет нужного значения, оставляйте цвет по умолчанию, иначе новые категории окажутся неотличимыми.
Названия методов и свойств диаграммы проверяйте во встроенной справке вашей версии платформы. Состав методов Диаграмма отличается от ДиаграммаГанта и от диаграмм в отчётах на СКД, где вывод идёт через результат компоновки.
Единая палитра: порядок действий
Если в организации десяток диаграмм, красить каждую вручную дорого. Заведите одну процедуру и вызывайте её везде.
- Создайте в общем модуле функцию, которая возвращает массив цветов в нужном порядке: сначала основной фирменный, затем акцентные и нейтральные.
- Напишите процедуру, которая принимает диаграмму и обходит её серии по порядку, присваивая каждой цвет из массива.
- Вызовите процедуру в конце формирования каждой диаграммы, когда все серии уже добавлены.
- Для серий с постоянным смыслом («План», «Факт») держите отдельное соответствие «имя → цвет». Тогда факт всегда синий, а план серый, даже если порядок серий изменился.
- Проверьте результат на диаграмме с одной серией, с максимальным числом серий и без данных вообще: пустая диаграмма не должна вызывать ошибку.
Так цвета меняются в одном месте, а не в двадцати формах, и вы не расходитесь с брендбуком после очередной правки.
Контраст и читаемость
Подбирая цвета, держите в голове три простых критерия.
- Соседние серии отличаются по яркости, а не только по оттенку.
- Подписи значений читаются на фоне столбца: на тёмном столбце светлый текст, на светлом тёмный.
- Основная серия заметнее второстепенных: её делают насыщенной, а фон и справочные линии серыми.
Хороший тест: уменьшите диаграмму до размера открытки и прищурьтесь. Если ряды всё ещё различимы, палитра подобрана удачно, а если сливаются, разведите оттенки сильнее.
Один акцентный цвет на фоне нейтральных читается лучше, чем разноцветная радуга: глаз сразу находит главное.
Цвет в зависимости от значения
Типичная задача: отрицательные значения красным, положительные зелёным, значения выше плана — жирным акцентом. У диаграммы нет аналога условного оформления таблицы, поэтому правило задаёт код.
Схема простая:
- Получаете значения для каждой точки.
- Сравниваете с порогом (нулём, планом, прошлым периодом).
- Выбираете цвет и присваиваете его серии или точке.
Если серия одна, а раскрасить нужно столбцы по-разному, разделите данные на две серии: «Выше плана» и «Ниже плана». В каждую серию попадают только свои значения, остальные ячейки остаются пустыми. Серии получают разные цвета, а легенда сама объясняет смысл. Это надёжнее, чем красить отдельные столбцы, и работает во всех версиях.
Не опирайтесь на пару «красный и зелёный»: часть людей плохо различает эти цвета. Добавьте разницу по яркости или подпись значений на столбцах.
Палитры и темы оформления
Если цвета серий не заданы, платформа берёт их из встроенной последовательности: первая серия получает один цвет, вторая другой и так далее. Поэтому одна и та же диаграмма выглядит одинаково у всех, но не совпадает с фирменным стилем.
Чтобы получить единую палитру, есть два пути.
- Своя палитра в коде. Список цветов хранится массивом, а серии красятся по порядковому номеру:
Цвета[НомерСерии % Цвета.Количество()]. Остаток от деления нужен, чтобы при большом числе серий цвета повторялись, а не вызывали ошибку выхода за границы. - Цвета стиля. Элементы стиля конфигурации (раздел «Стили» в дереве конфигурации) хранят именованные цвета. Цвет, взятый из стиля, меняется в одном месте для всех форм сразу.
Общее правило: 5–7 серий — предел, после которого различить цвета на глаз трудно. Если серий больше, объединяйте мелкие в «Прочие» или переходите на таблицу.
Для тёмных тем интерфейса проверяйте контраст: светлые линии на светлом фоне области построения исчезают. Если фон области построения не задан явно, диаграмма подстраивается под общий фон формы, а явно заданный цвет остаётся тем же и в светлом, и в тёмном оформлении.
Как диаграмма выглядит на разных устройствах
Цвет, который хорошо виден на мониторе, может потеряться на другом носителе.
- 🖥 Монитор. Тут проблем меньше всего, но проверьте контраст соседних серий.
- 🖨 Чёрно-белая печать. Средне-серые оттенки сливаются. Если отчёт печатают на ч/б принтере, различайте серии не только цветом, но и штриховкой, маркерами или подписями значений.
- 📱 Мобильный клиент и веб-клиент. Отрисовка зависит от клиента, и мелкие различия в оттенках могут сгладиться. Берите заметно разные цвета и крупные подписи.
- 📄 Выгрузка в PDF и Excel. Цвета в PDF сохраняются, в Excel диаграмма уходит как картинка либо перестраивается средствами табличного процессора и может измениться.
Перед массовой рассылкой пробного отчёта выведите его на печать или в PDF и посмотрите глазами получателя.
Как сохранить и перенести настройки цвета
Настройки зависят от того, где они заданы.
| Где заданы цвета | Как сохранить | Как перенести |
|---|---|---|
| Пользовательская настройка отчёта | Сохранить вариант отчёта или настройку | Через общий вариант отчёта или сохранённую настройку, если права позволяют |
| Свойства поля формы | Сохраняются в конфигурации | Обновлением конфигурации, расширением |
| Код | Живут в модуле | Обновлением конфигурации, расширением |
Если конфигурация типовая и стоит на поддержке, правка форм и модулей усложняет обновление. Для типовых конфигураций надёжнее подключить доработку через расширение: оно переживает обновление и не нарушает поддержку. Расширения появились в платформе 8.3.6, и сейчас это штатный способ вносить такие правки.
Для картинки диаграммы есть и другой вариант: сохранить её из табличного документа как изображение и вставить в презентацию. Тогда цвета фиксируются как есть и больше не зависят от настроек.
Типичные проблемы
- 🔴 Цвет не меняется после правки кода. Цвет серии нужно задавать после её создания, а не до, и до вывода значений. Проверьте также, что диаграмма не перезаписывается позже в процедуре.
- 🔴 Все секторы круговой диаграммы одного оттенка. Вы покрасили серию, а нужно красить точки.
- 🔴 Цвета «прыгают» между формированиями отчёта. Серии добавляются в разном порядке, а цвета берутся по порядковому номеру. Привяжите цвет к имени серии, а не к её месту.
- 🔴 Легенда и столбцы разного цвета. Цвет и в легенде, и в графике идёт от одной серии; расхождение говорит о том, что где-то цвет переопределяется второй раз.