Имя: Пароль:
1C
1С v8
Цвет строки против цвета колонки: кто главнее
,
0 Антиквар
 
19.09.13
14:15
У меня есть две обработки, на форме каждой из них табличное поле. Для удобства восприятия у табличного поля чередуется цвет колонок (через одну подкрашены слегка серым).
По некоторым условиям необходимо всю строку окрашивать в какой-либо цвет.
Дак вот в первой обработке окрашенные строки полностью имеют нужный цвет, а во второй обработке не могу этого добиться, почему-то цвет колонок перебивает цвет строки.
Механизм окрашивания реализован одинаково в обоих обработках:
цвет фона колонок задан в конфигураторе, а цвет строк в процедуре ПриВыводеСтроки().
Дак вот во втором случае, там где цвет колонок Авто (белый), цвет ячееек принимает нужный цвет строки, а в цветных колонках остается цвет колонки.
Понятно что обработки у меня разные, но механизм окрашивания одинаков. Может ли от какого-то свойства табличного поля это зависеть? Или вообще куда копать?
1 Heckfy
 
19.09.13
14:19
По моему, кто последний, тот и папа.
То есть, чему последнему цвет устанавливаешь, тот и будет главный. :)
2 ИС-2
 
naïve
19.09.13
14:23
может событие при выводе строки не выполнятся?
3 Фокусник
 
19.09.13
14:27
(0) ИМХО, цвет строки - это "нижний слой", а цвет ячейки - это "верхний слой", поэтому какой цвет ячейки задан, такой цвет и будет, на важно какой "цвет строки" под ним.

Для полной закраски строки нужным цветом можно закрашивать каждую ячейку этой строки.
4 Антиквар
 
19.09.13
14:29
(1) цвет колонкам установлен в конфигураторе, а строкам - в ПриВыводеСтроки(), т.е. строки последние. Даже если предположить, что сначала сработало ПриВыводеСтроки(), а потом окрасились колонки при открытии формы, то в процессе работы ПриВыводеСтроки() срабатыват ещё не раз и должно перекрыть.
(2) Выполняется. Ведь те ячейки, которые не относятся к окрашиваемым колонкам, окрашиваются в нужный цвет, заданный для строки по срабатыванию определенного условия.
5 Антиквар
 
19.09.13
14:31
(3) Думал уже над тем, чтоб каждую ячейку закрашивать, но это неудобно и хочется понять причину. Ведь в первой обработке у меня такого нет.
Согласен, что ячейка имеет приоритет над строкой, но я задаю цвет колонке в конфигураторе, а не ячейке. И по идее программное задание цвета строки должно перекрыть заданный цвет колонки в конфигураторе.
6 Фокусник
 
19.09.13
14:40
(5)

Дак вот во втором случае, там где цвет колонок Авто (белый), цвет ячееек принимает нужный цвет строки, а в цветных колонках остается цвет колонки.


Цвет "колонок" Авто, это значит он не задан. Поэтому "сквозь него" и виден цвет строки, задаваемый программно.

А в тех случаях, когда цвет ячейки задан (программно или в конфигураторе), он перекроет цвет строки.


И по идее программное задание цвета строки должно перекрыть заданный цвет колонки в конфигураторе."


Не важно как задан цвет, программно или в конфигураторе, важно что именно окрашено :)
7 cw014
 
19.09.13
14:48
Насколько я помню, у табличного поля есть:

Чередование цветов строк
ЧередованиеЦветовСтрок, UseAlternationRowColor
8 Антиквар
 
19.09.13
15:01
(6) Ещё раз повторю, что в первой обработке окрашивается вся строка, т.е. от чего-то это зависит.
И цвет ячейки я не задаю, я задаю цвет клонки.
(7) Есть такое свойство. Но мне не надо чередовать строки, цвет строки у меня задается в ПриВыводестроки() по определенному условию. Далеко не у всех строк.
9 Антиквар
 
19.09.13
15:12
Вот кстати нашел в хелпе по 1С:
ОформлениеСтроки
Объект для управления оформлением строки табличного поля.
ЦветФона / BackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет фона всех ячеек строки. Приоритет выше, чем у свойства ЦветФона колонки табличного поля.

Так что строка должна перебивать колонку.
10 RomaH
 
naïve
19.09.13
15:27
давай выкладывай обработки - посмотрим