|
Цвет текста в текущей ячейке Табличного Документа | ☑ | ||
---|---|---|---|---|
0
volkVVV
11.11.15
✎
09:23
|
Доброго времени суток.
Знаю, что вопрос уже заезженый, но что то ни одним из загугленных методов не получается. Вообщем, при выводе детальных записей в ТабДок, нужно изменить цвет ячейки с условием, например если ТехСостояние = НеИсправен, тогда красить цвет текста ячейки в красный. Подскажите люди добрые. |
|||
1
ДенисЧ
11.11.15
✎
09:23
|
УФ/ОФ?
|
|||
2
Горогуля
11.11.15
✎
09:24
|
(1) ТабДокумент
(0) кроме гугленья что-то ещё пробовал? |
|||
3
UFO
11.11.15
✎
09:28
|
Вот так я вчера делал:
Для Каждого СтрТ из тдост Цикл ОбластьСтр.Параметры.Заполнить(СтрТ); ОбластьСтр.Параметры.ПеревозчикАМ = ""+СтрТ.Перевозчик+" "+СтрТ.АМ; ОбластьСтр.Параметры.ЦенаФакт =?(СтрТ.Километраж<>0,Окр(СтрТ.СуммаФакт/СтрТ.Километраж),""); ОбластьСтр.Параметры.мСуммаФакт = СтрТ.ВыставленоКлиенту-СтрТ.СуммаФакт; ОбластьСтр.Параметры.Норма = Окр(1000*СтрТ.РасценкаН*СтрТ.Километраж/СтрТ.ТоннажН); ОбластьСтр.Параметры.ТоннажФакт = Окр(1000*?(СтрТ.Тоннаж = 0,СтрТ.СуммаФакт,СтрТ.СуммаФакт/СтрТ.Тоннаж)); ОбластьСтр.Параметры.ТоннажФ = СтрТ.Тоннаж; ОбластьСтр.Параметры.Тоннаж = Окр(1000*?(СтрТ.Тоннаж = 0,СтрТ.ВыставленоКлиенту,СтрТ.ВыставленоКлиенту/СтрТ.Тоннаж)); Т.Вывести(ОбластьСтр); // Виктор ++++ Проценты = 0; Проценты = СтрТ.Тоннаж * 100 / СтрТ.ТоннажН; Если Проценты > 100 Тогда Проценты = Проценты - 100; Иначе Проценты = 100 - Проценты; КонецЕсли; Если Проценты >= 20 Тогда Т.Область(Т.ВысотаТаблицы,7,Т.ВысотаТаблицы,8).ЦветФона = Новый Цвет(255,181,241); КонецЕсли; // ++++ Виктор Где т табличный документ |
|||
4
UFO
11.11.15
✎
09:29
|
7 и 8 номера колонок
|
|||
5
volkVVV
11.11.15
✎
09:32
|
(2) (3) вот я так и делал
Если Результат.ТехСостояние = Перечисления.ТехническоеСостояние.НеИсправен Тогда ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона = Новый Цвет(255,181,241); Строка.Параметры.ТехническоеСостояние = Результат.ТехСостояние; только красит не те ячейки, у меня параметр находится в ячейке R9C9 |
|||
6
UFO
11.11.15
✎
09:33
|
Сначала выведи а потом окрашивай
А иначе надо минусовать ряд - 1 |
|||
7
UFO
11.11.15
✎
09:34
|
А лучше все-таки сначала вывести, а потом окрашивать, потому как если не выведено, то окрашивать непонятно что
|
|||
8
Горогуля
11.11.15
✎
09:36
|
а я у области красил. прямо в первой строке на каждой итерации
|
|||
9
UFO
11.11.15
✎
09:37
|
(8) ну может и так.. я с 8-й еще года нету занимаюсь, поэтому не все тонкости знаю
|
|||
10
volkVVV
11.11.15
✎
09:38
|
Если Результат.ТехСостояние = Перечисления.ТехническоеСостояние.НеИсправен Тогда
ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона = Новый Цвет(255,181,241); КонецЕсли; Строка.Параметры.ТехническоеСостояние = Результат.ТехСостояние; вот так сделал, все равно красит только первую ячейку в колонке |
|||
11
UFO
11.11.15
✎
09:39
|
так может у тебя условие только на первую строку срабатывает?
|
|||
12
volkVVV
11.11.15
✎
09:40
|
(11) да нет, на него наоборот и не срабатывает, но все равно красит
|
|||
13
UFO
11.11.15
✎
09:41
|
Код полностью в студию!
|
|||
14
UFO
11.11.15
✎
09:43
|
ТабДок.ВысотаТаблицы содрежит в себе полную высоту таблицы после ТабДок.Вывести()
|
|||
15
volkVVV
11.11.15
✎
09:44
|
(13)
Группа = Макет.ПолучитьОбласть("Группа"); Строка = Макет.ПолучитьОбласть("Строка"); Пока Результат.Следующий() Цикл ТипЗаписи = Результат.ТипЗаписи(); Если ТипЗаписи = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда Группа.Параметры.Заполнить(Результат); Группа.Параметры.Транспорт = Результат.ТранспортРодитель; НомерПП = 0; ТабДок.Вывести(Группа); ИначеЕсли ТипЗаписи = ТипЗаписиЗапроса.ДетальнаяЗапись Тогда НомерПП = НомерПП + 1; Строка.Параметры.НомерПП = НомерПП; Строка.Параметры.Транспорт = Результат.Транспорт; Если Результат.ТехСостояние = Перечисления.ТехническоеСостояние.НеИсправен Тогда ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона = Новый Цвет(255,181,241); ИначеЕсли Результат.ТехСостояние = Перечисления.ТехническоеСостояние.Исправен Тогда ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона = Новый Цвет(255,0,0); //Строка.Параметры.ТехническоеСостояние = Результат.ТехСостояние; КонецЕсли; Строка.Параметры.ТехническоеСостояние = Результат.ТехСостояние; ТабДок.Вывести(Строка); КонецЕсли; КонецЦикла; |
|||
16
UFO
11.11.15
✎
09:46
|
А ты можешь сделать так, чтобы условие окрашивания вынести после ТабДок.Вывести();
|
|||
17
Горогуля
11.11.15
✎
09:46
|
ОбластьСтрока(1, 9).ЦветФона=
ТабДокумент.Вывести(ОбалстьСтрока) не? |
|||
18
volkVVV
11.11.15
✎
09:47
|
(16) сейчас попробую
|
|||
19
UFO
11.11.15
✎
09:48
|
(18) Будь ласка, попробуй
|
|||
20
Горогуля
11.11.15
✎
09:49
|
а делать две похожие области с разным цветом считаю извращением
|
|||
21
Fedor-1971
11.11.15
✎
09:52
|
(15) ты ещё ничего не вывел в результирующий документ, но пытаешься оное покрасить, так что:
либо ТабДок.Вывести(Строка); перед Если Результат.ТехСостояние = Перечисления.ТехническоеСостояние.НеИсправен Тогда либо вместо ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона - Строка.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветФона |
|||
22
volkVVV
11.11.15
✎
09:53
|
(19)
Строка.Параметры.ТехническоеСостояние = Результат.ТехСостояние; ..... ТабДок.Вывести(Строка); Если Результат.ТехСостояние = Перечисления.ТехническоеСостояние.НеИсправен Тогда ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветТекста = Новый Цвет(255,0,0); ИначеЕсли Результат.ТехСостояние = Перечисления.ТехническоеСостояние.Исправен Тогда ТабДок.Область(ТабДок.ВысотаТаблицы,9,ТабДок.ВысотаТаблицы,9).ЦветТекста = Новый Цвет(0, 0, 0); КонецЕсли; |
|||
23
НЕА123
11.11.15
✎
09:54
|
ежели делать по честному, то (17)
|
|||
24
volkVVV
11.11.15
✎
09:54
|
(22) вот так вот работает
|
|||
25
UFO
11.11.15
✎
09:54
|
(24) ну вот и юзай
|
|||
26
Горогуля
11.11.15
✎
09:55
|
(21) Строка.Область(ТабДок.ВысотаТаблицы
там не будет столько строк |
|||
27
Fedor-1971
11.11.15
✎
09:55
|
(26) ошибся, вот так надо Строка.Область(Строка.ВысотаТаблицы,9,Строка.ВысотаТаблицы,9).ЦветФона
|
|||
28
Горогуля
11.11.15
✎
09:55
|
(26) а, не, найдётся. занятная хрень получится
|
|||
29
volkVVV
11.11.15
✎
09:56
|
(25) всем спасибо, (17) способ тоже интересен, попробую, результат позже отпишу
|
|||
30
Горогуля
11.11.15
✎
09:56
|
тоже интересен ему... да, жизнь без геморроя ярка и приятна
|
|||
31
volkVVV
11.11.15
✎
09:57
|
(30) согласен, поэтому его тоже разъюзаю)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |