Цветовые настройки в 1С:Предприятие — это не только вопрос эстетики, но и функциональности. Правильно подобранная палитра помогает выделить критичные данные в отчетах, улучшить восприятие интерфейса или адаптировать программу под корпоративный стиль компании. Однако далеко не все пользователи знают, что в 1С 8.3 и 8.2 цвет можно менять на разных уровнях: от отдельных ячеек таблицы до глобальных тем оформления.

В этой статье мы разберем все возможные способы изменения цвета — от простых действий в пользовательском режиме (без программирования) до сложных модификаций через Конфигуратор и встроенный язык . Особое внимание уделим типичным ошибкам, которые приводят к "сбитым" цветам после обновлений платформы, и покажем, как их избежать. Если вы никогда не работали с настройками оформления — не беспокойтесь: первые разделы написаны специально для новичков.

Для опытных разработчиков приготовили продвинутые техники: динамическое изменение цветов через Управляемые формы, работу с Стилями и даже создание собственных Цветовых схем для всей базы. А в конце статьи — FAQ с ответами на самые неочевидные вопросы, например, почему цвета в печатных формах могут отличаться от экранных даже при правильных настройках.

1. Базовые способы изменения цвета без программирования

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

В большинстве версий 1С 8.3 (особенно в управляемых формах) цвет текста или фона ячейки меняется через контекстное меню. Например, в документе Реализация товаров или отчете Оборотно-сальдовая ведомость:

  • 📋 Выделите нужную ячейку(и) в таблице правой кнопкой мыши → Свойства → вкладка Оформление.
  • 🎨 В разделе Цвет текста/Цвет фона выберите цвет из палитры или введите hex-код (например, #FF0000 для красного).
  • 💾 Сохраните изменения — они применятся только к текущему документу/отчету.

Обратите внимание: такие настройки не сохранятся после обновления конфигурации или перезапуска базы. Их придется повторять заново. Также в некоторых формах (например, в Справочниках) опция изменения цвета может быть отключена администратором.

💡

Если в контекстном меню нет пункта "Свойства", попробуйте нажать Ctrl+Shift+P — это горячая клавиша для вызова панели оформления в большинстве управляемых форм.

2. Настройка цветовых схем для всей базы

Если вам нужно изменить цвета глобально — например, сделать темную тему интерфейса или привести все формы к корпоративным цветам компании — потребуется доступ к Конфигуратору с правами администратора. В 1С 8.3 это делается через Цветовые схемы.

Инструкция:

  1. Откройте Конфигуратор (через ярлык запуска или из пользовательского режима по Файл → Конфигуратор).
  2. Перейдите в Администрирование → Цветовые схемы (в некоторых версиях путь может быть Сервис → Настройки → Цветовые схемы).
  3. Создайте новую схему или отредактируйте существующую (например, Основная).
  4. В редакторе схем вы увидите дерево элементов интерфейса: Фон формы, Текст кнопки, Заголовок группы и т.д. Настройте цвета для каждого элемента.
  5. Сохраните схему и примените её ко всей базе через Администрирование → Настройки пользователя → Цветовая схема.

Важно: изменения применятся ко всем пользователям, если не настроены индивидуальные профили. Также некоторые элементы (например, Подсказки или Сообщения об ошибках) могут игнорировать цветовую схему из-за жестко прописанных стилей в платформе.

Как вернуть стандартные цвета, если схема "сбилась"

Если после изменений интерфейс стал нечитаемым (например, белый текст на белом фоне), загрузите стандартную схему из резервной копии или создайте новую схему на основе шаблона 1С:Стандартная. В крайнем случае можно сбросить настройки через реестр Windows (путь: HKEY_CURRENT_USER\Software\1C\1Cv8\8.3\...\[ИмяБазы]\Colors), но это требует осторожности!

3. Изменение цвета через управляемые формы (для программистов)

Для гибкой настройки цветов в конкретных формах (например, покрасить отрицательные остатки в красный или выделить просроченные документы) используется встроенный язык . Этот метод требует знаний программирования, но дает максимальный контроль.

Пример кода для изменения цвета текста в таблице документа:

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// Покрасим отрицательные суммы в красный

Для Каждого Строка Из Объект.ТабличнаяЧасть1 Цикл

Если Строка.Сумма < 0 Тогда

Строка.ЦветТекста = Новый Цвет(255, 0, 0); // Красный

Строка.ЦветФона = Новый Цвет(255, 230, 230); // Светло-красный фон

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Где применять такой код:

  • 📄 В модуле объекта (для документов/справочников).
  • 🖥️ В модуле управляемой формы (для динамического изменения при взаимодействии пользователя).
  • 📊 В модуле отчета (для выделения критичных данных в результатах).

Для работы с цветами в коде используются классы Цвет (для RGB) и WebЦвет (для HEX-кодов). Например:

ЦветФона = Новый Цвет(200, 230, 200); // RGB

ЦветТекста = Новый WebЦвет("#FF5733"); // HEX

📊 Какой способ изменения цвета вам ближе?
Через пользовательское меню (без кода)
Настройка цветовых схем в Конфигураторе
Программирование в управляемых формах
Печатные формы и макеты

4. Цвета в печатных формах и макетах

Отдельная история — настройка цветов в печатных формах (.mxl или .ert файлах). Здесь логика отличается от экранных форм, и изменения вносятся через Конфигуратор → Макеты.

Алгоритм:

  1. Откройте нужный макет (например, ПечатнаяФормаРеализации) в режиме редактирования.
  2. Выделите текстовый блок или ячейку таблицы, цвет которой хотите изменить.
  3. В панели свойств найдите параметры ЦветТекста, ЦветФона или ЦветЛинии (для границ).
  4. Задайте нужные значения. Для динамических цветов (например, подсветка просроченных строк) используйте выражения вида:
    ЕСЛИ Данные.ДатаОплаты < ТекущаяДата() ТОГДА Новый Цвет(255,0,0) ИНАЧЕ Новый Цвет(0,0,0) КОНЕЦЕСЛИ

Важный нюанс: цвета в печатных формах могут отображаться иначе при выводе на принтер или сохранении в PDF. Это связано с:

  • 🖨️ Настройками драйвера принтера (например, "Экономия тонера" сбрасывает цвета в черно-белый режим).
  • 📄 Форматом экспорта (PDF/A не поддерживает некоторые цветовые профили).
  • 🌈 Цветовым профилем монитора (на экране RGB, в печати CMYK).
💡

Для критичных документов (например, счетов-фактур) всегда проверяйте конечный вид печатной формы через предварительный просмотр (Файл → Печать → Предварительный просмотр) перед отправкой контрагенту.

5. Динамическое изменение цветов по условиям

Одна из самых мощных возможностей — динамическая смена цветов в зависимости от данных. Например, можно автоматически:

  • 🔴 Подсвечивать отрицательные остатки на складе.
  • 🟡 Выделять документы с истекшим сроком действия.
  • 🟢 Помечать оплаченные счета зеленым.

Пример кода для управляемой формы справочника Номенклатура (покрасим строки с нулевым остатком):

&НаКлиенте

Процедура ТаблицаОстаткиПриАктивизацииСтроки(Элемент)

ТекущаяСтрока = Элементы.ТаблицаОстатки.ТекущаяСтрока;

Если ТекущаяСтрока.Остаток = 0 Тогда

ТекущаяСтрока.ЦветФона = Новый Цвет(255, 200, 200); // Светло-красный

Иначе

ТекущаяСтрока.ЦветФона = Новый Цвет(255, 255, 255); // Белый

КонецЕсли;

КонецПроцедуры

Для отчетов (например, Ведомость по товарам) логику цветов прописывают в модуле объекта:

&НаСервере

Процедура ПриКомпоновкеРезультата(ДанныеРасшифровки, Данные, СтандартнаяОбработка)

Для Каждого Строка Из Данные Цикл

Если Строка.Остаток < 0 Тогда

Строка.ЦветТекста = Новый Цвет(255, 0, 0);

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Совет: для сложных условий (например, градиентная подсветка по пороговым значениям) используйте функции расчета цвета:

Функция ПолучитьЦветПоЗначению(Значение, МинЗначение, МаксЗначение)

// Логика расчета оттенка от зеленого (МинЗначение) до красного (МаксЗначение)

...

КонецФункции

6. Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при работе с цветами. Вот самые распространенные:

Ошибка Причина Решение
Цвета сбиваются после обновления платформы В новых версиях меняются стандартные стили Используйте относительные цвета (например, ЦветТекста = ЦветСхемы.ТекстОбычный) вместо жестких RGB
Цвета не сохраняются в пользовательских настройках Настройки хранятся в профиле пользователя, который может сброситься Прописывайте цвета в коде формы или в цветовой схеме
Печатная форма черно-белая, несмотря на настройки Драйвер принтера переопределяет цвета В настройках печати выберите "Цветная печать" и отключите "Экономию тонера"
Цвета в Тонком клиенте отличаются от Толстого Разные механизмы рендеринга Тестируйте оформление в обоих режимах

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

  • 🔄 Кэширование рассчитанных цветов.
  • 📊 Групповое применение стилей (например, через УстановитьДействие для всей таблицы).
  • 🖥️ Отключение динамического оформления для фоновых задач.

☑️ Проверка перед изменением цветов

Выполнено: 0 / 4

7. Работа с цветами в отчетах (СКД)

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

  • 📈 Раскрасить столбцы диаграммы по категориям товаров.
  • 🔍 Выделить топ-5 клиентов по обороту.
  • ⚠️ Подсветить убыточные позиции.

Пример настройки условного оформления в СКД:

  1. Откройте отчет в Конфигураторе и перейдите на вкладку Настройки → Условное оформление.
  2. Добавьте новое правило, например: ЕСЛИ Оборот < 0 ТОГДА ЦветТекста = Красный.
  3. Примените правило к нужным полям (например, колонке Прибыль).
  4. Для диаграмм используйте вкладку Диаграмма → Палитра, чтобы задать цветовую гамму серий.

Внимание: в СКД цвета можно задавать как статически (через палитру), так и динамически (через выражения). Например, для раскраски ячеек по пороговым значениям:

ЕСЛИ Оборот > 1000000 ТОГДА Новый Цвет(0, 200, 0) // Зеленый для высоких продаж

ИНАЧЕ ЕСЛИ Оборот < 1000 ТОГДА Новый Цвет(200, 0, 0) // Красный для низких

ИНАЧЕ Новый Цвет(0, 0, 0) // Черный для остальных

КОНЕЦЕСЛИ

💡

Для сложных отчетов с большим количеством правил оформления используйте Внешние настройки СКД. Это позволит хранить стили отдельно от кода и быстро их обновлять.

8. Продвинутые техники: стили и темы оформления

Для крупных проектов, где требуется единообразие оформления, в 1С 8.3 предусмотрены механизмы Стилей и Тем оформления. Они позволяют:

  • 🎭 Создавать несколько тем (например, "Дневная" и "Ночная").
  • 🔄 Быстро переключаться между ними без перезагрузки базы.
  • 📦 Экспортировать/импортировать стили между разными базами.

Пример создания стиля:

// В модуле управляемого приложения

&НаСервере

Процедура ПриНачалеРаботыСистемы()

Стиль = Стили.СоздатьСтиль();

Стиль.ЦветФона = Новый Цвет(240, 240, 240);

Стиль.ЦветТекста = Новый Цвет(50, 50, 50);

Стиль.Имя = "КорпоративныйСтиль";

Стили.Добавить(Стиль);

КонецПроцедуры

Чтобы применить стиль ко всем формам:

Стиль = Стили.НайтиПоИмени("КорпоративныйСтиль");

Если Стиль <> Неопределено Тогда

Приложение.УстановитьСтильОформления(Стиль);

КонецЕсли;

Для динамического переключения тем (например, по времени суток) используйте обработчик ПриНачалеРаботыСистемы:

Если ТекущееВремя() > Время(18,0,0) ИЛИ ТекущееВремя() < Время(6,0,0) Тогда

Приложение.УстановитьСтильОформления(Стили.НайтиПоИмени("НочнаяТема"));

Иначе

Приложение.УстановитьСтильОформления(Стили.НайтиПоИмени("ДневнаяТема"));

КонецЕсли;

💡

Стили оформления — самый поддерживаемый способ кастомизации интерфейса. Они сохраняются при обновлениях платформы и позволяют быстро адаптировать внешний вид под требования заказчика.

⚠️ Внимание: В версиях 1С 8.3.20+ изменился механизм работы со стилями. Если вы используете старые обработки для смены тем, проверьте их совместимость в документации к вашей версии платформы. Некоторые методы (например, УстановитьЦветовуюСхему) могут быть устаревшими.

FAQ: Частые вопросы по работе с цветами в 1С

Можно ли изменить цвет только для одного пользователя, не затрагивая остальных?

Да, для этого:

  1. Создайте индивидуальную Цветовую схему в Конфигураторе.
  2. В пользовательских настройках (Администрирование → Пользователи → [Выбрать пользователя] → Настройки) привяжите ему эту схему.

Также можно использовать Профили пользователей, если они настроены в вашей базе.

Почему после обновления 1С все цвета сбились на стандартные?

Это typичная проблема при переходе на новую версию платформы. Причины:

  • В новой версии изменились стандартные стили (например, ЦветСхемы.ТекстОбычный).
  • Обновились шаблоны печатных форм.

Решение: проверьте логи обновления (файл update.log в каталоге базы) и вручную перенастройте цвета. Для печатных форм может потребоваться повторно сохранить макеты.

Как сделать градиентную заливку в ячейках таблицы?

В стандартных средствах градиент не поддерживается, но можно эмулировать его:

  1. Разбейте ячейку на несколько подячеек с плавным переходом цвета.
  2. Используйте ПолеHTMLДокумента с CSS-градиентом (только для экранных форм).
  3. Для печатных форм экспортируйте в Excel и настраивайте градиент там.

Пример CSS-кода для ПолеHTMLДокумента:

ЭлементыФормы.ПолеHTML.Значение =

"|";

Можно ли в 1С использовать цвета в формате HEX (#FFFFFF)?

Да, для этого используется класс WebЦвет. Примеры:

ЦветТекста = Новый WebЦвет("#FF5733"); // Оранжевый

ЦветФона = Новый WebЦвет("#E0E0E0"); // Светло-серый

Также можно конвертировать HEX в RGB:

Функция HEXвRGB(HEXЦвет)

Возврат Новый Цвет(

Число("0x" + Сред(HEXЦвет, 2, 2)),

Число("0x" + Сред(HEXЦвет, 4, 2)),

Число("0x" + Сред(HEXЦвет, 6, 2))

);

КонецФункции

Как сбросить все настройки цветов к стандартным?

Способы в зависимости от ситуации:

  • Для пользовательских настроек: удалите файл 1CV8.usr из профиля пользователя (путь: %APPDATA%\1C\1Cv8\...).
  • Для цветовых схем: в Конфигураторе удалите все кастомные схемы и примените стандартную.
  • Для печатных форм: восстановление из резервной копии или повторное сохранение макетов.

⚠️ Предупреждение: удаление 1CV8.usr сбросит все пользовательские настройки, не только цвета!