Программные изменения табличной части документа #513303


#0 by mzelensky
Доброго времени суток! Собственно задача звучит довольно просто, но самому найти решение пока не удалось. Собственно имеется табличная часть долкумента с большим количеством колонок. Необходимо программно изменять цвет фона шапки и цвет фона ячейки таб.части. Сделать это в конфигураторе элементарно, а вот как обратиться к этим свойствам программно, не могу найти. Подскажите плиз!
#1 by mzelensky
+ изменять цвет нужно для определенных колонок.
#2 by mzelensky
кажется уже нашел!
#3 by mzelensky
ПРОДОЛЖЕНИЕ ТЕМЫ!!!!!! ВОПРОС НЕМНОГО ДРУГОЙ, НО СОПУТСТВУЮЩИЙ!!! Собственно изменить цвет фона всей колонки в табличной части мне удалось. Теперь нужно сделать изменение цвета фона определенной ячейки табличной части. Подскажите или наведите на верное решение!?!?!?
#4 by Рэйв
Свойства: Методы: Описание: Определяет оформление ячейки табличного поля. Используется для определения свойства Ячейки объекта ОформлениеСтроки. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Пример: // Пример 1. Назначение цвета ячеек См. также:
#5 by mzelensky
Еще с проблемой такой столкнулся - формирую "раскраску" ТЧ программно, заполняю саму ТЧ, записываю документ, закрываю/открываю - вся красота с "разрисовкой" пропадает. ПОЧЕМУ? и можно ли исправить?
#6 by Рэйв
Значит не в том месте раскрашиваешь
#7 by mzelensky
а как до этого метода добраться??? ну т.е. осуществляю я обход табличной части в цикле...и как вызвать это самое "ОформлениеЯчейки"?
#8 by mzelensky
я вот так раскрашиваю:
#9 by Рэйв
"В цикле" - неправильно. У таб. поля есть процедура обработки события: ПриВыводСтроки советую помедитировать над ней.
#10 by Mitriy
+ я предпочитаю ПриПолученииДанных...
#11 by Рэйв
"И туда тоже можно."(С) Служебный роман
#12 by mzelensky
так мне ее нужно обрабатывать при изменении в ячейки табличноо поля.
#13 by Mitriy
он все поймет, он все увидит сам...
#14 by mzelensky
какой "он" оказывается УМНЫЙ :)
#15 by mzelensky
ПРОДОЛЖАЮ БИТЬСЯ НАД ТАБЛИЧНОЙ ЧАСТЬЮ!!! все вышеописанное конечно ОЧЕНЬ хорошо, НО...все это приводит к "выделению" всей колонки табличной части...и добиться чтобы выделялась именно ОПРЕДЕЛЕННАЯ ЯЧЕЙКА в ОПРЕДЕЛЕННОЙ СТРОКЕ...я не могу :( прошу помощи!!!
#16 by mzelensky
все выше и выше!!!
#17 by mzelensky
До бесконечности и дальше!!!! :)
#18 by ptiz
Кури ОформлениеСтроки.Ячейка.ТвояЯчейка.ЦветФона
#19 by mzelensky
я так и делал но в результате у меня выделяется не ячейка, а вся колонка!
#21 by mzelensky
и что я пишу "не такого", как там ?
#22 by mzelensky
При изменении ячейки в ТЧ срабатывает процедура: но почему-то она срабатывает несколько раз....перебирая все строки ТЧ. с чем это связано?
#23 by mooo
вчитайся в слова "ПриВыводеСтроки"  )
#24 by Mitriy
только избранные посвящаются в эту великую тайну...
#25 by 73
А где видно, что ты это пишешь в ПриВыводеСтроки/ПриПолученииДанных? И как ты определяешь СтрокаТЧ? И вообще, раскрашивается не ТЧ, а ТП. Не все, а отображаемые на экране. Ну, так и задумано.
#26 by vasilii85
Вместо того что бы биться, лучше документацию почитать, как тебе и советуют.
#27 by CoolCat
не повышай на нас шрифт ЭлементыФормы.ТЧ.Колонки.ИмяКолонки.ЦветФонаПоля  = Новый Цвет(255, 173, 150);
#28 by mzelensky
так я нормальной документации найти не могу. есть некоторые примеры, но чет туго с ними идет :( так как надо не работает!
#29 by CoolCat
неработает ????
#30 by mzelensky
так закрасится 1 ячейка (т.е. пересечение измененной строки и колонки) или вся колонка ???
#31 by 73
Тогда показывай не куски. Показывай процедуру ПриВыводеСтроки.
#32 by CoolCat
это как уж вам заблагорассудиться и как вы того пожелаете мой юный друг
#33 by Mitriy
афигеть...
#34 by mzelensky
+ ведь перерисовка происходит каждый раз при скажем прокрутке...соответственно все эти действия по несколько раз нужно производить...а если учитывать что мне нужно для каждой строки обработать по 30 колонок...это ж сколько ресурсов тратиться... другого варианта нет???
#35 by mzelensky
Типа вот такого, только для конкретной ячейки:
#36 by mzelensky
Элементыформы.ТабличнаяЧасть1.Колонки["ДП"+Строка(День(ДатаВ))].ЦветФонаПоля= Новый Цвет(255, 173, 150);;
#37 by mzelensky
апппп
#38 by 73
ОформлениеСтроки.ячейки["ДП"+Строка(День(ДатаВ))].ЦветФона=
#39 by mzelensky
так а как строку нужную отловить, если они в эту процедуру попадают ВСЕ "видимые"?!
#40 by 73
А ДанныеСтроки там для мебели, что ли?
#41 by 73
+ Вот это видел в ?: Процедура ТЗПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.Проведен Тогда  ОформлениеСтроки.Ячейки.Картинка.ИндексКартинки=0; Только вместо картинок цвета проставить...
#42 by mzelensky
таким образом получается ,что "помечанные" ячейки ДО ЭТОГО теряют "пометку" цветом...получается что нужно каждый раз все ТЧ пересчитывать :(
#43 by mzelensky
я типа такого напсал:
#44 by Ненавижу 1С
зачем?
#45 by hhhh
приколист. Ты, наверно, не глядя фигачишь символы клавиатуры, какой попадется.
#46 by mzelensky
для проверки строки! Вообще у меня в ТЧ порядка 20 строк...в каждой строке по 30 колонок...т.е. матрица в 600 ячеек. Раскрашивать мне нужно определенные ячейки из всего этого набора, причем какие именно раскрашивать нужно определять программно путем расчетов... В результате получается что при каждой перерисовки мне нужно прогонять все 600 ячеек????
#47 by hhhh
ПриПолученииДанных и ПриВыводеСтроки дают тебе именно те строки, которые перерисовываются.
#48 by mzelensky
не удобно :(
#49 by hhhh
значит обрабатывать каждый раз по 600 ячеек тебе удобно, а по 60 неудобно? Если их нет на экране, на хрена тебе понадобилось их раскращивать? Для прикола?
#50 by mzelensky
да нет ,я за другое....не удобно что вообще при каждой перерисовке их обрабатывать нужно...плохо что нельзя один раз назначить и все...пусть сама бы хранила значения.
#51 by 73
Табличное поле ничего не хранит.
#52 by mzelensky
ясно...спасибо всем - до меня, дурака, наконец-то дошло :(
#53 by ptiz
Наконец до тебя дошло, что результат расчета можно где-нибудь сохранить и не считать каждый раз :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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