1С Программирование | 1C Разработка и Предприятие 8.3. Уроки для начинающих и Профи. Курсы Программиста: Конфигурация, Код и Внедрение. IT Карьера, Фриланс и Обучение. ERP, ЗУП, Бухгалтерия.
IT и технологии · 5 июня 2026 г.
Преобразование отчета на СКД в таблицу значений на табличном документе — 5 июня 2026 г. в 05:13:04.537
Преобразование отчета на СКД в таблицу значений на табличном документе Иногда с отчетами удобнее (или быстрее) работать в MS Excel, например, когда необходимо связать несколько разных отчетов. Если отчеты выводятся с группировкой, то связать их бывает проблематично. Если у отчета нет своей формы, то можно применить такое универсальное решение. В общую форму ФормаОтчета, в контекстное меню добавим команду "Исходные данные", которая будет выгружать набор данных СКД с текущими значениями параметров и отборов сначала в таблицу значений, а потом в табличный документ, размещенный на общей форме. &НаСервере Процедура ВыгрузитьПлоскуюТаблицуНаСервере() Результат = Новый ТаблицаЗначений; Попытка ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); СхемаКомпоновкиДанных = ОтчетОбъект.СхемаКомпоновкиДанных; Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); ОтчетТабличныйДокумент.Очистить(); Построитель = Новый ПостроительОтчета; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Результат); Построитель.Вывести(ОтчетТабличныйДокумент); Исключение Сообщить("Не удалось отобразить исходные данные, возможно выводятся несколько разнородных таблиц. |Перейдите в настройки и оставьте только одну необходимую таблицу."); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ВыгрузитьПлоскуюТаблицу(Команда) ВыгрузитьПлоскуюТаблицуНаСервере(); КонецПроцедуры Если часть параметров или отборов заполняется в процедуре ПриКомпоновкеРезультата, то могут возникнуть ошибки. Автор: RomanVG ✍️ @odin1C_rus

