Имя: Пароль:
1C
1С v8
ПостроительОтчета и параметр ТаблицаЗначений
0 romashov
 
19.12.12
14:48
Отчет построен на базе "УниверсальногоОтчета". Требуется в построитель отчета в качестве параметра передать таблицу значений. При открытии ругается на неверный параметр &ТаблПараметров. Пробывал в запросе делать получается. Можно ли как нибудь параметр типа таблица значений использовать в построителе отчета не хочется ручками отчет формировать?
1 mikecool
 
19.12.12
14:49
сначала надо ТЗ поместить во ВТ, а уж потом юзать
2 romashov
 
19.12.12
14:50
это понятно так и ругается на то место где я формирую временную таблицу
3 romashov
 
19.12.12
14:51
УниверсальныйОтчет.ПостроительОтчета.Текст =
   "ВЫБРАТЬ
   |    Т.ДокументПланирования,
   |    Т.СтатьяДвиженияДенежныхСредств,
   |    Т.ГрупповойКомментарий
   |ПОМЕСТИТЬ ВТГрупповыхКомментариев
   |ИЗ
   |    &ТаблКомментариев КАК Т

ошибка не верный пареметр &ТаблКомментариев. Колонки в таблице значений типизированы.
4 le_
 
19.12.12
14:52
(2) Не работает построитель с ТЗ в качестве параметров.
А вот источник данных с ТЗ описать можно.
5 romashov
 
19.12.12
14:54
Плохо.
6 le_
 
19.12.12
15:05
7 Serginio1
 
19.12.12
15:20
Можно тз подсунуть как ИсточникДанных

Тз=Новый ТаблицаЗначений;
Колонки=Тз.Колонки;
Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
   Колонки.Добавить("Сумма",ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(10,2));
   
   
   Спр=Справочники.Номенклатура.Выбрать();
   Сч=1;
   Пока спр.Следующий() Цикл
       стр=Тз.Добавить();
       Стр.Номенклатура=Спр.Ссылка;
       Стр.Сумма=сч;
       Сч=Сч+1;
       Если сч=101 Тогда
           прервать
       КонецЕсли;    
   КонецЦикла;    
   
Источник = Новый ОписаниеИсточникаДанных(ТЗ);
Источник.Колонки.Номенклатура.Измерение = Истина;
Источник.Колонки.Сумма.Итог = "Сумма(Сумма)";

//Построитель = Новый ПостроительОтчета();
ПостроительОтчета.ИсточникДанных = Источник;

ПостроительОтчета.ЗаполнитьНастройки();
ПолеОтбора = ПостроительОтчета.Отбор.Добавить("Номенклатура");                          
ПолеОтбора = ПостроительОтчета.Отбор.Добавить("Сумма");


   

ПостроительОтчета.Выполнить();
ЭлементыФормы.ТаблицаОстатков.Очистить();
ПостроительОтчета.Вывести(ЭлементыФормы.ТаблицаОстатков);