![]() |
|
Условное оформление УФ | ☑ | ||
---|---|---|---|---|
0
ДолекоДо1Са
16.03.25
✎
00:38
|
Здравствуйте, опять я. Не могу понять почему не меняется цвет строк в табличной части, может что то не то делаю.
&НаСервере Процедура ИзменитьЦвет(НомерСтроки) УсловноеОформление.Элементы.Очистить(); ЦветОформление = УсловноеОформление.Элементы.Добавить(); ЦветОформление.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Желтый); ЭлементОформления = ЦветОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НомерСтроки"); ЭлементОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОформления.ПравоеЗначение = НомерСтроки; ЭлементОформления.Использование = Истина; Поле = ЦветОформление.Поля.Элементы.Добавить(); Поле.Поле = Новый ПолеКомпоновкиДанных("Значение"); Элементы.ПроизвольныеСтроки.Обновить(); КонецПроцедуры |
|||
1
Chameleon1980
16.03.25
✎
08:37
|
(0) я бы предложил сделать руками УО и посмотреть (сравнить) в отладчике что не так.
|
|||
2
Мультук
гуру
16.03.25
✎
09:22
|
(0)
https://its.1c.ru/db/v8std/content/710/hdoc и вообще google: 1C УсловноеОформление Сначала повторите чей-то готовый пример, потом делайте свой |
|||
3
RomanYS
16.03.25
✎
09:40
|
(0) ошибка здесь:
... = Новый ПолеКомпоновкиДанных("НомерСтроки"); |
|||
4
ДолекоДо1Са
16.03.25
✎
14:28
|
(3) &НаСервере
Процедура ИзменитьЦвет(Номер) УсловноеОформление.Элементы.Очистить(); ЦветОформление = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = ЦветОформление.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПроизвольныеСтрокиЗначение.Имя); ЭлементОформления = ЦветОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ПроизвольныеСтроки[Номер - 1].НомерСтроки); ЭлементОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОформления.ПравоеЗначение = Новый ПолеКомпоновкиДанных(Номер); ЭлементОформления.Использование = Истина; ЦветОформление.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Желтый); Элементы.ПроизвольныеСтроки.Обновить(); КонецПроцедуры Сделал так, но почему то окрашиваются все строки |
|||
5
ДолекоДо1Са
16.03.25
✎
14:29
|
(4) А не те которые соответствуют условию
|
|||
6
ДолекоДо1Са
16.03.25
✎
14:38
|
Спасибо всем, исправил.
Вот рабочий код &НаСервере Процедура ИзменитьЦвет(Номер) УсловноеОформление.Элементы.Очистить(); ЦветОформление = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = ЦветОформление.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПроизвольныеСтрокиЗначение.Имя); ЭлементОформления = ЦветОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПроизвольныеСтроки.НомерСтроки"); ЭлементОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОформления.ПравоеЗначение = Номер; ЭлементОформления.Использование = Истина; ЦветОформление.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Желтый); Элементы.ПроизвольныеСтроки.Обновить(); КонецПроцедуры |
|||
7
Chameleon1980
16.03.25
✎
17:54
|
Просто нужно внимательней и вникнуть что зачем написано.
|
|||
8
Волшебник
16.03.25
✎
18:47
|
В обычных формах всё гораздо проще. Изучайте обычные формы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |