Имя: Пароль:
1C
 
Оформление строки
0 qwerty072
 
24.12.10
10:42
Если КолФакт = КолДок Тогда  
               
               Цвет = Новый Цвет(0, 255, 0);
               ТоварыПриВыводеСтроки(ЭлементыФормы.Товары, ЭлементыФормы.Товары.ОформлениеСтроки(ТекСтрока), ТекСтрока);
               Цвет = Неопределено;
               
           Иначе  //количество не сходится
                               
               Цвет = Новый Цвет(255, 0, 0);
               
               ТоварыПриВыводеСтроки(ЭлементыФормы.Товары, ЭлементыФормы.Товары.ОформлениеСтроки(ТекСтрока), ТекСтрока);
               
               Цвет = Неопределено;
               ТекСтрока.Количество = КолФакт;
               
           КонецЕсли;

Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   
   Если Цвет <> Неопределено Тогда
       ОформлениеСтроки.ЦветФона = Цвет;
   Иначе
       Если ОформлениеСтроки.ЦветФона <> Новый Цвет(255, 0, 0) ИЛИ ОформлениеСтроки.ЦветФона <> Новый Цвет(0, 255, 0) Тогда
           ОформлениеСтроки.ЦветФона = Новый Цвет(255, 255, 255);
       КонецЕсли;
   КонецЕсли;

КонецПроцедуры


в переменной ТекСтрока хранится текущая строка табличной части,когда количество сходится то в зеленый цвет окрашивается только нужная строка,если количество не сходится то окрашивается вся ТЧ,если убрать
строчку ТекСтрока.Количество = КолФакт; то всё нормально,окрашивается нужная строка,т.е. ТекСтрока.Количество = КолФакт; делает обращение ко всей ТЧ и окрашивает её всю по этому,правил процедуру ТоварыПриВыводеСтроки всяко разно, но никак не получается,подскажите как можно поправить
1 Dmitrii
 
гуру
24.12.10
10:52
(0) Бредятина редкостная.

Условия надо проверять в процедуре ТоварыПриВыводеСтроки, а не где-то хрен знает где откуда потом вызываешь ПриВыводеСтроки.

Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
 Если Условиче1 Тогда
   ОформлениеСтроки.ЦветФона = Цвет1;
 ИначеЕсли Условие2 Тогда
   ОформлениеСтроки.ЦветФона = Цвет2;
 КонецЕсли;
КонецПроцедуры

и больше ни чего не надо.