Вход | Регистрация

1С:Предприятие ::

Метки: справочники

Программное форматирование данных в таблице

Я
   oxy
 
06.10.08 - 16:38
Возникла необходимость "разукрасить" оборотно-сальдовую ведомость. Т.е. при формировании отчета с элементами многоуровненвых справочников, выделять группы цветом, либо шрифтом. Вопрос в том, как достучаться к кокретной секции таблицы и задать в таком случае область. Тут ведь жесткое задание ячеек (типа R12C1) не подходит? Спасибо.
 
  Рекламное место пустует
   ДенисЧ
 
1 - 06.10.08 - 16:40
обл = Таб.Область(НачСтрока, НачКолонка, КонСтрока, КонКолонка);
обл.ЦветШрифта(255,0,0)
   antoneus
 
2 - 06.10.08 - 16:46
я, может, и неправильно делаю, но у меня разные секции для групп и элементов. Как в ТИСе в печати прайса.
   ДенисЧ
 
3 - 06.10.08 - 16:46
Ну так и делай, как тебе надо. главное - в нужную оьласть попасть.
   Ёпрст
 
4 - 06.10.08 - 16:46
(0) Есть несколько способов...
красить до или после вывода секции, например
   oxy
 
5 - 06.10.08 - 16:59
люди, а поподробнее расскажите плз. имею конструкция вроде этого:

Обл=Т.Область("R12,C1,R12,C8");
ТекСпр=Ит.Субконто(2);
Если ТипЗначения(ТекСпр)=11 Тогда
 Если ТекСпр.уровень()=4 Тогда
  обл.полужирный(1); 
  Обл.цветФона(34,126,211) ;
 КонецЕсли;
КонецЕсли;

и ничего хорошего не вижу, кроме ругани что "значение не представляет агрегатный объект".
   ДенисЧ
 
6 - 06.10.08 - 17:00
Обл=Т.Область(12,1,12,8)
   Ёпрст
 
7 - 06.10.08 - 17:03
(6) та один хрен не поможет :)
   oxy
 
8 - 06.10.08 - 17:04
(6) ерунда выходит. смотрю отладчиком - не присваивается вообще никакое значение, в предыдущем варианте было "ОбластьТаблицы".
   Ёпрст
 
9 - 06.10.08 - 17:05
(8) Конечно ерунда... красить одну и туже область всегда ... :)
   antoneus
 
10 - 06.10.08 - 17:05
Обл = Т.Область("R12C1:R12C8")
 
  Рекламное место пустует
   oxy
 
11 - 06.10.08 - 17:10
(9) как быть? я ж об этом и спрашиваю
   ДенисЧ
 
12 - 06.10.08 - 17:11
(11) Та адреса-то менять надо :-)
   oxy
 
13 - 06.10.08 - 17:13
КАК????? оборотно сальдовая ведомость, счет такойто, для субконто 2, если это справочник - элемент - группа 3-го уровня, сделаем ее зленой!!! как мне программно задать этот адресс? естессно, что для каждой группы 3-го уровня он будет свой.....
   Ёпрст
 
14 - 06.10.08 - 17:14
(11)

Т.ВывестиСекцию("Что-то");
Если <Условие> Тогда
      Т.Область(Т.ВысотаТаблицы(),1,Т.ВысотаТаблицы(),Т.ШиринаТаблицы()).ЦветФона(255,0,0);
КонецЕсли;
   ДенисЧ
 
15 - 06.10.08 - 17:16
Например, ичпользовать функции ВысотаТаблицы() - номер текущей выведенной строки, и ШиринаТаблицы() - общее количество выведенных столбцов.
Где-то так,..
таб.ВывестиСекцию("Строка");
обл = таб.Область(Таб.ВысотаТаблицы(), 1, таб.ВысотаТаблицы(), та.ШиринаТаблицы());
Если текУровень = 1 Тогда
 обл.ЦветШрифта(255, 0,0);
ИначеЕсли текУровень = 2 Тогда
 обл.ЦветШрифта(0, 255,0);
КонецЕсли;
   oxy
 
16 - 06.10.08 - 17:16
(14) а почему после Вывестисекцию() ?
   Ёпрст
 
17 - 06.10.08 - 17:19
(16) Не вопрос, можешь и ДО вывода покрасить:

Сек = Т.ПолучитьСекцию("Что-то там");
Если <условие> Тогда
   Сек.Область(1,1,10,1).ЦветФона(255,255,0);
КонецЕсли;
Т.ВывестиСекцию(Сек);
а можешь, и в заранее раскрашенные одинаковые секции выводить по условию, как например, в АналаизПродаж в ТиСе...
   oxy
 
18 - 06.10.08 - 17:53
Большое спасибо. Все получилось.


Список тем форума
Рекламное место пустует   Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует