Выделение цветом строки табличной части с условием.

1. user606894_schana1w3 22.03.17 16:27 Сейчас в теме
Здравствуйте, подскажите пожалуйста как сделать нечто подобное
На форме есть табличная часть "ТО" у нее 4 реквизита : "Номер машины", "Текущий пробег", "Норма", "Тех. осмотр через". Получается что-то вроде (х100 АЕ 11, 11000, 5000, -6000
И нужно выделить красным цветом всю строку в случае если в колонке "Тех. осмотр через" будет значение с ---.
Допустим "текущий пробег" 5000, а норма "6000" * на 10% то когда будет "текущий пробег" 5400 то строка выделяется желтым.
Я тут что-то накалякал
&НаСервере
Процедура ПриОткрытииНаСервере()
	
	 	
	ЭлементОформления = УсловноеОформление.Элементы.Добавить();
	элементыПолей = ЭлементОформления.Поля.Элементы;
	элементыОтбора = ЭлементОформления.Отбор.Элементы;

	//Создаем условия отбора 
	элементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	//имя поля
	элементОтбора.ЛевоеЗначение = Новый  ПолеКомпоновкиДанных("Пробег.Пробег");
	//задаем значение для отбора
	элементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
	
	//элементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных(Элементы.ПробегПробег);
	
	элементОтбора.Использование = Истина;
	
	//Установка значения элемента УО
	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный);
	ЭлементОформления.Использование = Истина;
	
	ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
	ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ПробегПробег");
	ПолеОформления.Использование=Истина;
	   	
	 		
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ПриОткрытииНаСервере();
	
КонецПроцедуры
Показать

Просто, чтобы понять как выделение программно сделать.
Вопрос в чем, куда условие писать? сюда ? "элементОтбора.ПравоеЗначение"
Найденные решения
3. ditp 91 22.03.17 17:02 Сейчас в теме
(1) так:
?

см. вложение
Прикрепленные файлы:
ВнешняяОбработка1.epf
Oldsad; Khalimon; Zweimor; maxst22; user606894_schana1w3; +5 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. ditp 91 22.03.17 17:02 Сейчас в теме
(1) так:
?

см. вложение
Прикрепленные файлы:
ВнешняяОбработка1.epf
Oldsad; Khalimon; Zweimor; maxst22; user606894_schana1w3; +5 Ответить
4. user606894_schana1w3 22.03.17 17:11 Сейчас в теме
(3)а как вы так сделали? через условное оформление формы?
5. user606894_schana1w3 22.03.17 17:15 Сейчас в теме
2. Velesstroy_OOO 22.03.17 16:55 Сейчас в теме
В "элементОтбора.ПравоеЗначение" указывается значение условия, с которым сравнивается значение в поле "элементОтбора.ЛевоеЗначение".

Таким образом для желтого выделения. Вычисляем норму пробега, подставляем значение в "элементОтбора.ПравоеЗначение" в "элементОтбора.ВидСравнения" вид сравнения указываем больше либо равно.
6. user606894_schana1w3 22.03.17 17:21 Сейчас в теме
А так прокатит При открытии()? тоесть открываю обработку и там уже заполненная табличная часть.
7. ditp 91 22.03.17 17:47 Сейчас в теме
(6) В приОткрытии нужно будет пробежаться по строкам ТЧ и заполнить нужное
8. user606894_schana1w3 23.03.17 09:55 Сейчас в теме
(7)
обежаться по строкам ТЧ и заполнить нужное

Что-то я не совсем понял как в при открытии это сделать, типа циклом пробежался и вызов вот этой процедуры при окончании редактирования?
9. ResetAtreides 23.03.17 10:30 Сейчас в теме
А зачем, вообще, чего-то выполнять? Условное оформление на форме в конфигураторе настройте и будет всегда работать
KAV2; yaroslav.artem; +2 Ответить
10. yaroslav.artem 23.03.17 10:51 Сейчас в теме
Условное оформеление на форме в конфигураторе.. В УФ формах по другому не нашел как сделать, нет события ПриВыводеСтроки()
11. user606894_schana1w3 23.03.17 11:58 Сейчас в теме
Все, всем спасибо. Сделал по схеме настройки усл. оформления и добавления реквизитов и расчета их в запросе.

А если ручками при открытии вот рабочий код
//элементОформления = УсловноеОформление.Элементы.Добавить();
	//ЭлементыПолей = элементОформления.Поля.Элементы;
	//элементОтбора = элементОформления.Отбор.Элементы;
	//
	//элементОтбора = элементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	//элементОтбора.ЛевоеЗначение= Новый ПолеКомпоновкиДанных("Объект.СкороТО1.Дельта1");//Полный путь до реквизита вашей табличной части 
	//элементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;
	//элементОтбора.ПравоеЗначение = 0;
	//элементОтбора.Использование=Истина;
	//
	//элементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Лосось);
	//элементОформления.Использование = Истина;
	//
	//ПолеОформления = элементОформления.Поля.Элементы.Добавить();
	//ПолеОформления1 = элементОформления.Поля.Элементы.Добавить();
	//ПолеОформления2 = элементОформления.Поля.Элементы.Добавить();
	//ПолеОформления3 = элементОформления.Поля.Элементы.Добавить();
	//ПолеОформления4 = элементОформления.Поля.Элементы.Добавить();
	//ПолеОформления.Поле= Новый ПолеКомпоновкиДанных("СкороТО1Дельта1");//Название реквизитатабличнойчасти(Табличная часть - СкороТО1, реквизит Дельта1)
	//ПолеОформления1.Поле= Новый ПолеКомпоновкиДанных("СкороТО1НомерСтроки");
	//ПолеОформления2.Поле= Новый ПолеКомпоновкиДанных("СкороТО1Автомобиль");
	//ПолеОформления3.Поле= Новый ПолеКомпоновкиДанных("СкороТО1ПробегТО1");
	//ПолеОформления4.Поле= Новый ПолеКомпоновкиДанных("СкороТО1НормаТО1");
	//ПолеОформления.Использование = Истина;
	//ПолеОформления1.Использование = Истина;
	//ПолеОформления2.Использование = Истина;
	//ПолеОформления3.Использование = Истина;
	//ПолеОформления4.Использование = Истина;
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

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

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

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

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