Цвет в 1С 8.3: что можно перекрасить пользователю, а что только разработчику
Содержание
Бухгалтер просит «сделать красным» просроченные счета в списке. Администратор хочет сменить фон всей программы, чтобы глаза не уставали. Это две разные задачи, и решаются они в разных местах. Первую можно закрыть без программиста, вторая требует Конфигуратора.
Чтобы поменять цвет в 1С 8.3, сначала определите, что именно красим: строки в списке или отчёте, отдельное поле формы, весь интерфейс. Ниже способы идут от безопасных пользовательских к тем, что меняют конфигурацию.
Что красится и где: быстрый выбор способа
Единой кнопки «сменить тему оформления» в обычной поставке 1С 8.3 нет. Цвет задаётся на разных уровнях, и у каждого свои права.
| Что красим | Способ | Кому доступно | Риск |
|---|---|---|---|
| Строки списка по условию | Условное оформление списка | Пользователь с правом настройки формы | Низкий, настройка личная |
| Строки и ячейки отчёта | Условное оформление в настройках отчёта | Пользователь | Низкий |
| Поле или группа формы | Свойства элемента в Конфигураторе | Разработчик | Средний, нужна доработка |
| Весь интерфейс | Стиль конфигурации | Разработчик | Высокий, затронет всех |
| Цвет из кода | Свойства ЦветТекста, ЦветФона и условное оформление | Программист | Зависит от кода |
Всё, что меняется в Конфигураторе, затрагивает всех пользователей базы. Пользовательские настройки действуют только для вас.
Начните с пользовательских настроек: подсветка в списках
Самый частый запрос звучит как «выделить цветом». Для динамических списков (документы, справочники, журналы) это делается условным оформлением.
Как это устроено
Условное оформление — правило вида «если выполняется условие, применить оформление». Например: если сумма больше 100 000, текст красный и полужирный. Правило проверяется для каждой строки списка при отображении.
Порядок действий
- Откройте нужный список, например журнал документов .
- Найдите в командной панели меню «Ещё» и выберите изменение формы (или настройку списка, если она есть на вашей форме).
- В настройках откройте закладку условного оформления и добавьте элемент.
- Задайте условие: поле, вид сравнения, значение.
- Выберите оформление: цвет текста, цвет фона, шрифт.
- Укажите, к каким полям применять правило. Пустой список значит «ко всей строке».
- Сохраните настройку и вернитесь в список.
Правило можно временно отключить снятием флажка, не удаляя. Так удобно сравнивать вид списка «до» и «после».
Если пункта изменения формы в меню «Ещё» нет, возможность закрыта правами или самой формой. Обратитесь к администратору, а не пробуйте обходные пути.
Примеры правил, которые используют на практике
- 🔴 Просроченная оплата: дата оплаты меньше текущей даты, красный текст.
- 🟡 Непроведённые документы: условие по признаку проведения, серый или жёлтый фон.
- 🟢 Закрытые заказы: статус «Закрыт», приглушённый зелёный.
- 🔵 Документы конкретного ответственного: фон светло-голубой.
Не перегружайте список. Больше четырёх-пяти правил, и цвета перестают что-либо говорить. Глаз их просто не различает.
Цвета в отчётах и печатных формах
В отчётах на системе компоновки данных (большинство типовых) условное оформление настраивается так же, но внутри отчёта.
- Сформируйте отчёт.
- Откройте настройки отчёта (кнопка «Настройки» или «Ещё → Изменить вариант отчёта», зависит от конфигурации).
- Перейдите на закладку условного оформления.
- Добавьте правило: условие, оформление, поля, к которым оно применяется.
- Закройте настройки и сформируйте отчёт заново.
Сохраните вариант отчёта под своим именем, иначе после закрытия настройка не сохранится.
Для табличных документов (печатные формы, макеты) цвет задаётся в самой ячейке: выделите ячейки, откройте палитру цвета фона или текста на панели оформления. В печатной форме, которая выводится на принтер, фон лучше не использовать: он съедает тонер и портит читаемость на чёрно-белой печати.
Цвета элементов управляемой формы через Конфигуратор
Если нужно, чтобы поле выглядело определённым образом у всех, это задача разработчика. Запустите Конфигуратор, откройте нужную форму объекта в дереве конфигурации.
Что есть в свойствах
У элементов управляемой формы есть группы свойств оформления. Среди них цвет текста, цвет фона, цвет рамки и шрифт. Какие именно доступны, зависит от вида элемента: у поля ввода набор один, у группы или надписи — другой.
Порядок:
- Откройте форму в редакторе форм.
- Выберите элемент на закладке «Элементы».
- В палитре свойств найдите цвет фона или цвет текста.
- Выберите цвет из палитры. Лучше брать цвет стиля, а не произвольный RGB (подробнее ниже).
- Сохраните и запустите 1С:Предприятие в режиме отладки для проверки.
Если форма принадлежит типовой конфигурации на поддержке, изменение откроет конфигурацию «с изменением». Это усложнит каждое следующее обновление. Для типовых решений правильнее расширение конфигурации.
Расширение вместо правки типовой формы
Расширение конфигурации появилось в платформе 8.3.6. Оно позволяет изменить внешний вид формы, не трогая основную конфигурацию. Порядок такой: создайте расширение, перенесите в него нужную форму, внесите изменения, затем загрузите расширение в базу и обновите конфигурацию базы данных. Это два отдельных шага, и забывают чаще второй.
Стили: как перекрасить сразу весь интерфейс
Когда нужен единый цвет на всю программу, цвета берут из стиля. Стиль — это набор именованных цветов, шрифтов и размеров, на который ссылаются элементы формы.
В дереве конфигурации есть ветка «Общие → Стили», а у самой конфигурации — свойство, определяющее основной стиль. Если вы замените в стиле значение цвета, например фона формы, этот цвет изменится везде, где на него ссылаются.
Практические следствия:
- 🎯 Один раз поменяли значение стиля, а не сто раз в формах.
- 🎯 Тёмный текст на тёмном фоне получить легко, если тронуть только фон. Проверяйте пары «фон и текст».
- 🎯 Обязательно посмотрите, как выглядят таблицы, гиперссылки и подсказки. Именно там чаще всего всплывают нечитаемые сочетания.
Для интерфейса «Такси» ориентируйтесь на спокойные светлые тона: он спроектирован под них. Резкие насыщенные фоны смотрятся чужеродно и утомляют.
Цвет из кода: условное оформление и свойства
Программисту доступны два пути.
Прямое присвоение свойства
Для элемента формы цвет можно задать при открытии формы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.СуммаДокумента.ЦветТекста = Новый Цвет(200, 0, 0);
КонецПроцедуры
Здесь Новый Цвет(200, 0, 0) — насыщенный красный из компонентов R, G, B. Цвет из стиля подставляют так: ЦветаСтиля.ПоясняющийТекст или ЦветаСтиля.ЦветФонаФормы. Такой цвет автоматически подстроится при смене стиля.
Минус прямого присвоения: цвет остаётся, пока вы сами его не сбросите. Если условие изменилось, нужно вручную вернуть значение.
Условное оформление формы
Правильнее для строк таблицы и динамических списков использовать условное оформление, которое пересчитывается само:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Использование = Истина;
ОтборЭлемента = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Сумма");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
ОтборЭлемента.ПравоеЗначение = 100000;
ОтборЭлемента.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", Новый Цвет(200, 0, 0));
КонецПроцедуры
Этот пример не привязан к полю: правило применится ко всей строке. Чтобы ограничить его одним полем, добавьте в ЭлементОформления.Поля нужное поле.
Обычные формы: красим по-другому
Обычные (неуправляемые) формы остались в старых конфигурациях и во внешних обработках, запускаемых в толстом клиенте. Там цвет задаётся прямо в редакторе формы: выделите элемент, в панели свойств выберите цвет фона, текста или рамки.
Особенности:
- 🖥 Работает только в толстом клиенте. В тонком и веб-клиенте обычные формы не открываются.
- 🖥 Условное оформление в обычных формах нет: цвет меняют кодом, свойствами элементов.
- 🖥 Для новой разработки обычные формы не используют, лучше перенести задачу на управляемую форму.
Сброс цветов к стандартным
Как вернуть как было, зависит от того, где вы меняли.
| Где меняли | Как вернуть |
|---|---|
| Условное оформление в списке | Отключите или удалите правило в настройках формы |
| Условное оформление в отчёте | Верните исходный вариант отчёта или удалите правило |
| Настройки формы целиком | Воспользуйтесь командой возврата стандартных настроек формы в режиме её изменения |
| Свойства элементов в Конфигураторе | Верните значение «по умолчанию» (пустое) у свойства |
| Стиль | Восстановите прежние значения цветов или загрузите конфигурацию из копии |
Если после ваших правок 1С ведёт себя странно, а настройки вы уже не помните, помогает очистка клиентского кэша. Запуск с параметром /ClearCache сбрасывает локальный кэш конфигурации и настроек интерфейса. Закройте все окна 1С перед этим: открытые сеансы на вашем компьютере оборвутся.
Параметры запуска сами по себе цвет не задают. Они не заменяют настроек оформления, а лишь сбрасывают кэш.
Какие цвета выбирать, чтобы список читался
Цвет должен нести смысл, а не украшать. Несколько правил, которые экономят время при согласовании с коллегами.
- 🎨 Одному значению соответствует один цвет во всех списках. Если красный означает «просрочено» в заказах, он не должен значить «в работе» в задачах.
- 🎨 Различайте не только цветом. Добавьте полужирный шрифт или зачёркивание: так правило заметят и люди с нарушением цветовосприятия.
- 🎨 Фон лучше делать бледным, текст оставлять тёмным. Яркая заливка строки на всю ширину экрана быстро утомляет.
- 🎨 Проверьте вид на втором мониторе и на ноутбуке. Светло-жёлтый часто исчезает на матрице с высокой яркостью.
- 🎨 Для сумм и остатков удобен приём: отрицательное красным, ноль серым, положительное обычным цветом. Три правила хватает.
Перед массовой раскраской стоит согласовать палитру с теми, кто работает в списке каждый день. Договорённость вида «красный, жёлтый, зелёный» закрепите в короткой памятке для отдела.
Почему цвет «не применился»
Основные причины проверяйте в таком порядке:
- ⚙ Правило условного оформления отключено или стоит ниже другого правила, которое его перекрывает. Порядок в списке имеет значение.
- ⚙ Условие не срабатывает: сравнивается не то поле или не тот тип. Для проверки поставьте заведомо истинное условие.
- ⚙ Правило применено к полю, которого нет на форме или оно скрыто.
- ⚙ После правки Конфигуратора не запущено обновление конфигурации базы данных.
- ⚙ Форма хранит старые пользовательские настройки. Сбросьте настройки формы.
- ⚙ Цвет задан слишком светлый: на мониторе с плохой цветопередачей он не виден. Сделайте контрастнее.