Пример:
Необходимо на форму обработки вывести отчет: "Задолженность клиента" с отбором по партнеру.
Реализация:
Создадим обработку и добавим следующие реквизиты:
- Дата отчета - тип Дата
- Партнер - тип Партнеры
- Вариант отчета - тип ВариантыОтчетов
- Табличный документ - тип ТабличныйДокумент
Затем добавим основную форму, где выведем эти реквизиты и кнопку "Заполнить"
Кнопка "Заполнить" будет вызывать серверный метод "ВывестиТабличныйДокументНаСервере".
Описание последовательности:
1. Получаем параметры формирования отчета - ВариантыОтчетов.ПараметрыФормированияОтчета();
2. Заполняем параметры формирования отчета и подключаем отчет - ВариантыОтчетов.ПодключитьОтчетИЗагрузитьНастройки(ПараметрыФормированияОтчета);
3. Изменяем настройки компоновщика настроек (опционально);
4. Формируем отчет и выводим на форму.
&НаСервере
Процедура ВывестиТабличныйДокументНаСервере()
ПараметрыФормированияОтчета = ВариантыОтчетов.ПараметрыФормированияОтчета();
ЗаполнитьПараметрыФормированияОтчета(ПараметрыФормированияОтчета);
Результат = ВариантыОтчетов.СформироватьОтчет(ПараметрыФормированияОтчета, Ложь, Истина);
Объект.ТабличныйДокумент = Результат.ТабличныйДокумент;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПараметрыФормированияОтчета(ПараметрыФормированияОтчета)
ПараметрыФормированияОтчета.СсылкаВарианта = Объект.ВариантОтчета;
ЗначенияВариантаОтчета = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.ВариантОтчета, "Отчет, КлючВарианта");
ПараметрыФормированияОтчета.СсылкаОтчета = ЗначенияВариантаОтчета.Отчет;
ПараметрыФормированияОтчета.КлючВарианта = ЗначенияВариантаОтчета.КлючВарианта;
ПараметрыФормированияОтчета.Подключение = ВариантыОтчетов.ПодключитьОтчетИЗагрузитьНастройки(ПараметрыФормированияОтчета);
Если ПараметрыФормированияОтчета.Подключение.Успех Тогда
Настройки = ПараметрыФормированияОтчета.Подключение.Объект.КомпоновщикНастроек.ПолучитьНастройки();
КомпоновкаДанныхКлиентСервер.ОчиститьНастройкиКомпоновкиДанных(Настройки);
КомпоновкаДанныхКлиентСервер.СкопироватьНастройкиКомпоновкиДанных(Настройки, ПараметрыФормированияОтчета.Подключение.Объект.КомпоновщикНастроек.Настройки);
УстановитьПараметрыОтчета(Настройки);
УстановитьОтборыОтчета(Настройки);
ПараметрыФормированияОтчета.Подключение.Объект.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыОтчета(Настройки)
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаОтчета", Объект.ДатаОтчета);
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборыОтчета(Настройки)
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Настройки.Отбор,
"Партнер",
Объект.Партнер,
ВидСравненияКомпоновкиДанных.Равно,
"",
Истина,,
Новый УникальныйИдентификатор);
КонецПроцедуры
В данном примере изменяется параметр отчета "Дата отчета" и накладывается отбор по партнеру.
Примечание: Этот способ подходит в том случае, если отчет реализован на СКД.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.17.164
Вступайте в нашу телеграмм-группу Инфостарт