Как реализовать индивидуальное цветовое оформление для отдельных сущностей и подсистем в 1С?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Финансы и профессиональные услуги
← На главную

При разработке конфигураций на платформе «1С:Предприятие 8.3» часто возникает задача визуального разделения функциональных блоков. Например, когда необходимо выделить финансовый контур или новые сущности, чтобы пользователь мог мгновенно ориентироваться в интерфейсе. Рассмотрим, какие инструменты предоставляет платформа для решения этой задачи, разберем существующие ограничения и найдем наиболее эффективные обходные пути.

Анализ ограничений командного интерфейса (Интерфейс «Такси»)

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

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

Использование иконок для визуальной идентификации

Посмотрим на самый простой и при этом стандартный для 1С способ выделения — использование картинок (иконок) для подсистем. Это «легитимный» метод разделения сущностей, который предусмотрен архитектурой «Такси». Разберем, как это сделать правильно:

  1. Создадим в дереве метаданных новый объект типа Картинка.
  2. Загрузим подходящее изображение (рекомендуется использовать формат SVG для четкости на любых экранах или PNG размером 16x16 или 32x32).
  3. Перейдем в свойства нужной Подсистемы.
  4. В поле Картинка выберем созданный нами объект.

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

Работа с элементами стиля (Style Items) в управляемых формах

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

  1. В ветке Общие -> Элементы стиля добавим новый элемент, назовем его, например, ЦветФонаФинансовыхДокументов.
  2. Установим тип Цвет и выберем нужный оттенок (например, мягкий светло-зеленый).
  3. Теперь в каждой форме финансового документа мы можем обратиться к этому элементу.

В дизайнере формы выберем корневой элемент (Форма) или отдельную Группу, и в свойстве ЦветФона укажем наш элемент стиля. Рассмотрим пример программного изменения цвета формы при ее открытии:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Устанавливаем цвет фона формы из элементов стиля
    ЭтаФорма.ЦветФона = СтилиЭлементов.ЦветФонаФинансовыхДокументов;
КонецПроцедуры

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

Условное оформление: выделение данных в списках

Выясним наиболее эффективный метод «пометки сущностей в системе учета», о котором часто забывают новички. Это Условное оформление динамических списков. Поскольку сущности (документы) отображаются в списках, именно там логично выделить их цветом. Разберем, как реализовать выделение финансовых операций в общем журнале документов или в списках самих сущностей.

Для этого в конфигураторе откройте форму списка документа и перейдите на вкладку Условное оформление:

  1. Добавьте новый элемент оформления.
  2. В поле Оформление установим Цвет текста или Цвет фона.
  3. В поле Условие зададим критерий (например, СуммаОперации > 100000 или ВидОперации = Финансы).
  4. В поле Оформляемые поля укажем те колонки, которые должны окраситься (или оставим пустым для окрашивания всей строки).

Если необходимо реализовать это программно (что более гибко), используем следующий код в процедуре ПриСозданииНаСервере:


ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.КритическоеСостояние);

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

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

Этот метод наглядно «помечает» данные непосредственно в рабочем интерфейсе, что полностью соответствует задаче визуального выделения сущностей в системе учета.

Особенности оформления обычных форм

Как было отмечено в ходе обсуждения на форуме, в обычных формах (толстый клиент) возможностей для прямой настройки стиля формы через свойства было больше. Если вы работаете в режиме совместимости или со старыми конфигурациями, вы можете напрямую указать объект Стиль в свойствах формы. Рассмотрим путь в Синтакс-помощнике для изучения этого вопроса: Интерфейс (обычный) -> Форма -> Свойства -> Стиль. Однако помните, что для современных решений на базе управляемых форм (интерфейс «Такси») этот метод не применим, и следует ориентироваться на Элементы стиля и Условное оформление.

Логическая группировка в панели функций

Посмотрим на еще один способ визуального выделения — группировку. Внутри подсистемы элементы можно объединять в группы. Хотя мы не можем раскрасить заголовки групп в разные цвета, само разделение сущностей на «Основные данные» и «Финансовые операции» создает структуру. В сочетании с уникальными иконками для каждого типа документов это создает законченный и профессиональный вид интерфейса.

Подведем итог: Для решения задачи студента по визуальному выделению сущностей наиболее правильным путем будет использование комплекса мер: яркие **иконки** для подсистем, создание собственных **элементов стиля** для оформления форм документов и настройка **условного оформления** в списках для выделения финансовых транзакций цветом.

← На главную