|
Оформление в строке ТЧ | ☑ | ||
---|---|---|---|---|
0
vitaliklibra
18.05.15
✎
19:08
|
Снова всем привет!
В обычном приложении в табличной части хочу выбранную строку, например, перекрасить в другой цвет, или шрифт поменять по нажатии кнопки (типа как в 1С Бухе назначить основной договор). Какие есть методы и подходы к решению? Прошу помощи! |
|||
1
shuhard_серый
18.05.15
✎
19:13
|
(0)[ методы и подходы]
какие тут нафиг подходы при наличии всего двух событий - первое из которых При выводе строки |
|||
2
vitaliklibra
18.05.15
✎
19:16
|
(1) Т.е. мне нужно будет по нажатию кнопки вызвать процедуру ПриВыводеСтроки? Там оформление я нашёл как раз, НО! Строка (а точнее ТЧ) уже выведена!
|
|||
3
ДенисЧ
18.05.15
✎
19:20
|
(2) Лучше смотри ПриПолученииДанных().
И не смотри, что строка уже выведена. Она перекрасится |
|||
4
GROOVY
18.05.15
✎
19:21
|
(3) +1
|
|||
5
vitaliklibra
18.05.15
✎
19:46
|
(3) - Спасибо! Все работает (убедился, в смысле). Теперь вопрос в другом. Как вызвать по нажатию кнопки эту процедуру перекраски?
К примеру - сама процедура перекраски: Процедура КонтактнаяИнформацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки.ЗначениеКонтакта.ЦветФона = Новый Цвет(255, 100, 100); КонецПроцедуры А это обработчик нажатия кнопки (условно): Процедура УстановитьОсновнойТелефонНажатие(Элемент) ... КонтактнаяИнформацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки); ... КонецПроцедуры Или как правильно это сделать? Сейчас она просто перекрашивает без запросов(... |
|||
6
mehfk
18.05.15
✎
19:50
|
открыть типовую и сделать так же
|
|||
7
vitaliklibra
18.05.15
✎
19:51
|
(6) А в какой типовой это есть? Подскажи.
|
|||
8
mehfk
18.05.15
✎
19:53
|
от 1500 р в час
|
|||
9
vitaliklibra
18.05.15
✎
19:58
|
(8) - знаешь, иногда, когда не мешают, это тоже можно считать помощью... Подумай хорошенько, над этим)
|
|||
10
ДенисЧ
18.05.15
✎
20:00
|
Измени данные в строке и процедура сама вызовется
|
|||
11
mehfk
18.05.15
✎
20:00
|
(9) Подумал. Для тебя от 1800 р в час.
|
|||
12
ДенисЧ
18.05.15
✎
20:01
|
(11) Штрейкбрейхер и демпингёр...
|
|||
13
vitaliklibra
18.05.15
✎
20:07
|
(10) Это да, но она также вызывается, когда только открывается форма! А мне нужно, чтоб она вызывалась по команде...
|
|||
14
ДенисЧ
18.05.15
✎
20:08
|
(13) Тебе это не нужно.
|
|||
15
vitaliklibra
18.05.15
✎
20:11
|
(14) Хорошо, тогда так. Как мне правильно задать условие внутри процедуры "ПриВыводеСтроки", чтоб произвольную строку она мне перекрашивала, как мне надо?
Процедура КонтактнаяИнформацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки.ЗначениеКонтакта.ЦветФона = Новый Цвет(255, 100, 100); КонецПроцедуры Т.е. "ДанныеСтроки" могут быть абсолютно разными. Как быть? |
|||
16
ДенисЧ
18.05.15
✎
20:12
|
Если ДанныеСтроки.ФлагПерекрашивания = 100500 Тогда
РасскраситьСтроку(ОформлениеСтроки, "ЯдовитоЗелёный"); КонецЕсли |
|||
17
vitaliklibra
19.05.15
✎
13:52
|
(16) А если мне нужно раскрасить не по логическому условию, а в зависимости от какого-то действия над элементом формы. Ну, типа, по нажатию кнопки. Т.е мне нужно тогда как-то задать условие, что если такая-то кнопка нажата, то тогда перекрасить. А вот как отследить нажатие кнопки в ЭТОЙ процедуре?
|
|||
18
lxndr
19.05.15
✎
13:55
|
(17) переменную модуля запили, её вздёргивай по кнопке
|
|||
19
vitaliklibra
19.05.15
✎
13:56
|
(18) В принципе понял, щас попробую...
|
|||
20
lxndr
19.05.15
✎
13:56
|
а лучше кнопку с пометкой
|
|||
21
Ёпрст
19.05.15
✎
13:57
|
(17) заведи переменную , не бойся.
Ей в операторох основной программы присваивай чего-нить, по нажатию кнопки - изменяй, в при получении/выводе строки крась в зависимости от значения переменной. наслаждайся, кушай печенки |
|||
22
Ёпрст
19.05.15
✎
13:58
|
ЗЫ:
Непонятно только, откуда вот это маниакальное желание всё красить берётся ? |
|||
23
D_E_S_131
19.05.15
✎
14:00
|
может еще метод "ОбновитьСтроки()" пригодится ТС...
|
|||
24
vitaliklibra
19.05.15
✎
14:03
|
(22) Поясню) У меня есть ТЧ в справочнике, где из списка различных контактных данных нужно выделить КАК-ТО основной телефон и основной адрес, к примеру. А так как их может быть 100500, то тут и пригодится этот инструмент. Understand?)
(23) - не исключено! Спасибо. Тестю пока... |
|||
25
lxndr
19.05.15
✎
14:08
|
(24) открою форму в следующий раз: основного / запасного уже не будет. Я зря давил кнопки?!
|
|||
26
lxndr
19.05.15
✎
14:08
|
красить мало. Надо сохранять
|
|||
27
vitaliklibra
19.05.15
✎
14:11
|
(26) Согласен! Дашь подсказку? :/
|
|||
28
lxndr
19.05.15
✎
14:15
|
(27) реквизит припаяй в таб. часть. Флажок.
|
|||
29
vitaliklibra
19.05.15
✎
14:15
|
Ага, что получается.
Переменную я задал: Перем ПокраситьСтрокуТелефона; По нажатию определенной кнопки присваиваю ей значение "ИСТИНА". В процедуре пишу: Процедура КонтактнаяИнформацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ПокраситьСтрокуТелефона = Истина Тогда ОформлениеСтроки.Ячейки.ЗначениеКонтакта.ЦветФона = Новый Цвет(255, 100, 100); КонецЕсли; ПокраситьСтрокуТелефона = Ложь; КонецПроцедуры Вопрос: как теперь вызвать процедуру перекраски? Если её же вписать в процедуру кнопки, ругается на "Элемент", "ОформлениеСтроки", "ДанныеСтроки", что, собственно, верно. Или я опять что-то не так делаю? |
|||
30
D_E_S_131
19.05.15
✎
14:30
|
(29) см (23)
|
|||
31
vitaliklibra
19.05.15
✎
14:35
|
(30) - подскажи, пожалуйста, как его применить к моей ТЧ?
|
|||
32
vitaliklibra
19.05.15
✎
14:37
|
Странно, при обращении к этой процедуре (ПриВыводеСтроки), система 2 раза проходит всю ТЧ! Это так и должно быть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |