Имя: Пароль:
1C
1С v8
Построитель отчета как передать Таблицу значений в параметры?
,
0 Юзер123
 
naïve
11.11.22
09:51
Добрый день. Сабж..  УПП старые отчеты. Надо в параметры передать ТаблицуЗначений..
Сейчас при инициализации ошибка про неверный параметр
1 Kassern
 
11.11.22
09:53
(0) А как передаете? В отладчике гляньте тип точно ТЗ у параметра?
2 Юзер123
 
naïve
11.11.22
09:54
КвалификаторыСтроки = Новый КвалификаторыСтроки(400);
    ОписаниеСтроки = Новый ОписаниеТипов("Строка", ,КвалификаторыСтроки);
    ТабДанные = Новый ТаблицаЗначений;
    ТабДанные.Колонки.Добавить("Документ", Новый ОписаниеТипов("ДокументССылка.ЗаказПоставщику"));
    ТабДанные.Колонки.Добавить("Счет", ОписаниеСтроки);
    ТабДанные.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организации"));
    
    ПостроительОтчетаОтчет.Параметры.Вставить("ТабДанные", ТабДанные);
    
    
    ОтчетИнициализация();
3 Kassern
 
11.11.22
09:56
(2) А зачем вставлять пустую ТЗ?
4 Юзер123
 
naïve
11.11.22
09:56
ну потому что пробую) без этого тоже ошибка.
5 Юзер123
 
naïve
11.11.22
09:57
Ошибка при установке значения атрибута контекста (Текст)
    ПостроительОтчетаОтчет.Текст =
по причине:
{(230, 2)}: Неверные параметры "ТабДанные"
6 Юзер123
 
naïve
11.11.22
09:58
|////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ТабДанные.Документ КАК Документ,
    |    ТабДанные.ДанныеСчетов КАК ДанныеСчетов,
    |    ТабДанные.Организация КАК Организация
    |ПОМЕСТИТЬ ВТТабДанные
    |ИЗ
    |    &ТабДанные КАК ТабДанные
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////

кусок в запросе где используется.
7 RomanYS
 
11.11.22
10:02
Идея (возможно не рабочая): у построителя по идее в источник можно ТЗ передать... но возможно тогда запрос нельзя будет использовать
8 Юзер123
 
naïve
11.11.22
10:06
(7) Пробовал передавать ТЗ как источник данных. Отчет работает. Но почему то ИТОГИ слетают.  Переезжают в шапку хотя указано выводить в подвале.
9 RomanYS
 
11.11.22
10:17
(8) возможно настройки сбрасываются при смене источника, но это по идее решаемо
10 Юзер123
 
naïve
11.11.22
10:18
(9) После смены источника еще раз установить?
11 Юзер123
 
naïve
11.11.22
10:30
ПостроительОтчетаОтчет.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабПостроителя);
            
        
        ПостроительОтчетаОтчет.Выполнить();
        ПостроительОтчетаОтчет.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
        ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
        ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
        ПостроительОтчетаОтчет.РазмещениеИтоговВСтроках = ТипРазмещенияИтогов.Заголовок;
        ПостроительОтчетаОтчет.РазмещениеИтоговВКолонках = ТипРазмещенияИтогов.Заголовок;
        ПостроительОтчетаОтчет.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Текстиль);
        ПостроительОтчетаОтчет.Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Макет");
        
        
        ПостроительОтчетаОтчет.ОформитьМакет();
        ПостроительОтчетаОтчет.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);





Все также в шапке(
12 Юзер123
 
naïve
11.11.22
10:40
Прошу прощения.

        ПостроительОтчетаОтчет.Выполнить();
        ПостроительОтчетаОтчет.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
        ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
        ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
        ПостроительОтчетаОтчет.РазмещениеИтоговВСтроках = ТипРазмещенияИтогов.ТолькоПодвал;
        ПостроительОтчетаОтчет.РазмещениеИтоговВКолонках = ТипРазмещенияИтогов.ТолькоПодвал;
        ПостроительОтчетаОтчет.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Текстиль);
        ПостроительОтчетаОтчет.Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Макет");
13 ptiz
 
11.11.22
11:20
(8) Всё верно, нормальных итогов не будет.
Если не нужны итоги по колонкам, то выкручиваются так:
в текст построителя пихаем "заглушку" ("ВЫБРАТЬ 1 КАК поле1 ПОМЕСТИТЬ ТЗ; ..."). А после настроек вместо .Вывести() делаем .ПолучитьЗапрос() и там первую таблицу-заглушку меняем на ТЗ. Только вывод "полуручной" получается.
14 Юзер123
 
naïve
11.11.22
11:24
(13) Сейчас попробую. Спасибо
15 Юзер123
 
naïve
11.11.22
11:29
Только вывод "полуручной" получается. -  а вот тут не понял)
16 ptiz
 
11.11.22
11:43
(15) Метод ПолучитьЗапрос() вернет тебе запрос, и дальше про построитель с его методом .Вывести() придется забыть.
17 ptiz
 
11.11.22
11:44
Если ты хочешь "малой кровью" добавить ТЗ в существующий отчет на построителе - не выйдет.
18 ptiz
 
11.11.22
11:45
Если не делать извращения типа сохранения ТЗ в регистр сведений.
19 Kassern
 
11.11.22
11:50
А зачем именно через построитель задачу решать? Можно же через СКД, или просто через запрос и замену текста в нем все сделать.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.