Имя: Пароль:
1C
1C 7.7
v7: Как покрасить ячейки табличного документа?
,
0 JuixyJes
 
13.01.20
17:13
Доброго дня, подскажите, как покрасить ячейку в зависимости от выполнения условия?
1 Builder
 
13.01.20
17:18
Через Таблица.Область
ЦветФона(<?>)
Синтаксис:
ЦветФона(<Цвет>)
Назначение:
Получить/установить режим отображения цвета фона области. Возвращает текущее числовое значение RGB-цвета фона области (на момент до исполнения метода).
Параметры:
<Цвет> - необязательный параметр. Числовое выражение, значение которого задает RGB цвет. Допустимые значения от 0 до 16'777'215. Значение -1 (минус единица) задает цвет, заданный для всей области по умолчанию.
2 Ёпрст
 
13.01.20
17:19
(0) Если <условие> Тогда ПокраситьЯчейки(ТабДок) КонецЕсли;
3 Builder
 
13.01.20
17:19
Ну или ЦветТекста(<Цвет>)
4 JuixyJes
 
13.01.20
17:21
У меня там 8 ячеек, идущих в ряд, в зависимости от выполнения условия для каждой из них должен поменяться цвет.
Как покрасить область я знаю.
5 Builder
 
13.01.20
17:23
(4) А чем ячейки не получить область????
6 Builder
 
13.01.20
17:23
к (5) А из ячейки не получить область?
7 Ёпрст
 
13.01.20
17:25
Покрасить можно разными способами:

1.ячейки в секции макета, выводить разные секции макета
2.получить секцию, раскрасить область в ней, вывести эту секцию
3.вывести секцию, получить высоту таблицы, раскрасить область в таблице
4.просто бегать по результируещей таблице и раскрашивать что угодно через область
8 JuixyJes
 
13.01.20
17:33
2.получить секцию, раскрасить область в ней, вывести эту секцию

Как это сделать?
9 Ёпрст
 
13.01.20
17:39
(8)

Секция = Таб.ПолучитьСекцию("Вася|Федя");
Секция.Область(1,1,1,1).ЦветФона ....
Секция.Область(1,1,1,1).Текст = "Вася лошпед";
Таб.ВывестиСекцию(Секция);
10 Ёпрст
 
13.01.20
17:41
Или так

//в начале выводим
Таб.ВывестиСекцию("Вася|Федя");
//потом красим
Таб.Область(Таб.ВысотаТаблицы(),1,Таб.ВысотаТаблицы(),1).ЦветФона(255,0,0);
11 Ёпрст
 
13.01.20
17:42
естественно, надо учитывать высоту выводимой области (если она в высоту больше одной ячейки)..
короче, занимайся
12 JuixyJes
 
14.01.20
09:14
Спасибо большое
13 JuixyJes
 
14.01.20
09:31
Секция = ТабДок.ПолучитьСекцию("Строка");
Секция.Область(1,3,3,1).ЦветФона(255,0,0);

Если мне нужно покрасить ячейку 3 в секции Строка, я правильно все делаю?
14 dedmoroz777
 
14.01.20
09:53
Секция.Область(1,3,1,3).ЦветФона(255,0,0);
15 JuixyJes
 
14.01.20
10:02
16 JuixyJes
 
14.01.20
10:02
Быть может я с таблицей что то не так делаю?
17 JuixyJes
 
14.01.20
10:20
Ибо воздействия никакого не имеет

Секция.Область(1,3,1,3).ЦветФона(255,0,0);
18 dedmoroz777
 
14.01.20
10:20
Секция = ТабДок.ПолучитьСекцию("Строка");
Секция.Область("R1C3").ЦветФона(255,0,0);
ТабДок.ВывестиСекцию(Секция);
19 JuixyJes
 
14.01.20
10:25
Все, спасибо, заработало! (18)