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

Форумы на Кубань.Ру


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

Метки:

1C 8.0 Как сделать группировки в табличке отчета????

Ø
Я
   MaxMara
26.11.04 - 14:37
Сразу пишу - я только-только начинаю разбираться, поэтому за косость написанного прошу простить.
Вообще, хотелось бы, чтобы при выводе отчета рядом с группой появлялся такой крестик, который раскрывал бы или закрывал её содержимое, я думала, что для этого достаточно написать волшебные слова ТабДокумент.НачатьАвтогруппировкуСтрок();, но, похоже, это не так....
Что же надо написать??? Или где и что указать????
// Вставить содержимое обработчика.
  Контр = Справочники.Контрагенты;
  //ВыборкаКонтр =  Контр.Выбрать();
  ВыборкаКонтр =  Контр.ВыбратьИерархически();
  Таблица = ПолучитьМакет("Макет");
  //ТабДокумент = Новый ТекстовыйДокумент;
  ТабДокумент = Новый ТабличныйДокумент;
  к = 0;
  Пока ВыборкаКонтр.Следующий() Цикл
    Если (ВыборкаКонтр.ЭтоГруппа = 1)и(ВыборкаКонтр.УровеньВВыборке()=0) Тогда
      а = 0;
      к = к + 1;
      ОбластьТаблицы = Таблица.ПолучитьОбласть("Группа");
      ОбластьТаблицы.Параметры.в = к;
      ОбластьТаблицы.Параметры.ВыборкаКонтр1 = ВыборкаКонтр;
      
      ТабДокумент.Вывести(ОбластьТаблицы);
      ТабДокумент.НачатьАвтогруппировкуСтрок();
      
      Контр1 = Справочники.Контрагенты;
      //ВыборкаКонтр1 =  Контр1.Выбрать(ВыборкаКонтр);
      ВыборкаКонтр1 =  Контр1.Выбрать();
      Пока ВыборкаКонтр1.Следующий() Цикл
        Если (ВыборкаКонтр1.ЭтоГруппа = 0)и(ВыборкаКонтр1.Родитель.Код=ВыборкаКонтр.Код) Тогда
          
          а = а + 1;
          ОбластьТаблицы = Таблица.ПолучитьОбласть("Строка");
          ОбластьТаблицы.Параметры.б = а;
          ОбластьТаблицы.Параметры.ВыборкаКонтр1 = ВыборкаКонтр1;
          ТабДокумент.Вывести(ОбластьТаблицы);
          
        КонецЕсли;	
      КонецЦикла;	
      //ТабДокумент.Вывести(СокрЛП(Строка(а)+ВыборкаКонтр));
      ТабДокумент.ЗакончитьАвтогруппировкуСтрок();
    КонецЕсли;
  КонецЦикла;	
  // Зададим параметры макета
  //ТабДокумент.ЗакончитьАвтогруппировкуСтрок();
  ТабДокумент.ПолеСверху = 0;
  ТабДокумент.ПолеСлева  = 0;
  ТабДокумент.ПолеСнизу  = 0;
  ТабДокумент.ПолеСправа = 0;
  ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
  //ТабДокумент.Показать();
  //ТабДокумент.ТолькоПросмотр();
  //инНапечататьДокумент(ТабДокумент, 1, Ложь, "Товарно-транспортная накладная");
  ТабДокумент.ОтображатьЗаголовки = Ложь;
  ТабДокумент.ОтображатьСетку     = Ложь;
  ТабДокумент.Защита              = Истина;
  ТабДокумент.ТолькоПросмотр      = Истина;
  ТабДокумент.Показать(Заголовок);
 
 
   Дяпти
1 - 26.11.04 - 14:58
Нужно еще задать параметр Уровень у метода Вывести. Комп не шаман и не знает, на каком уровне какая строка выходит. Вкупе с НачатьАвтогруппировкуСтрок() будет достаточно.
   MaxMara
2 - 26.11.04 - 16:36
(((( Написала в первом случае
ТабДокумент.Вывести(ОбластьТаблицы,0);
во втором
ТабДокумент.Вывести(ОбластьТаблицы,1);
Всеравно не получилось ((((
Я тупой, сапсем тупой....
   MaxMara
3 - 26.11.04 - 17:04
Урря!!! Получилось!!!
1. 			ТабДокумент.НачатьАвтогруппировкуСтрок();
      ТабДокумент.Вывести(ОбластьТаблицы,к);
2.			ТабДокумент.Вывести(ОбластьТаблицы,к+1);
   MaxMara
4 - 26.11.04 - 17:11
Дяпть, спасибо! ))))



Список тем форума

Форум Территория 1С

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