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