Свои цвета в 1С 8.3: строки списков, отчёты, формы и печать

· 9 мин

Содержание

Изменить цвет в 1С Предприятие проще всего через условное оформление: в списке откройте Ещё → Настроить список, перейдите на вкладку «Условное оформление», задайте условие и цвет текста или фона. Программист для этого не нужен, настройка сохраняется за пользователем.

Частое заблуждение — что где-то в параметрах есть переключатель «тема оформления», как в Windows. В интерфейсе «Такси» цвета окон берутся из стиля конфигурации. Пользователь меняет цвета строк, ячеек отчётов и печатных форм, а палитру всей программы меняет разработчик в конфигураторе.

Где какой цвет меняется: карта возможностей

Прежде чем что-то настраивать, определите, какой именно цвет вам мешает. От этого зависит, кто и где его меняет.

Что хотите покраситьГде меняетсяКто можетНужен конфигуратор
Строки списка документов или справочникаУсловное оформление спискаПользовательНет
Ячейки и строки отчётаНастройки отчёта, условное оформлениеПользовательНет
Ячейки печатной формыМакет печатной формыОтветственный пользователь или администраторНет (в БСП)
Поле или кнопка на формеСвойства элемента формыРазработчикДа
Фон и цвета всех оконСтиль конфигурацииРазработчикДа
Цвета диаграммыСвойства диаграммы или настройки отчётаРазработчик, частично пользовательЧаще да
Что вы хотите перекрасить?

Цвет строк в списках: условное оформление в пользовательском режиме

Это самый востребованный сценарий. Например, бухгалтер хочет видеть непроведённые документы красным, а реализации больше 100 000 ₽ — жирным на жёлтом фоне.

Пошагово

  1. Откройте нужный список, например «Реализация (акты, накладные)».
  2. Нажмите Ещё → Настроить список.
  3. Перейдите на вкладку «Условное оформление».
  4. Нажмите «Добавить». Откроется окно нового правила.
  5. В блоке условия выберите поле и вид сравнения. Пример: Сумма → «Больше» → 100000.
  6. В блоке оформления отметьте «Цвет фона» или «Цвет текста» и выберите цвет из палитры.
  7. В блоке оформляемых полей оставьте пусто, чтобы красилась вся строка, или укажите одну колонку.
  8. Нажмите «ОК», затем «Завершить редактирование».

Правило действует сразу. Оно хранится в настройках вашего пользователя и не влияет на коллег.

Несколько правил сразу

Правил можно сделать сколько угодно. Если два правила срабатывают на одну строку, видно последнее по списку оформление. Порядок меняют стрелками в окне настроек.

Не красьте фон строки там, где важно видеть текущую позицию курсора. Подсветка выделенной строки перекрывает ваш фон, и кажется, что правило «пропало».

Как отменить

Если оформление стало мешать, снимите галочку у правила или удалите его. Команда «Установить стандартные настройки» в меню Ещё сбрасывает все ваши настройки списка разом — включая отборы и колонки.

Цвета в отчётах и диаграммах

Отчёты на системе компоновки данных (СКД) красятся тем же механизмом. В типовых конфигурациях это почти все отчёты: ОСВ, анализ субконто, отчёты по продажам.

Подсветить значения в отчёте

  1. Откройте отчёт и нажмите кнопку «Настройки».
  2. Переключите вид настроек на расширенный.
  3. Откройте вкладку условного оформления и добавьте правило.
  4. Задайте условие, например «Конечное сальдо Дт» → «Меньше» → 0.
  5. В оформлении выберите красный цвет текста.
  6. Сформируйте отчёт заново.

Чтобы правило не пропало, сохраните вариант отчёта: Ещё → Сохранить вариант отчёта (или команду сохранения варианта на панели отчёта). Иначе после закрытия отчёт вернётся к исходным настройкам.

Макет оформления отчёта

В параметрах вывода СКД есть макет оформления — готовый набор цветов шапки, группировок и итогов. В конфигураторе его выбирают на вкладке параметров вывода схемы. Смена макета перекрашивает весь отчёт за один шаг.

Цвета диаграмм

Диаграмма в отчёте получает цвета серий автоматически из палитры. Если два ряда сливаются, у разработчика два пути:

  • 🎨 сменить палитру диаграммы в её свойствах;
  • 🖌️ задать цвет конкретной серии в коде через свойство Цвет.
// Цвет первой серии диаграммы — тёмно-синий
Диаграмма.Серии[0].Цвет = Новый Цвет(31, 78, 121);

Цвета через конфигуратор: элемент формы, условное оформление в коде

Когда цвет должен быть у всех пользователей сразу, настройку переносят в конфигуратор.

Статически: свойства элемента

Откройте форму в конфигураторе, выделите элемент, в палитре свойств найдите ЦветТекста, ЦветФона или ЦветРамки. Диалог выбора цвета предлагает цвета стиля, web-цвета, системные цвета Windows и произвольный RGB.

Выбирайте цвет из стиля, а не RGB-код. Тогда при смене стиля поле перекрасится вместе со всей программой, а не останется «белым пятном».

Динамически: в модуле формы

Простая смена цвета при открытии формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Элементы.Комментарий.ЦветФона = Новый Цвет(255, 250, 205);
	Элементы.Комментарий.ЦветТекста = ЦветаСтиля.ПоясняющийТекст;
КонецПроцедуры

Для списков менять ЦветФона элемента бесполезно — он покрасит всю колонку. Строки по условию красят через условное оформление формы:

&НаСервере
Процедура ДобавитьКрасныйДляОтрицательных()
	ЭлементОформления = УсловноеОформление.Элементы.Добавить();

	ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
	ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокСумма.Имя);

	Отбор = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	Отбор.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Список.Сумма");
	Отбор.ВидСравнения   = ВидСравненияКомпоновкиДанных.Меньше;
	Отбор.ПравоеЗначение = 0;
	Отбор.Использование  = Истина;

	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
КонецПроцедуры

Вызовите процедуру из ПриСозданииНаСервере. Здесь Список — динамический список формы, СписокСумма — имя колонки на форме.

Если поле из условия не выведено колонкой в динамический список, отметьте у него в настройках списка флаг «Использовать всегда». Без этого платформа не выбирает поле из базы, и условие не срабатывает.

Свой стиль: как перекрасить программу целиком

Цвета всех окон задаёт стиль. В дереве конфигурации он лежит в ветке Общие → Стили, а отдельные цвета, шрифты и рамки — в Общие → Элементы стиля.

Порядок работы

  1. В конфигураторе раскройте Общие → Стили и добавьте новый стиль.
  2. В редакторе стиля задайте свои значения для системных элементов: фон формы, цвет кнопок, цвет поясняющего текста и так далее.
  3. Добавьте собственные элементы в Общие → Элементы стиля, например ЦветПросроченного с типом «Цвет».
  4. Укажите новый стиль основным в свойствах корня конфигурации.
  5. Обновите конфигурацию базы данных и перезапустите сеанс 1С.

Собственные элементы стиля потом используются в формах и коде как ЦветаСтиля.ЦветПросроченного. Захотели поменять оттенок — правите один элемент, а не 40 форм.

Когда делать это НЕ нужно

  • 🚫 Типовая конфигурация на полной поддержке, а цель — «чтобы было приятнее глазу». Каждое обновление превратится в сравнение-объединение.
  • 🚫 Нужно отличать рабочую базу от копии. Для этого проще поменять заголовок программы в общих настройках раздела Администрирование, чем вести отдельный стиль.
  • 🚫 Мешает яркость монитора. Это решается настройками Windows и масштабом в Сервис и настройки → Параметры, а не правкой конфигурации.

Цвет в печатных формах: заливка, текст, рамки

Печатная форма — это табличный документ по макету. Цвет ячеек хранится в самом макете.

Через пользовательский режим (конфигурации на БСП)

В БП 3.0, ЗУП 3.1, УТ 11 есть встроенный редактор макетов:

  1. Откройте Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.
  2. Найдите макет по названию печатной формы.
  3. Откройте его на изменение — программа создаст пользовательскую копию.
  4. Выделите ячейки и задайте цвет фона или текста в свойствах ячейки.
  5. Сохраните и закройте. Новая печать пойдёт по изменённому макету.

Если результат не понравился, верните стандартный макет командой в том же списке. Типовой макет при этом не меняется, обновления его не затрут.

Через конфигуратор и код

В конфигураторе макет открывается двойным щелчком, свойства ячейки — через контекстное меню. Цвет можно задать и при формировании:

Область = ТабДок.Область("R5C2:R5C8");
Область.ЦветФона = Новый Цвет(242, 242, 242);
Область.ЦветТекста = WebЦвета.Черный;

Перед тем как красить печатную форму, распечатайте пробную страницу на офисном принтере. На чёрно-белом лазерном принтере светлая заливка уходит в бледно-серый, а жёлтая часто исчезает совсем.

Расширения и внешние обработки: цвет без снятия с поддержки

Для типовых конфигураций правильный путь — расширение конфигурации (появились в платформе 8.3.6). Основная конфигурация остаётся на поддержке, а изменения живут отдельно и переживают обновления.

Как перекрасить поле типовой формы расширением

  1. В конфигураторе: Конфигурация → Расширения конфигурации, создайте новое расширение.
  2. В основной конфигурации найдите нужную форму и добавьте её в расширение через контекстное меню.
  3. В модуле заимствованной формы добавьте обработчик с аннотацией &После:
&НаСервере
&После("ПриСозданииНаСервере")
Процедура Расш1_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Элементы.Комментарий.ЦветФона = Новый Цвет(255, 250, 205);
КонецПроцедуры
  1. Обновите конфигурацию базы данных и перезапустите 1С.

Если в типовой форме нет обработчика ПриСозданииНаСервере, создайте обычный обработчик события формы в самом расширении.

Перед установкой расширения в рабочую базу проверьте его на копии — ошибка в модуле заимствованной формы не даст открыть эту форму никому.

Что умеют внешние обработки

Внешняя обработка не перекрашивает чужие формы. Её место — дополнительные печатные формы и отчёты со своим оформлением, которые подключаются через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Цвета в них задаются в собственном макете обработки.

Почему цвет не меняется: частые проблемы

СимптомВероятная причинаЧто сделать
Правило условного оформления есть, строки не красятсяУсловие не выполняется или поле не выбирается из базыПроверьте условие на одной строке; в конфигураторе отметьте «Использовать всегда»
Цвет виден, пока строка не выделенаПодсветка текущей строки перекрывает фонКрасьте текст, а не фон
Настройки списка пропалиНажата «Установить стандартные настройки» или очищены настройки пользователяНастройте заново; важные правила перенесите в конфигурацию
Цвет в отчёте сбросился после закрытияНе сохранён вариант отчётаСохраните вариант с правилами
После обновления типовой конфигурации исчезли цвета формыПравка была в основной конфигурацииПеренесите изменения в расширение
Цвет в коде задан, но поле прежнееЕго перебивает условное оформление формыПроверьте условное оформление формы в конфигураторе

Если программа после обновления выглядит «не так», проверьте ещё кэш клиента: запуск с параметром /ClearCache в свойствах ярлыка или в дополнительных параметрах запуска базы. Делайте это при закрытом сеансе.

Как подобрать цвета, чтобы ими было удобно пользоваться

Цвет в учётной программе — это сигнал, а не украшение. Пара правил из практики:

  • 🎯 Один цвет — одно значение. Красный — «ошибка или долг», зелёный — «оплачено». Если красный в одном списке значит просрочку, а в другом — VIP-клиента, им перестают доверять.
  • 🔢 Не больше 3–4 цветов на экран. Пёстрый список читается хуже, чем без оформления.
  • 👁️ Учитывайте цветовую слепоту. Пару «красный — зелёный» многие не различают. Дублируйте цвет жирным шрифтом или значком.
  • 🌫️ Фон — светлый, текст — насыщенный. Тёмный текст на бледной заливке читается лучше, чем белый на ярком.
  • 🖨️ Для печати — минимум цвета. Документы уходят контрагентам, в архив и в налоговую чаще всего чёрно-белыми.

Удобные пары для фона строки (RGB):

СмыслФонТекст
Внимание255, 242, 204обычный
Ошибка, долг255, 228, 225192, 0, 0
Готово, оплачено226, 239, 218обычный
Неактуальнобез заливки150, 150, 150
Увидят ли коллеги цвета, которые я настроил в списке?
Нет. Условное оформление из Ещё → Настроить список хранится в настройках вашего пользователя. Чтобы цвета были у всех, их переносят в конфигурацию или копируют настройки другим пользователям через администрирование настроек.
Можно ли включить тёмную тему в 1С 8.3?
В типовом интерфейсе «Такси» переключателя тёмной темы для пользователя нет. Тёмную палитру можно собрать своим стилем в конфигураторе, но это объёмная работа: придётся проверить все формы с жёстко заданными цветами.
Работает ли условное оформление в веб-клиенте?
Да. Условное оформление и стили одинаково отображаются в тонком и веб-клиенте.
Почему в коде лучше писать ЦветаСтиля, а не Новый Цвет?
Цвет стиля меняется в одном месте для всей программы. Код с конкретным RGB придётся искать и править в каждой форме.
Слетят ли мои цвета печатной формы после обновления?
Если правили пользовательскую копию макета в БСП — нет, копия хранится отдельно. Но при изменении типового макета в новом релизе программа может предложить сравнить или сбросить копию: проверьте печать после обновления.