рубрики: СКД | Дата: 8 ноября, 2016
При формировании отчетов с помощью системы компоновки данных (СКД)
в системе 1С:Предприятие 8 иногда требуется сделать это программно.
Рассмотрим на простейшем примере как это делается.
Итак, у нас есть внешний отчет с макетом ОсновнаяСхемаКомпоновкиДанных.
В реквизитах формы есть реквизит Отчет, а выводится отчет в
табличное поле Результат, расположенное на форме.
В схеме компоновки данных присутствует параметр Период, который
будем заполнять программно.
Как показано на схеме ниже при выводе отчета сначала на основании схемы компоновки
данных и настроек компоновки данных формируется макет компоновки данных.
Далее формируется результат компоновки данных, который выводится в табличный документ.
А теперь реализуем все пункты схемы в программном коде.
&НаСервере
Процедура СформироватьНаСервере()
Результат.Очистить();
//1. Получаем схему компоновки данных
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
СхемаКД = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//2. Получаем настройки компоновки данных
НастройкиКД = Отчет.КомпоновщикНастроек.Настройки;
НастройкиКД.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ТекущаяДата());
//3. Получаем макет компоновки данных
КомпоновщикМакетаКД = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКД = КомпоновщикМакетаКД.Выполнить(СхемаКД, НастройкиКД);
//4, 5. Выводим результат компоновки данных в табличный документ
ПроцессорКД = Новый ПроцессорКомпоновкиДанных;
ПроцессорКД.Инициализировать(МакетКД);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКД);
КонецПроцедуры
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере();
КонецПроцедуры
Здравствуйте! У вас есть какие-нибудь полезные сведения по поводу работы с расшифровкой в СКД? Хотелось бы из отчета открывать элемент справочника который в нем представлен. Пробовал через параметр расшифровки (вкладка «макеты» в окне СКД отчета) , команда «открыть» потом не активна. В параметр этот «запихивал» ссылку на данный справочник, который получал из запроса
Здравствуйте!
На диске ИТС видел что-то по этому поводу. Тоже программно можно ее прикручивать. Столкнулся когда пытался программно формировать отчет на СКД — расшифровка пропала. В итоге плюнул — смог без программного формирования обойтись.
Ясно. А я решение все-таки нашел. Довольно удобно открывать форму объекта из отчета который этот объект описывает (ну или по кр мере имеет какое-либо к нему отношение) кликая два раза на его (например) название