Имя: Пароль:
1C
1С v8
Установить цвет поля в табличной части документа, не получается....
0 Босечка
 
11.09.12
12:24
Требуется установить  красный цвет поля в табл. части документа при определенном условии, пишет: "Поле объекта не обнаружено Колонка1", так называется колонка "Папка".


Процедура РаботыИсполнительОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   Папка1= ВыбранноеЗначение.Родитель;
   текКол=ЭлементыФормы.Работы.Колонка1;
   СтрокаДока = ЭлементыФормы.Работы.ТекущиеДанные;
   СтрокаДока.Папка = Папка1;
   ЦветПапки = Новый Цвет(255,0,0);    
   ЦветаОбычнойпапки=ЦветаСтиля.ЦветФонаПоля;
   Если  папка1=Константы.ПапкаЗапрета тогда
       текКол.ЦветФонаПоля=ЦветПапки;
   иначе
       текКол.ЦветФонаПоля=ЦветаОбычнойпапки;
   Конецесли;    
   
   
   
   
   
КонецПроцедуры
1 Spieluhr
 
11.09.12
12:28
ПриВыводеСтроки
2 Босечка
 
11.09.12
13:16
(1) Что надо использовать эту функцию вместо той?
3 zladenuw
 
11.09.12
13:17
(2) да и только там.
4 Reset
 
11.09.12
13:24
В обработчике события ПриВыводеСтроки:

ОформлениеСтроки.Ячейки.Колонка1.ЦветФонаПоля=?(ДанныеСтроки.папка1=Константы.ПапкаЗапрета,Новый Цвет(255,0,0),ЦветаСтиля.ЦветФонаПоля);

Или в обработчике ПриПолученииДанных:

ЦветПапки = Новый Цвет(255,0,0);    
ЦветаОбычнойпапки=ЦветаСтиля.ЦветФонаПоля;
Для каждого ОформлениеСтроки из ОформленияСтрок цикл
  ОформлениеСтроки.Ячейки.Колонка1.ЦветФонаПоля=?(ОформлениеСтроки.ДанныеСтроки.папка1=Константы.ПапкаЗапрета,ЦветПапки,ЦветаОбычнойпапки);
КонецЦикла;
5 Reset
 
11.09.12
13:25
Хотя непонятно, что такое Константы. Если СтруктураЮ то все ок
6 Reset
 
11.09.12
13:30
Если Контанты - это константы :) то вместо использовани Контанты.ПапкаЗапрета необходимо завести переменную ПапкаЗапрета и спользовать в стравнении ее. Инициализировать через ПапкаЗапрета=Константы.ПапкаЗапрета.Получить();
7 Босечка
 
11.09.12
13:45
Спасибо, все уже работает. А вот в форме списка документов используется таблицаЗначений, то там как установить цвет строки таблицы значений?
8 Reset
 
11.09.12
13:52
(7) Вопрос совсем не понятен
9 Reset
 
11.09.12
13:53
Если используется табличное поле, то совершенно аналогично
10 Босечка
 
11.09.12
13:55
Да, табличное поле. Как там сделать Оформление строки?
11 Reset
 
11.09.12
13:56
(10) Выбрать табличное поле, правая кнопка, свойства, раздел События, выбрать событие
12 Босечка
 
11.09.12
13:56
И где там ПриВыводеСтроки?
13 Босечка
 
11.09.12
13:57
Все нашла, спасибо.
14 Reset
 
11.09.12
13:57
(12) Не соображу даже, что ответить :)
15 Reset
 
11.09.12
13:57
(13) Хорошо ;)
16 Босечка
 
11.09.12
14:10
Теперь на Папку ругается. Это в табл. поле.


Процедура ТабЧастьТЗПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   ЦветПапки = Новый Цвет(255,0,0);    
   ЦветаОбычнойпапки=ЦветаСтиля.ЦветФонаПоля;
   Если  Строка(Элемент.Колонки.Папка)="Бухгалтерия" тогда
       ОформлениеСтроки.ЦветФона = ЦветПапки;
   иначе
       ОформлениеСтроки.ЦветФона = ЦветаОбычнойпапки;
   Конецесли;    
   
   
   // Вставить содержимое обработчика.
КонецПроцедуры
17 Босечка
 
11.09.12
14:10
Все уже перепробовала И ДанныеСтроки тоже
18 Reset
 
11.09.12
14:12
Телепатировть сложно, но, вероятно нужно что-то
Если Строка(ДанныеСтроки.Папка)="Бухгалтерия" тогда
19 Шапокляк
 
11.09.12
14:12
Если  Строка(Элемент.Колонки.Папка)="Бухгалтерия" тогда заменим другим г-кодом:
Если  ДанныеСтроки.Папка.Наименование="Бухгалтерия" тогда
20 Reset
 
11.09.12
14:14
(19) Мой гамнокод предпочтительней, т.к. используется представление ссылки (обращения к объекту нет) :)
21 Босечка
 
11.09.12
14:15
(18) Пробовала не работает.
22 Босечка
 
11.09.12
14:16
По объекта не обнаружено Папка
23 Reset
 
11.09.12
14:19
(22) У таблицы значений, которая отображается в табличном поле с именем "ТабЧастьТЗ", есть колонка "Папка"?
24 Reset
 
11.09.12
14:19
У таблицы значений, подчеркиваю, не в табличном поле
25 Босечка
 
11.09.12
14:22
Есть.
26 Reset
 
11.09.12
14:23
а в (22) говорит, что нет :(

Что-то моя телепатия кончается
27 Босечка
 
11.09.12
14:33
Все получилось, я ошиблась малость.
Только не выходит для всей строки, только для ячейки.

   ЦветПапки = Новый Цвет(255,0,0);    
   ЦветаОбычнойпапки=ЦветаСтиля.ЦветФонаПоля;
   Если  Строка(ДанныеСтроки.ИП1)="Бухгалтерия" тогда
       ОформлениеСтроки.Ячейки.ИП1.ЦветФона = ЦветПапки;
   иначе
       ОформлениеСтроки.Ячейки.ИП1.ЦветФона = ЦветаОбычнойпапки;
   Конецесли;
28 Reset
 
11.09.12
14:34
Сделай так временно:


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

Сообщить(?(Элемент.Колонки.Найти("Папка")=Неопределено,"В ТП нет колонки","В ТП есть колонка"));
Сообщить(?(Элемент.Значение.Колонки.Найти("Папка")=Неопределено,"В ТЗ нет колонки","В ТЗ есть колонка"));
   // Вставить содержимое обработчика.

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

И скажи, что сообщить сообщает
29 Reset
 
11.09.12
14:34
блин :D
30 Reset
 
11.09.12
14:35
Для всей строки
ОформлениеСтроки.ЦветФона = ЦветПапки;
31 Босечка
 
11.09.12
14:37
так делала,  получается красное все табличное поле (все строки).
32 Reset
 
11.09.12
14:40
А в (27) вся колонка красная? или через строку
33 Reset
 
11.09.12
14:42
Хотя от тебя похоже можно всего ожидать ;)
Не (30), а вот так:

Если Строка(ДанныеСтроки.ИП1)="Бухгалтерия" тогда
       ОформлениеСтроки.ЦветФона = ЦветПапки;
иначе
       ОформлениеСтроки.ЦветФона = ЦветаОбычнойпапки;
Конецесли;
34 Босечка
 
11.09.12
14:43
Вся Ячейка красная, мне колонку не надо. Мне надо строку.
35 Босечка
 
11.09.12
14:44
так у меня и написано,
Если Строка(ДанныеСтроки.ИП1)="Бухгалтерия" тогда
       ОформлениеСтроки.ЦветФона = ЦветПапки;
иначе
       ОформлениеСтроки.ЦветФона = ЦветаОбычнойпапки;
Конецесли;
Вся ТАБЛИЦА красная становится.
36 Reset
 
11.09.12
14:46
Значит, везде ИП1 = Бухгалтерия, разве не так?
37 IamAlexy
 
11.09.12
14:49
ща окажется что у нее там управляемая форма..
38 Босечка
 
12.09.12
10:46
Все уже сделала, спасибо всем.