Условное оформление при активизации строки в документе

1. Гость 07.03.21 13:31
Здравствуйте, дорогие форумчане. У меня тут вопрос к вам. Есть форма документа Заказ клиента. В табличной части товары, есть строки товаров. Так же есть одна обработка, которая делит строки в заказе клиента. И вот теперь появилась задача. В документе сделать условное оформление при активизации строки. Чтобы подсвечивались одинаковые товары. Я создал на форме реквизит "НоменклатураАктивизации" и написал следующий код в событии активизация строки. То есть у меня должны подсвечиваться строки с одинаковым товаром (номенклатурой). Написал код, но ничего не работает. И никакой ошибки не выдает. Код:

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
	ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
	НоменклатураАктивизации = ТекущаяСтрока.Номенклатура;
	ЭлементОформления = Объект.Товары.УсловноеОформление.Элементы.Добавить();
	ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(НоменклатураАктивизации);
	ЭлементОтбора.ПравоеЗначение = ТекущаяСтрока.Номенклатура;
	ЭлементОтбора.Использование = Истина;
	Элемент = ЭлементОформления.Оформление.Элементы[0];
	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Голубой);
	Элемент.Использование = Истина;
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
9. SlavaKron 08.03.21 07:05 Сейчас в теме
(1) Условное оформление задается один раз, например в ПриСозданииНаСервере. При активизации строки достаточно только обновлять реквизит формы "НоменклатураАктивизации".
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ЭлементУО = УсловноеОформление.Элементы.Добавить();
	ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Голубой);
	
	ЭлементОтбора = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
	ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("НоменклатураАктивизации");
	
	ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить();
	ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
	
КонецПроцедуры

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
	
	ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
	Если ТекущаяСтрока <> Неопределено Тогда
		НоменклатураАктивизации = ТекущаяСтрока.Номенклатура;
	КонецЕсли;
	
КонецПроцедуры
Показать
2. user958326 07.03.21 15:27 Сейчас в теме
а зачем подсветка если можно просто сделать свертку по одинаковым либо типовое решение "дубликаты строк" использовать?
3. Гость 07.03.21 15:44
4. user958326 07.03.21 16:04 Сейчас в теме
(3)
Что как? В большинстве типовых конфигураций эта функция реализована, но вы не написали в какой именно конфигурации сделать пытаетесь, так что дальше подсказать сложно
5. Гость 07.03.21 18:24
6. user958326 07.03.21 18:56 Сейчас в теме
(5)
Угадываем дальше, какое УТ 10 или 11, какой конкретно релиз?
7. Гость 07.03.21 20:59
8. user958326 07.03.21 23:48 Сейчас в теме
(7)Продолжаем партизанить? Вопрос прочитайте еще раз, какой конкретно релиз УТ 11?
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)