Имя: Пароль:
1C
1С v8
Установить цвет ячейки, отчет на макете
0 Mashap
 
18.02.12
19:04
Добрый день!

Имеется отчет, построенный на макете, цикл следующий:

       ОбластьМакета = Макет.ПолучитьОбласть("Строка");
       ОбластьМакета.Параметры.Заполнить(ТекСтрока);
       ОбластьМакета.Параметры.Номер = ии;
       
       иии = 1;  Дата = НачалоДня(ПериодНачало);
       Пока Дата <> (ПериодОкончание + 86400) Цикл
           Если Дата = ТекСтрока.ПланируемаяДата Тогда
               ДеньПараметр = "День" + иии;
               ОбластьМакета.Параметры[ДеньПараметр] = "Р";
               
               Прервать;
           Иначе
               Дата = Дата + 86400;
               иии = иии + 1;
           КонецЕсли;
       КонецЦикла;
       
       ТабДокумент.Вывести(ОбластьМакета);

Необходимо вместо буквы "Р" окрасить ячейку в цвет. Как это сделать? Спасибо!
1 DrShad
 
18.02.12
19:15
без фото не взлетит
2 zzerro
 
18.02.12
22:31
Наверно как то так: ОбластьМакета.Область(адрес области).ЦветФона = НужныйЦвет
3 Mashap
 
18.02.12
22:48
(2) так вся строка окрашивается, нужно пересечению вертикальных и горизонтальных секций
4 CepeLLlka
 
18.02.12
22:49
(3)Так ты область то задал?
5 Mashap
 
18.02.12
22:49
(2) по типу табеля
6 Mashap
 
18.02.12
22:49
ОбластьМакета.Области.Строка.ЦветФона
вот так написала
7 CepeLLlka
 
18.02.12
22:50
Вот у меня есть кусок кода.. погляди..


АдресЯчейки = "";
Для Каждого Элемента ИЗ Платежи Цикл
       НомерСтроки = 9+Н;
       АдресЯчейки = "R"+НомерСтроки+"C17";
   ДокСсылка = Платежи.Получить(Н).Значение;
   Док = ДокСсылка.ПолучитьОбъект();
   Док.СтатусПлатежа = Таб.ПолучитьОбласть(АдресЯчейки).ТекущаяОбласть.Значение;
   Док.Записать();
   Н = Н+1;
   КонецЦикла;
8 CepeLLlka
 
18.02.12
22:53
МойЦвет = Новый Цвет(255, 0, 0);
Таб.ПолучитьОбласть(АдресЯчейки).ТекущаяОбласть.ЦветФона = МойЦвет;

Как задать адресс я уже показал.
9 Mashap
 
18.02.12
23:02
АдресЯчейки = "R6C8";
ТабДокумент.ПолучитьОбласть(АдресЯчейки).ТекущаяОбласть.ЦветФона = webЦвета.Аквамарин;

Написала так, не работает, в отладке после прохождение строки цвет фона остается авто. Так как у тебя написано тоже не работает.
10 CepeLLlka
 
18.02.12
23:03
Я так понял что тебе нужно просто создать вторую область, в которой сделать тот же самый параметр, а фон у ячейки другой.. и выводить то одну, то другую в зависимости от твоей даты.. нет?
11 Mashap
 
18.02.12
23:04
да
12 Mashap
 
18.02.12
23:04
нужно проверить работал в этот день человек или нет, если работал, то закрасить ячейку
13 Mashap
 
18.02.12
23:07
с символом работает, хочется с цветом еще
14 Mashap
 
18.02.12
23:17
ОбластьОкрашивания = ТабДокумент.Область("R6C8:R6C8");
ОбластьОкрашивания.ЦветФона = webЦвета.Аквамарин;

Получилось так, нужно было левый верхний угол, правый нижний задавать. Спасибо!
15 Mashap
 
18.02.12
23:19
неудобно правда не фига, пропускает строку..
16 CepeLLlka
 
18.02.12
23:20
В смысле пропускает строку?
17 CepeLLlka
 
18.02.12
23:20
Так ты не создавай вторую то..
18 Mashap
 
18.02.12
23:23
а, все, получилось:)
19 CepeLLlka
 
18.02.12
23:24
Действительно тяжело :( А я то думал.. а оказывается люди то телепатические способности тут развивают.. я чуть не развил сейчас..
20 Mashap
 
18.02.12
23:36
Окончательный вариант:
               ОбластьМакета.Область("R1C"+НомерСтолбца+":R1C"+Номерстолбца).ЦветФона = webЦвета.ЗеленыйЛес;

Строку добавляло, потому что R1C1 это не абсолютное значение, а относительное, т.е. относительно текущего положения. Так работает.
21 zzerro
 
19.02.12
00:25
(20) собственно как в (2) и написано ))