|
Условное оформление в табличной части при активизации строки | ☑ | ||
---|---|---|---|---|
0
Varlant1n
05.05.21
✎
17:50
|
Здравствуйте. В табличной части документа "ЗаказКлиента" очень часто бывают строки , которые разделены стандартной фукнцией деления строки. Мне нужно для удобства пользователей добавить выделение одинаковых строк при активизации строки. То есть при выделении строки, если у строки есть вторая строка с той же номенлкатурой, то выделять обе эти строки. Для начала я добавил внизу поле количество, которое показывает общее количество выделенной строки, если есть еще одна строка и уже с помощью нее добавил условное оформление. Проблема в том, что одинаковые строки выделяются, но после того, как я перехожу на другую строку, условное офомрление сохраняется. Посмотрите, пожалуйста на код, который я написал. Может у кого-то появятся идеи. Или может кто-то посоветует код лучше:
&НаКлиенте Процедура ТоварыПриАктивизацииСтроки(Элемент) ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; Если ТекущаяСтрока <> Неопределено Тогда ТекущаяНоменклатура = ТекущаяСтрока.Номенклатура; Количество = 0; Для каждого Строка Из Объект.Товары Цикл Если Строка.Номенклатура = ТекущаяНоменклатура Тогда Количество = Количество + Строка.Количество; КонецЕсли; КонецЦикла; КоличествоВФорме = Количество; Если ТекущаяСтрока.Количество <> КоличествоВФорме Тогда ТекущаяНоменклатураУО = ТекущаяСтрока.Номенклатура; УстановитьУсловноеОформлениеВТЧ(ТекущаяНоменклатураУО); КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере Процедура УстановитьУсловноеОформлениеВТЧ(ТекущаяНоменклатураУО) ЭлементУО = УсловноеОформление.Элементы.Добавить(); ЭлементУО.Использование = Истина; ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Голубой); ЭлементОтбора = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура"); ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ТекущаяНоменклатураУО"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары"); КонецПроцедуры |
|||
1
acht
05.05.21
✎
20:08
|
||||
2
acht
05.05.21
✎
20:10
|
О, да это ж опять ты, Самир. Не берут?
|
|||
3
Andreyyy
05.05.21
✎
20:34
|
(0) Реквизит формы, тип = номенклатура.
Условное оформление - подсветка строки, если текущая номенклатура = добавленный реквизит. При активизации строки заполнять добавленный реквизит формы текущей номенклатурой. |
|||
4
acht
05.05.21
✎
20:45
|
(3) Было уже.
Условное оформление при активизации строки в документе |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |