Имя: Пароль:
1C
1С v8
Цвет строки
0 ErrorEd88
 
01.09.11
23:19
Допустим, есть кнопка на форме документа, при нажатии на которую должна выделяться цветом строка в табличной части товары, где, к примеру, цена =1000.
Помогите разобраться.

Для Каждого ТекСтрокаТовары Из Товары Цикл
Если ТекСтрокаТовары = 1000 Тогда
ЭлементыФормы.Товары.ОформлениеСтроки(ТекСтрокаТовары).ЦветФона = Webцвета.Аквамарин;
КонецЕсли;
КонецЦикла;
1 YHVVH
 
01.09.11
23:24
фигня какая
2 YHVVH
 
01.09.11
23:24
Цена=1000 и ТекСтрокаТовары = 1000 это че?
3 Asmody
 
01.09.11
23:25
добавляешь переменную типа Булево, значение которой меняет кнопка. В событие ПриВыводеСтроки таб.поля добавляешь
Если таПеременнаяТипаБулево Тогда
Если чтотамутебя = 1000 тогда
ОформлениеСтроки.ЦветФона = ...
4 ErrorEd88
 
01.09.11
23:29
ТекСтрокаТовары.Цена конечно, код писал в самой теме.
5 ErrorEd88
 
01.09.11
23:33
(3) ПриВыводеСтроки не пойдет, кнопку нужно нажимать после того, как вся табличная часть будет заполнена (документ создан программно).
6 Asmody
 
01.09.11
23:36
(5) тогда читай СП до просветления, может тогда поймешь, что к чему
7 Kookish
 
01.09.11
23:38
УФ или не УФ, вот в чем вопрос...
8 Asmody
 
01.09.11
23:39
(7) ОформлениеСтроки какбэ намекает
9 Злобный Фей
 
01.09.11
23:40
(5) ПриВыводеСтроки пойдет
10 Asmody
 
01.09.11
23:42
(9) не, у него не пойдёт. ему кнопку надо нажимать после того, как
11 Злобный Фей
 
01.09.11
23:44
(10) А, ну если нажимать. Да еще и после того, как..
12 Kookish
 
02.09.11
00:16
Только что нарисовал для пробы. У меня работает:

Перем Выделять;

Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
КонецПроцедуры

Процедура ПриОткрытии()
   Выделять = Ложь;
   НовСтрока = ЭтаФорма.ОбработкаОбъект.ТабличнаяЧасть1.Добавить();
   НовСтрока.Код = "100";
   НовСтрока.Сумма = 200;
   НовСтрока = ЭтаФорма.ОбработкаОбъект.ТабличнаяЧасть1.Добавить();
   НовСтрока.Код = "200";
   НовСтрока.Сумма = 300;
   НовСтрока = ЭтаФорма.ОбработкаОбъект.ТабличнаяЧасть1.Добавить();
   НовСтрока.Код = "300";
   НовСтрока.Сумма = 400;
КонецПроцедуры

Процедура ТабличнаяЧасть1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   Если Выделять Тогда
       Если ДанныеСтроки.Сумма > 250 Тогда
           ОформлениеСтроки.Цветфона = Новый Цвет(200, 100, 200);
       КонецЕсли;
   Иначе
       ОформлениеСтроки.Цветфона = Новый Цвет(255, 255, 255);
   КонецЕсли;
КонецПроцедуры

Процедура Кнопка1Нажатие(Элемент)
   Выделять = НЕ Выделять;
КонецПроцедуры
13 Kookish
 
02.09.11
00:18
Если же нужно более концептуальное решение, чем подсказанное в (3), милости прошу на http://infostart.ru/public/62190/
14 Kookish
 
02.09.11
00:20
(10) (11) :)
15 Asmody
 
02.09.11
00:23
(12) что ты наделал! ты ж одним Выделять = Не Выделять уже человеку мозг взорвал!
16 Kookish
 
02.09.11
00:38
(15) Так ему!!!
17 ErrorEd88
 
02.09.11
00:54
(12) Спасибо, все выделяется как надо.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший