Ситуация когда мы в расширении добавили кнопку по которой будем вызывать отчет СКД. При этом сложность в том что отчет находится в базе во внешних обработках (ДополнительныеОтчетыИОбработки) и используем ШаблонСКД
Вот эти ресурс был интересен, но у меня не взлетело
1С 8.3 Как при помощи БСП программно открыть внешний отчет из "Дополнительные отчеты и обработки" и передать параметры
в модуле формы (расширения) на кнопку вешаем этот код
&НаКлиенте Процедура СогласованиеКонтрагентовПосле(Команда) ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных; ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина); ПараметрыОтчета.Вставить("КлючВарианта", "ФормированиеПоПараметрам"); ПараметрыОтчета.Вставить("СвязанныйДокумент", объект.Предметы[0].Предмет); ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами
("Отчет согласованных контрагентов", ПараметрыОтчета, Истина);далее на клиенте вызываем серверную функцию для получения ссылки нашего отчета и использует ОткрытьФорму. Передам в уже открытую форму параметры
&НаКлиенте Процедура ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами
(ИмяОтчетаОбработки, ПараметрыОткрытия, ЭтоОтчет, РодительскаяФорма = Неопределено) ВнешнийОтчетОбработкаДляОткрытияСсылка =
ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере (ИмяОтчетаОбработки); ИмяОбработкиСлужебное = ДополнительныеОтчетыИОбработкиВызовСервера.
ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка); Форма =ОткрытьФорму("ВнешнийОтчет." + ИмяОбработкиСлужебное + ".Форма",
ПараметрыОткрытия, РодительскаяФорма); КомпоновщикНастроекКомпоновкиДанных = Форма.Отчет.КомпоновщикНастроек; ПараметрСКД=КомпоновщикНастроекКомпоновкиДанных.Настройки.ПараметрыДанных.
Элементы.Найти("СвязанныйДокумент"); ПараметрСКД.Использование = Истина; ПараметрСКД.Значение = объект.Предметы[0].Предмет; КонецПроцедурыдалее сама серверная функция получения ссылки
&НаСервере Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки) Возврат Справочники.ДополнительныеОтчетыИОбработки.
НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка; КонецФункции
Вот и все=)
Комментариев нет:
Отправить комментарий