Имя: Пароль:
1C
1С v8
нужно раскрасить Строки по условию
0 Eskeych
 
30.12.21
13:27
Привет, Не получается раскрасить строки в документе выплата в банк. Если лицевой счет начинается на "4082" то нужно эти строки выделить. Что я делаю не так? Код ниже
1 Eskeych
 
30.12.21
13:27
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Использование = Истина;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
    
    ЭлементУсловия                = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.Состав.НомерЛицевогоСчета");
    ЭлементУсловия.ПравоеЗначение = "4082";
    ЭлементУсловия.ВидСравнения   = ВидСравненияКомпоновкиДанных.Содержит;  
    ЭлементУсловия.Использование  = Истина;
    
    МассивИменКолонокДляПодсветки = Новый Массив;
    МассивИменКолонокДляПодсветки.Добавить(Элементы.Состав.ПодчиненныеЭлементы.СоставНомерЛицевогоСчета);
    
    Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл
        ОформляемоеПоле      = ЭлементОформления.Поля.Элементы.Добавить();
        ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
    КонецЦикла;
2 Базис
 
naïve
30.12.21
13:32
1. Что конкретно не работает?

2. ПАМПАРАМ4082ПУМПУМПУМ будет подсвечено.
3 Eskeych
 
30.12.21
13:32
не подсвечивает. Код использую в ПриСозданииНаСервере
4 youalex
 
30.12.21
13:34
ОформляемоеПоле       - имя элемента
5 youalex
 
30.12.21
13:34
А не сам элемент
6 acht
 
30.12.21
13:34
(0) > ЭлементУсловия.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.Состав.НомерЛицевогоСчета");
Здесь у тебя параметр конструктора - строка. Путь к данным поля.

> ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
А здесь вообще элемент формы.

Пример:
https://its.1c.ru/db/v8std/content/710/hdoc
7 Eskeych
 
30.12.21
13:37
(4) Имя помогло!!!! Спасибо большое :) Всех с наступающим :)))
8 Eskeych
 
30.12.21
13:37
Пасибо за отклик :)
9 серый КТУЛХУ
 
30.12.21
15:09
в тупо вот так без перебора колонок - не сработает?
ОформляемоеПоле      = ЭлементОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = "Состав"; // или как там у тебя элемент с динсписком называется?