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

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
Большое спасибо. Все получилось.


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