Выгрузить сформированный отчет в СКД в таблицу значений
Коллеги, возник вопрос - как выгрузить сформированный отчет в СКД в таблицу значений?
Отчет выводится как таблица. Следовательно, выгрузить через компоновщик не получается, так как "Не поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений"
Ну или подскажите другое решение подобной задачи, нужно сформировать отчет, с возможностью отбора по нескольким объектам и выгрузить в excel каждый объект на отдельный лист.
Пока я вижу решение так: формирую отчет по всем объектам в удобном пользователю виде, выгружаю результат в ТЗ и перебором ТЗ вывожу требуемые данные в отдельный лист. Но застопорился на выгрузке результата в ТЗ.
Или, как вариант, брать из схемы запрос, выполнять его снова и уже его результат выгружать в ТЗ. Но может быть есть более простое решение?
Отчет выводится как таблица. Следовательно, выгрузить через компоновщик не получается, так как "Не поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений"
Ну или подскажите другое решение подобной задачи, нужно сформировать отчет, с возможностью отбора по нескольким объектам и выгрузить в excel каждый объект на отдельный лист.
Пока я вижу решение так: формирую отчет по всем объектам в удобном пользователю виде, выгружаю результат в ТЗ и перебором ТЗ вывожу требуемые данные в отдельный лист. Но застопорился на выгрузке результата в ТЗ.
Или, как вариант, брать из схемы запрос, выполнять его снова и уже его результат выгружать в ТЗ. Но может быть есть более простое решение?
По теме из базы знаний
- Универсальный конструктор отчетов (Новейший отчет) для 1C 7.7
- Создание мульти-базовых отчетов. Все, что вы хотели об этом знать
- Быстрое формирование наборов данных Объект схемы СКД
- Простой отчет СКД с дополнительным набором данных, получаемых по com соединению из другой базы
- Набор данных ОБЪЕКТ для Универсального отчета
Найденные решения
(7) Извлекайте тогда запрос из скомпонованного макета, где уже применены все отборы и выбраны нужные поля:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Вы можете не брать из схемы запрос, а выгружать таки через компоновщик, но предварительно поменяв структуру отчета, где используются только группировки.
Более того, если некий Объект должен оказаться на отдельной странице, путь группировкой самого верхнего уровня будет группировка по этому Объекту, и выгружайте результат в дерево значений, а не таблицу. В таком случае строки верхнего уровня полученного дерева будут соответствовать данным отдельного листа.
Более того, если некий Объект должен оказаться на отдельной странице, путь группировкой самого верхнего уровня будет группировка по этому Объекту, и выгружайте результат в дерево значений, а не таблицу. В таком случае строки верхнего уровня полученного дерева будут соответствовать данным отдельного листа.
(7) Извлекайте тогда запрос из скомпонованного макета, где уже применены все отборы и выбраны нужные поля:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
(8) Спасибо, получилось так:
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки);
ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Для Каждого С Из МакетКомпоновки.ЗначенияПараметров Цикл
Запрос.УстановитьПараметр(С.Имя, С.Значение);
КонецЦикла;
Результат = Запрос.Выполнить().Выгрузить();
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки);
ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Для Каждого С Из МакетКомпоновки.ЗначенияПараметров Цикл
Запрос.УстановитьПараметр(С.Имя, С.Значение);
КонецЦикла;
Результат = Запрос.Выполнить().Выгрузить();
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот