1С 8.3 Конвертация отчета на СКД в таблицу значений на табличном документе - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Конвертация отчета на СКД в таблицу значений на табличном документе

Данные > Примеры кода 1С > 1С 8.3 Схема компоновки данных (СКД)
Перейти в раздел примеры кода 1С 8.3:
Иногда с отчетами удобнее (или быстрее) работать в MS Excel, например, когда необходимо связать несколько разных отчетов. Если отчеты выводятся с группировкой, то связать их бывает проблематично. Если у отчета нет своей формы, то можно применить такое универсальное решение. В общую форму ФормаОтчета, в контекстное меню добавим команду "Исходные данные", которая будет выгружать набор данных СКД с текущими значениями параметров и отборов сначала в таблицу значений, а потом в табличный документ, размещенный на общей форме. Если часть параметров или отборов заполняется в процедуре ПриКомпоновкеРезультата, то могут возникнуть ошибки.
Конвертация отчета на СКД в ТЗ на ТД в 1С 8.3:
&НаСервере
Процедура ВыгрузитьТаблицуНаСервере()

   Результат = Новый ТаблицаЗначений;

   Попытка
       ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
       СхемаКомпоновкиДанных = ОтчетОбъект.СхемаКомпоновкиДанных;
       НастройкиСКД = Отчет.КомпоновщикНастроек.ПолучитьНастройки();

       КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
       МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиСКД,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

       ПроцессорСКД = Новый ПроцессорКомпоновкиДанных;
       ПроцессорСКД.Инициализировать(МакетКомпоновки);

       ВыводРезультатаКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
       ВыводРезультатаКД.УстановитьОбъект(Результат);
       ВыводРезультатаКД.Вывести(ПроцессорСКД, Истина);

       ОтчетТабличныйДокумент.Очистить();
       ПО_данные = Новый ПостроительОтчета;
       ПО_данные.ИсточникДанных = Новый ОписаниеИсточникаДанных(Результат);
       ПО_данные.Вывести(ОтчетТабличныйДокумент);
   Исключение
       Сообщить("Не удалось отобразить исходные данные, возможно выводятся несколько разнородных таблиц.
    |Перейдите в настройки и оставьте только одну необходимую таблицу.");
   КонецПопытки;

КонецПроцедуры

&НаКлиенте
Процедура ВыгрузитьПлоскуюТаблицу(Команда)

   ВыгрузитьТаблицуНаСервере();

КонецПроцедуры
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 03.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому