Цвет строки против цвета колонки: кто главнее #681364


#0 by Антиквар
У меня есть две обработки, на форме каждой из них табличное поле. Для удобства восприятия у табличного поля чередуется цвет колонок (через одну подкрашены слегка серым). По некоторым условиям необходимо всю строку окрашивать в какой-либо цвет. Дак вот в первой обработке окрашенные строки полностью имеют нужный цвет, а во второй обработке не могу этого добиться, почему-то цвет колонок перебивает цвет строки. Механизм окрашивания реализован одинаково в обоих обработках: цвет фона колонок задан в конфигураторе, а цвет строк в процедуре ПриВыводеСтроки. Дак вот во втором случае, там где цвет колонок Авто (белый), цвет ячееек принимает нужный цвет строки, а в цветных колонках остается цвет колонки. Понятно что обработки у меня разные, но механизм окрашивания одинаков. Может ли от какого-то свойства табличного поля это зависеть? Или вообще куда копать?
#1 by Heckfy
По моему, кто последний, тот и папа. То есть, чему последнему цвет устанавливаешь, тот и будет главный. :)
#2 by ИС-2
может событие при выводе строки не выполнятся?
#3 by Фокусник
ИМХО, цвет строки - это "нижний слой", а цвет ячейки - это "верхний слой", поэтому какой цвет ячейки задан, такой цвет и будет, на важно какой "цвет строки" под ним. Для полной закраски строки нужным цветом можно закрашивать каждую ячейку этой строки.
#4 by Антиквар
цвет колонкам установлен в конфигураторе, а строкам - в ПриВыводеСтроки, т.е. строки последние. Даже если предположить, что сначала сработало ПриВыводеСтроки, а потом окрасились колонки при открытии формы, то в процессе работы ПриВыводеСтроки срабатыват ещё не раз и должно перекрыть. Выполняется. Ведь те ячейки, которые не относятся к окрашиваемым колонкам, окрашиваются в нужный цвет, заданный для строки по срабатыванию определенного условия.
#5 by Антиквар
Думал уже над тем, чтоб каждую ячейку закрашивать, но это неудобно и хочется понять причину. Ведь в первой обработке у меня такого нет. Согласен, что ячейка имеет приоритет над строкой, но я задаю цвет колонке в конфигураторе, а не ячейке. И по идее программное задание цвета строки должно перекрыть заданный цвет колонки в конфигураторе.
#6 by Фокусник
Цвет "колонок" Авто, это значит он не задан. Поэтому "сквозь него" и виден цвет строки, задаваемый программно. А в тех случаях, когда цвет ячейки задан (программно или в конфигураторе), он перекроет цвет строки. Не важно как задан цвет, программно или в конфигураторе, важно что именно окрашено :)
#7 by cw014
Насколько я помню, у табличного поля есть: Чередование цветов строк ЧередованиеЦветовСтрок, UseAlternationRowColor
#8 by Антиквар
Ещё раз повторю, что в первой обработке окрашивается вся строка, т.е. от чего-то это зависит. И цвет ячейки я не задаю, я задаю цвет клонки. Есть такое свойство. Но мне не надо чередовать строки, цвет строки у меня задается в ПриВыводестроки по определенному условию. Далеко не у всех строк.
#9 by Антиквар
Вот кстати нашел в хелпе по 1С: ОформлениеСтроки Объект для управления оформлением строки табличного поля. ЦветФона / BackColor Доступ: чтение и запись. Тип: Число. Описание: Определяет цвет фона всех ячеек строки. Приоритет выше, чем у свойства ЦветФона колонки табличного поля. Так что строка должна перебивать колонку.
#10 by RomaH
давай выкладывай обработки - посмотрим
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С