|
Табличная часть, заливка строки цветом | ☑ | ||
---|---|---|---|---|
0
shock3r
17.10.12
✎
10:34
|
Подскажите как реализовать заливку строк цветом в табличной части.
Нужно обрабатывать результат: если остатков нету - красный, если остатков в достаточном кол-ве зеленый |
|||
1
Alex S D
17.10.12
✎
10:34
|
оформление строки
|
|||
2
Alex S D
17.10.12
✎
10:34
|
или условное оформление если УФ
|
|||
3
shock3r
17.10.12
✎
10:38
|
(1) а можно пример, простейший, где создается ТЧ и первая строка заливается одним цветом, а вторая другим?
Обычный документ + табличная часть. |
|||
4
Alex S D
17.10.12
✎
10:39
|
УФ или че? нету под рукой)
|
|||
5
pessok
17.10.12
✎
10:41
|
если обычные формы то в ПриПолученииДанных
Для Каждого Оформление Из ОформленияСтрок Цикл //оформляем КонецЦикла |
|||
6
lim9
17.10.12
✎
10:44
|
я бы сказал так:
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ... КонецПроцедуры // ТоварыПриВыводеСтроки() |
|||
7
shock3r
17.10.12
✎
10:47
|
(4) Если честно, я не знаю как проверить и ответить на ваш вопрос, что такое управляемые формы я не очень знаком. Обычная форма документа.
(5) (6) мне больше интересно что внутри происходит, а не как должна выглядеть процедура, пример |
|||
8
Торин
17.10.12
✎
10:49
|
Можно использовать и ПриПолученииДанных как в (5) и ПриВыводеСтроки как в (6)
(6) проще, а (5) -- правильнее. Точнее так -- (5) правильнее, если данные для анализа должны получатся сложной функцией, например запросом по данным строки, иначе --все равно. (7)внутри пишешь примерно так Если ДанныеСтроки.количество > 0 Тогда ОформлениеСтроки.Ячейки.Цвет.цветФона = WebЦвета.БледноКрасноФиолетовый; ОформлениеСтроки.Ячейки.Цвет.цветТекста = WebЦвета.БледноКрасноФиолетовый; Иначе ОформлениеСтроки.Ячейки.Цвет.цветФона = WebЦвета.БледноЗеленый; ОформлениеСтроки.Ячейки.Цвет.цветТекста = WebЦвета.БледноЗеленый; конецесли; |
|||
9
Торин
17.10.12
✎
10:50
|
Что именно выделять цветом - текст или фон - выбери сам...
|
|||
10
shock3r
17.10.12
✎
10:52
|
(8) спасибо Торин. Хороший пример и толкование буду разбераться
|
|||
11
Торин
17.10.12
✎
10:53
|
если же тебе надо вначале получить остатки на складе запросом и потом уже в зависимости от этого количества менять цвет, тогда правильнее использовать событие "ПриПолученииДанных "
|
|||
12
Торин
17.10.12
✎
10:58
|
Да, чтобы было понятнее
"ОформлениеСтроки.Ячейки.Цвет" -- "Цвет" -- это ИМЯ ячейки... у тебя такой ячейки не будет, будет там "номенклатура", "количество". "единицаИзмерения"... |
|||
13
shock3r
17.10.12
✎
11:02
|
(12) Спасибо Торин!
|
|||
14
shock3r
17.10.12
✎
15:13
|
Пожалуйста, кто-нибудь, напишите пример кода, например по нажатию на кнопку, чтобы а ТЧ, в первой строке поменялся цвет фона, я уже весь мозг сломал
|
|||
15
Reset
17.10.12
✎
15:18
|
(14) --> (8)
Нажатием на кнопку цвет фона в конкретной строке поменять нельзя. Можно изменить условия, по которым строки окрашиваются. Для форсирования перерисовки табличного поля можно использовать ТП.ОбновитьСтроки( |
|||
16
Торин
17.10.12
✎
15:30
|
подробно:
1. в таб часть добавляешь новый реквизит называешь его, например, "цвет" 2. на форму добавляешь соответствующую ячейку, но делаешь ее невидимой 3. по нажатию на кнопку пишешь следующий код Если тч.количество()> 0 тогда ТЧ[0].цвет = 1; элементыФормы.ТЧ.Обновитьстроки(); конецЕсли; в событие ПриВыводеСтроки пишешь Если ДанныеСтроки.цвет = 1 Тогда ОформлениеСтроки.Ячейки.Номенклатура.цветФона = WebЦвета.БледноКрасноФиолетовый; ОформлениеСтроки.Ячейки.Количество.цветФона = WebЦвета.БледноКрасноФиолетовый; .... и так для каждой из видимых ячеек конецесли |
|||
17
Reset
17.10.12
✎
15:34
|
Если нужно для всех ячеек, для каждой видимой не обязательно :) ОформлениеСтроки.ЦветФона
|
|||
18
shock3r
17.10.12
✎
15:43
|
(16)
(17) Да мне всего-то нужно, чтобы при изменении в табличной части колонки количество, если оно > 0 - выделить всю строку зеленым, если = 0 красным... Я уже запутался, ячейки, невидимую ячейку |
|||
19
shock3r
17.10.12
✎
15:44
|
сейчас сижу и пытаюсь сделать как сказано в (16)
|
|||
20
shock3r
17.10.12
✎
15:46
|
(16)
а что значит: 2. на форму добавляешь соответствующую ячейку, но делаешь ее невидимой добавить на форму поле ввода, "цвет" ? |
|||
21
Reset
17.10.12
✎
16:01
|
Для (18) не нужно дополнительных ячеек
Процедура ПриВыводеСтроки(Данные,Оформление) Если Данные.Количество>0 тогда Оформление.ЦветФорма=Зеленый; ИначеЕсли Данные.Количество<0 тогда Оформление.ЦветФорма=Красный; Иначе // 0 Оформление.ЦветФорма=Серобуромалиновый; КонецЕсли; КонецПроцедуры; |
|||
22
Reset
17.10.12
✎
16:01
|
ЦветФона*
|
|||
23
Reset
17.10.12
✎
16:03
|
Это в (8) было уже
|
|||
24
shock3r
17.10.12
✎
16:50
|
(16)
(18) Заработало!!! Наконец-то (Разработчики 1С) Убейте себя |
|||
25
shock3r
17.10.12
✎
16:51
|
Спасибо всем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |