Как изменить цвет текста в списке документов 1С при определенном статусе?

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

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

Настройка через пользовательский режим

Самый простой способ визуально выделить строку — воспользоваться встроенным механизмом Условное оформление непосредственно в режиме 1С:Предприятие. Для этого выполним следующие действия:

  1. Откройте нужный список документов.
  2. Нажмите кнопку «Еще» (обычно находится в верхней панели списка) и выберите пункт «Настроить список».
  3. В открывшемся окне перейдите на вкладку «Условное оформление».
  4. Нажмите «Добавить».
  5. В поле «Оформление» выберите цвет текста или фона.
  6. В поле «Условие» добавьте параметры. Важно учитывать, что если нужно выбрать несколько значений (например, «Высокая» ИЛИ «Очень высокая»), необходимо использовать группу условий с логикой «ИЛИ». В противном случае, если вы добавите условия просто списком, платформа воспримет их как «И», что сделает условие невыполнимым для одной записи одновременно.
  7. Оставьте список «Оформляемые поля» пустым — это позволит применить настройки ко всей строке документа целиком.

Почему настройки из конфигуратора «исчезают»?

Вы могли заметить, что настройки, заданные в Конфигураторе, часто не применяются у пользователя. Это происходит из-за того, что система 1С в приоритете использует сохраненные пользовательские настройки. Если пользователь уже менял вид списка (через «Изменить форму» или «Настроить список»), система будет загружать именно его сохраненный вариант, игнорируя настройки, заданные разработчиком в объекте УсловноеОформление формы. Чтобы сбросить такие настройки и увидеть изменения, внесённые в конфигураторе, воспользуйтесь функцией «Установить стандартные настройки» в меню списка.

Программная реализация условного оформления

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

Рассмотрим структуру программного добавления элемента в коллекцию УсловноеОформление:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Очищаем старые настройки, если хотим полностью контролировать оформление
    // Список.УсловноеОформление.Элементы.Очистить(); 

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

Основные правила работы с кодом

Применение программного способа через ПриСозданииНаСервере — это самый надежный метод обеспечения визуального контроля в системе 1С, так как он игнорирует индивидуальные настройки пользователей и гарантирует единообразное отображение данных для всей организации.

← На главную