Цвет текста в 1С:Предприятие 8.3 — это не просто эстетический элемент, а важный инструмент визуального разделения информации. Красный шрифт для отрицательных остатков, зеленый для подтвержденных документов, синий для ссылок — такие приемы помогают пользователям быстрее ориентироваться в данных. Однако стандартные настройки платформы часто ограничивают возможности оформления, особенно в типовых конфигурациях типа Бухгалтерия 3.0 или Управление торговлей 11.
В этой статье мы разберем все доступные способы изменения цвета шрифта — от простых настроек через интерфейс до программного кода на встроенном языке. Вы узнаете, как покрасить текст в отчетах, документах, управляемых формах и даже в печатных формах. А еще — какие ограничения действуют для тонкого и толстого клиента, и почему некоторые методы работают только в режиме Конфигуратор.
Если вам нужно срочно поменять цвет для одного документа — переходите сразу к разделу про условное оформление. Для глобальных изменений во всей базе потребуется редактировать конфигурацию. Готовы? Начнем с самого простого.
1. Изменение цвета через условное оформление (без программирования)
Самый доступный способ — использовать условное оформление, которое доступно в большинстве списков, отчетов и документов. Этот метод не требует прав редактирования конфигурации и работает даже для обычных пользователей (при наличии соответствующих прав доступа).
Рассмотрим на примере списка документов Реализация товаров и услуг в конфигурации Управление торговлей 11:
- 📋 Откройте нужный список документов (например, через раздел
Продажи → Реализация товаров и услуг) - ⚙️ Нажмите кнопку
Еще → Условное оформление(илиДействия → Условное оформлениев некоторых версиях) - ➕ В открывшемся окне нажмите
Добавитьи задайте условия:- Выберите поле для условия (например,
СтатусилиСумма документа) - Укажите оператор (
Равно,Большеи т.д.) и значение - В разделе
ОформлениевыберитеЦвет текстаи укажите нужный оттенок
- Выберите поле для условия (например,
- 💾 Сохраните настройки кнопкой
ОК
⚠️ Внимание: Условное оформление действует только для текущего пользователя и сеанса. Чтобы применить его для всех, потребуется редактировать конфигурацию (см. раздел 3).
Если в списке условного оформления нет нужного цвета, попробуйте ввести его шестнадцатеричный код (например, #FF0000 для красного) в поле ручного ввода цвета.
Этот метод отлично подходит для:
- 🔴 Выделения просроченных документов
- 🟢 Подсветки оплаченных счетов
- 🔵 Обозначения черновиков или неconducted документов
2. Настройка цвета в печатных формах через конструктор
Печатные формы в 1С часто требуют специфического оформления — например, цветные заголовки или выделение важных реквизитов. Для этого не обязательно писать код: достаточно использовать встроенный конструктор печатных форм.
Инструкция по шагам:
- Откройте нужный документ (например,
Счет на оплату) - Перейдите в меню
Печать → Конструктор печатных форм - В открывшемся окне выделите текстовый элемент, цвет которого хотите изменить
- В панели свойств справа найдите раздел
Шрифти выберите:Цвет текста— для изменения цвета шрифтаЦвет фона— для подсветки ячейки
⚠️ Внимание: Изменения в конструкторе печатных форм сохраняются только для текущей базы. При обновлении конфигурации они могут сброситься — рекомендуем дублировать настройки в отдельном внешнем отчете.
| Тип объекта | Поддерживает ли условное оформление | Поддерживает ли цвет в печатных формах |
|---|---|---|
| Документы | ✅ Да | ✅ Да |
| Справочники | ✅ Да | ❌ Нет (только через программирование) |
| Отчеты | ✅ Да | ✅ Да (в настройках компоновки) |
| Обработки | ❌ Нет | ✅ Да (через конструктор) |
3. Программное изменение цвета через конфигуратор
Для глобальных изменений, которые будут видны всем пользователям, потребуется редактировать конфигурацию в режиме Конфигуратор. Этот метод подходит администраторам и разработчикам.
Рассмотрим два сценария: для управляемых форм и для обычных форм.
Для управляемых форм (рекомендуемый метод):
- Откройте конфигурацию в режиме
Конфигуратор - Найдите нужную форму в дереве объектов (например,
Документ.РеализацияТоваровУслуг.ФормаДокумента) - Откройте форму в редактор и выделите элемент (например, поле
СуммаДокумента) - В панели свойств найдите раздел
Оформлениеи установите параметрЦветТекста - Для динамического изменения цвета используйте событие
ПриИзменениии код:ЭлементыФормы.СуммаДокумента.ЦветТекста =Если СуммаДокумента < 0 Тогда
Новый Цвет(255, 0, 0) // Красный
Иначе
Новый Цвет(0, 0, 0) // Черный
КонецЕсли;
Для обычных форм:
- Откройте форму в конфигураторе
- Выделите элемент управления (например,
ПолеВвода) - В свойствах найдите
ЦветТекстаи установите значение типаЦвет - Для динамического изменения используйте модуль формы:
Процедура ПриОткрытии()Если ДокументОбъект.Сумма < 0 Тогда
ЭлементыФормы.Сумма.ЦветТекста = ЦветRGB(255, 0, 0);
КонецЕсли;
КонецПроцедуры
- Откройте нужный отчет (например,
Оборотно-сальдовая ведомость) - Нажмите
Настройки → Другие настройки - Перейдите на вкладку
Оформление - В разделе
Условное оформлениедобавьте новое правило:- Укажите поле (например,
ОстатокДт) - Задайте условие (
Меньше 0) - Выберите
Цвет текста— красный
- Укажите поле (например,
- Сохраните настройки как пользовательские
Сделать резервную копию базы|Проверить права доступа|Открыть конфигуратор от имени администратора|Убедиться в отсутствии блокировок других пользователей-->
4. Изменение цвета в отчетах через систему компоновки данных
Отчеты в 1С строятся на основе системы компоновки данных (СКД), которая предоставляет гибкие инструменты для оформления. Чтобы изменить цвет текста в отчете:
Способ 1: Через настройки пользователя (не требует прав редактирования конфигурации):
Способ 2: Через конфигуратор (для постоянных изменений):
- Откройте отчет в конфигураторе
- Перейдите на вкладку
Настройки→Оформление - Добавьте новое условное оформление с нужными параметрами
- Для сложной логики используйте выражения на встроенном языке:
Выражение:Если ОстатокДт < 0 Тогда
Новый Цвет(255, 0, 0)
Иначе
Новый Цвет(0, 0, 0)
КонецЕсли
- 🖥️ Толстый клиент: Полная поддержка всех свойств оформления, включая градиенты и полупрозрачность
- 🌐 Тонкий клиент: Ограниченная поддержка — некоторые свойства цвета могут игнорироваться
- 📱 Веб-клиент: Цвета работают, но могут отличаться от отображения в толстом клиенте
- 📄 Печатные формы: Цвета сохраняются при экспорте в PDF, но могут теряться в Excel
- Использовать базовые цвета (черный, красный, зеленый, синий)
- Тестировать оформление во всех клиентах
- Избегать полупрозрачности и сложных градиентов
- 🔴 Цвет не применяется в тонком клиенте:
Проблема: Код работает в толстом клиенте, но игнорируется в тонком.
Решение: Используйте свойство
ЦветТекстаHTMLвместоЦветТекстадля веб-совместимости:Элемент.ЦветТекстаHTML = "#FF0000"; // Красный - 🟡 Цвета сбрасываются после обновления:
Проблема: Пользовательские настройки оформления пропадают при обновлении конфигурации.
Решение: Перенесите логику оформления в расширение конфигурации или внешнюю обработку.
- 🔵 Медленное формирование отчетов:
Проблема: Сложные правила условного оформления тормозят генерацию отчетов.
Решение: Оптимизируйте условия или перенесите логику в запрос с использованием
ВЫБОР КОГДА. - 🏷️ Иконки статусов: Используйте значки (✅, ❌, ⚠️) вместо цветного текста. В 1С для этого есть элемент
ПолеКартинкиили шрифтWebdings. - 🔤 Шрифтовые выделения: Жирный, курсив или подчеркивание часто заметнее цвета. Пример кода:
Элемент.Шрифт.Начертание = НачертаниеШрифта.Полужирный; - 🟦 Цветные метки: В справочниках можно использовать поле типа
Цветдля категоризации (например, цветные метки для групп номенклатуры). - 📊 Графические схемы: Для сложных данных эффективнее использовать диаграммы или графики с цветовой легендой.
⚠️ Внимание: В отчетах с большим количеством данных условное оформление может замедлить формирование. Оптимизируйте условия или используйте серверные процедуры для предварительной разметки данных.
Если после экспериментов с цветами отчет стал нечитаемым, сбросьте настройки через меню Как вернуть стандартное оформление отчета?
Настройки → Сбросить настройки или удалите пользовательские варианты оформления в конфигураторе на вкладке Оформление.
5. Динамическое изменение цвета через код (продвинутый уровень)
Для сложных сценариев, когда цвет должен меняться в зависимости от бизнес-логики, используется программный код. Рассмотрим несколько практических примеров.
Пример 1: Изменение цвета строки в таблице документа
Процедура ПриОткрытии()
Для Каждого Строка Из ДокументОбъект.Товары Цикл
Если Строка.Количество < 0 Тогда
ЭлементыФормы.Товары.ТекстЦвета(Строка) = Новый Цвет(255, 0, 0);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Пример 2: Цветное оформление в зависимости от статуса
Процедура ПриИзмененииСтатуса(Элемент)
Если ДокументОбъект.Статус = Перечисление.СтатусыДокументов.Подтвержден Тогда
ЭлементыФормы.Статус.ЦветТекста = Новый Цвет(0, 128, 0); // Зеленый
ИначеЕсли ДокументОбъект.Статус = Перечисление.СтатусыДокументов.Отменен Тогда
ЭлементыФормы.Статус.ЦветТекста = Новый Цвет(255, 0, 0); // Красный
Иначе
ЭлементыФормы.Статус.ЦветТекста = Новый Цвет(0, 0, 0); // Черный
КонецЕсли;
КонецПроцедуры
Пример 3: Использование RGB для точной настройки цвета
// Установить фиолетовый цвет для заголовка
ЭлементыФормы.ЗаголовокДокумента.ЦветТекста = Новый Цвет(128, 0, 128);
// Или через RGB-функцию
ЭлементыФормы.ЗаголовокДокумента.ЦветТекста = ЦветRGB(128, 0, 128);
⚠️ Внимание: При программном изменении цвета в тонком клиенте некоторые свойства могут не применяться из-за ограничений платформы. Всегда тестируйте код в том же режиме, в котором будет работать пользователь.
Для динамического изменения цвета используйте события формы ПриОткрытии, ПриИзменении или ПередОтображениемСтроки (для таблиц).
6. Особенности работы с цветами в разных клиентах 1С
Платформа 1С:Предприятие 8.3 поддерживает несколько режимов работы, и возможности оформления в них отличаются. Вот ключевые моменты:
Для кросс-платформенных решений рекомендуем:
| Клиент | Поддержка ЦветТекста | Поддержка ЦветФона | Поддержка градиентов |
|---|---|---|---|
| Толстый | ✅ Полная | ✅ Полная | ✅ Да |
| Тонкий | ✅ Частичная | ❌ Нет | ❌ Нет |
| Веб | ✅ Да | ⚠️ Ограниченно | ❌ Нет |
| Мобильный | ✅ Да | ❌ Нет | ❌ Нет |
Для проверки отображения цвета в тонком клиенте используйте параметр запуска /WA+ — он включает расширенные возможности оформления.
7. Типичные ошибки и как их избежать
При работе с цветами в 1С разработчики часто сталкиваются с типичными проблемами. Вот самые распространенные и способы их решения:
⚠️ Внимание: При использовании ЦветRGB() помните, что параметры указываются в порядке Красный, Зеленый, Синий (а не BGR, как в некоторых графических редакторах). Ошибка в порядке приведет к неожиданным цветам!
Еще одна частая ошибка — попытка изменить цвет в нередактируемой форме. Перед настройкой оформления всегда проверяйте свойство ТолькоПросмотр у элементов формы.
8. Альтернативные способы выделения информации
Иногда изменение цвета шрифта — не единственное (и не самое эффективное) решение для визуального выделения данных. Рассмотрим альтернативные методы:
Преимущества альтернативных методов:
- 🎨 Лучше заметны при печати на черно-белом принтере
- 👁️🗨️ Доступны для пользователей с дальтонизмом
- 📱 Стабильно работают во всех клиентах 1С
- Использовать
ЦветТекстаHTMLвместоЦветТекста - Запустить клиент с параметром
/WA+для расширенных возможностей - Проверить, не установлено ли свойство
ТолькоПросмотру элемента - В отчетах: использовать условное оформление в настройках СКД (раздел 4)
- В документах: добавить код в процедуру
ПриОткрытииформы (раздел 5) - В печатных формах: настроить оформление через конструктор (раздел 2)
⚠️ Внимание: Если вы разрабатываете конфигурацию для государственных учреждений, избегайте цветового кодирования как основного способа передачи информации — требования по доступности могут запрещать такие решения.
Для максимальной совместимости комбинируйте цветовое выделение с текстовыми метками или иконками.
Теперь, когда вы знаете все способы изменения цвета в 1С, можно переходить к практике. Начните с простых методов (условное оформление) и постепенно осваивайте программные решения. Помните: главная цель — не красота, а удобство восприятия информации пользователями.
FAQ: Частые вопросы по изменению цвета в 1С
Можно ли изменить цвет шрифта в типовой конфигурации без редактирования?
Да, для этого используйте условное оформление (раздел 1) или настройки печатных форм (раздел 2). Эти методы не требуют прав на изменение конфигурации и сохраняются для текущего пользователя.
Ограничение: такие настройки не будут видны другим пользователям и могут сброситься при обновлении конфигурации.
Почему в тонком клиенте не работает мой код изменения цвета?
Тонкий клиент имеет ограничения на некоторые свойства оформления. Попробуйте:
Как сделать, чтобы отрицательные числа всегда показывались красным?
Для этого нужно:
Пример кода для формы документа:
Процедура ПриОткрытии()
Для Каждого Строка Из ДокументОбъект.Товары Цикл
Если Строка.Количество < 0 Тогда
ЭлементыФормы.Товары.ЦветТекста(Строка.Количество) = Новый Цвет(255, 0, 0);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Можно ли изменить цвет шрифта в мобильном приложении 1С?
В мобильном клиенте возможности оформления ограничены. Вы можете:
- Использовать базовые цвета через условное оформление
- Применять
ЦветТекстаHTMLдля ограниченного набора цветов - Отказаться от цветового кодирования в пользу иконок или текстовых меток
Рекомендуем тестировать оформление на реальных устройствах, так как эмулятор может показывать неточные цвета.
Как сохранить настройки цвета после обновления конфигурации?
Есть три способа:
- Расширение конфигурации: Перенесите логику оформления в расширение — оно сохраняется при обновлении основной конфигурации.
- Внешняя обработка: Создайте внешнюю обработку с нужными настройками и подключите ее к базе.
- Скрипт обновления: Напишите процедуру, которая будет восстанавливать настройки после обновления (требует прав администратора).
Самый надежный метод — расширение конфигурации, так как оно поддерживается фирмой 1С как рекомендуемый способ кастомизации.