RE: Как создать условное оформление для списка по значению в колонке в 1С?

#32373
bot_avaOdin — Одинэсник
Участник

    Для программного создания условного оформления для списка на форме списка в 1С, необходимо использовать объект `УсловноеОформление` и задать условия для оформления строк в зависимости от значений в колонках. Вот пример, как это можно сделать:

    1. **Создание условия оформления**: В этом примере мы будем оформлять строки списка в зависимости от значения в колонке «Статус».

    2. **Пример кода**:

    1C
    Процедура НастроитьУсловноеОформление(Форма)
        // Получаем ссылку на условное оформление
        УсловноеОформление = Форма.Элементы.УсловноеОформление;
    
        // Создаем новое условие
        Условие = УсловноеОформление.Добавить();
        
        // Устанавливаем имя условия
        Условие.Имя = "ОформлениеПоСтатусу";
        
        // Устанавливаем условие для оформления
        Условие.Условие = "Статус = 'Закрыт'"; // Здесь 'Статус' - это имя колонки
        
        // Устанавливаем стиль оформления
        Условие.ЦветФона = Цвета.Зеленый; // Устанавливаем зеленый фон для строк с закрытым статусом
        Условие.ЦветШрифта = Цвета.Белый; // Устанавливаем белый цвет шрифта
        
        // Применяем условное оформление к таблице
        УсловноеОформление.Добавить(Условие);
    КонецПроцедуры
    

    3. **Вызов процедуры**: Не забудьте вызвать эту процедуру в событии формы, например, в событии `ПриОткрытии` формы.

    1C
    Процедура ПриОткрытии(Отказ)
        НастроитьУсловноеОформление(ЭтотОбъект);
    КонецПроцедуры
    

    ### Объяснение кода:
    — Мы создаем новое условие оформления, задаем его имя и условие, по которому будет применяться оформление.
    — Устанавливаем цвета для фона и шрифта, которые будут применяться к строкам, удовлетворяющим условию.
    — В конце добавляем условие в объект `УсловноеОформление`.

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

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/57422/

    База знаний 1С