Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передать таблицу значений в построитель отчета
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Vidocq05
УТП 1.2
Взял за основу типовой отчет "Продажи". Мне его нужно дополнить своими данными с таблицы значений. Пытаюсь так:
УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("КатегоризацияТЗ",КатегоризацияТЗ);
УниверсальныйОтчет.ПостроительОтчета.Текст = "ВЫБРАТЬ
            |    Категоризация.Реквизит1,
            |    Категоризация.Реквизит2
            |ПОМЕСТИТЬ КатегоризацияВТ
            |ИЗ
            |    &КатегоризацияТЗ КАК Категоризация
            |;
// Дальше текст с типового

Но выдает ошибку -
{ВнешнийОтчет.Продажи.МодульОбъекта(94)}: Ошибка при установке значения атрибута контекста (Текст)
УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
по причине:
{(9, 2)}: Неверные параметры "КатегоризацияТЗ"
<<?>>&КатегоризацияТЗ КАК Категоризация

Как передать таблицу значений в построитель отчета?
DrLivsi
Vidocq05 @ Сегодня, 17:33 необходимо зарегистрироваться для просмотра ссылки ,
ПостроительОтчета.Параметры.Вставить(Ключ, Значение);

<Ключ> (обязательный)

Тип: Строка.
Ключ устанавливаемого элемента. Ключ должен соответствовать правилам, установленным для идентификаторов:
Первым символом ключа должна быть буква или символ подчеркивания (_).
Каждый из последующих символов может быть буквой, цифрой или символом подчеркивания (_).
<Значение> (необязательный)

Тип: Произвольный.
Значение устанавливаемого элемента.
Vidocq05
DrLivsi @ Сегодня, 17:46 необходимо зарегистрироваться для просмотра ссылки ,
Не понятно, что Вы хотите этим сказать. КатегоризацияТЗ - это таблица значений.
Petre
Vidocq05 @ Сегодня, 17:56 необходимо зарегистрироваться для просмотра ссылки ,
ТЗ типизирована? ТЗ не содержит бесконечных строк?
Vidocq05
Цитата(Petre @ 06.11.17, 18:00) необходимо зарегистрироваться для просмотра ссылки
ТЗ типизирована?

Типизирована. Обычьный запрос с ней нормально работает.
Vladal
Цитата(Vidocq05 @ 06.11.17, 17:12) необходимо зарегистрироваться для просмотра ссылки
ТЗ типизирована?
Типизирована. Обычный запрос с ней нормально работает.

"обычный запрос" и будет работать. Консоль запросов менее требовательная и более всеядная.

Как получаете эту таблицу значений? Выгрузкой запроса или другого объекта базы?
Если создаете просто
ТаблицаЗначений.Колонки.Добавить("Реквизит1");
- то такую ТЗ построитель не возьмет. Для таких таблиц колонки нужно создавать с описанием типов:
ТаблицаЗначений.Колонки.Добавить("Реквизитй", Новый ОписаниеТипов("СправочникСсылка.ВариантыОтветовОпросов"));
Vidocq05
Vladal @ 07.11.17, 12:37 необходимо зарегистрироваться для просмотра ссылки ,
Таблицу значений получаю из хранилища значений. В хранилище она попадает из табличной части обработки. Так что типизирована.
В интернете чтото находил, что типа построитель отчета не работает с временными таблицами, что нужно ТЗ закидывать в ИсточникДанных. Не совсем понял и подробностей никаких не нашел. Пытался просто закинуть ТЗ в ИсточникДанных - та же ошибка.
Vladal
Vidocq05 @ 09.11.17, 10:09 необходимо зарегистрироваться для просмотра ссылки ,
Покажите, как закидывали ТЗ в Построитель?

Вот работающий пример:
    ТабДокумент = Новый ТабличныйДокумент;
    Построитель = Новый ПостроительОтчета;
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ВыходнаяТаблица);
    Построитель.ЗаполнитьНастройки();
    Построитель.Выполнить();
// далее бантики, основной текст выше - получение и обработка ТЗ
    Построитель.ОформитьМакет();
    Построитель.Вывести(ТабДокумент);
    ТабДокумент.Показать();


Далее можно программно установить группировки и итоги.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.