|   |   | 
| 
 | Построитель отчета как передать Таблицу значений в параметры? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        А зачем именно через построитель задачу решать? Можно же через СКД, или просто через запрос и замену текста в нем все сделать.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |