пятница, 20 апреля 2018 г.

Передача параметров во внешний отчет СКД


Ситуация когда мы в расширении добавили кнопку по которой будем вызывать отчет СКД. При этом сложность в том что отчет находится в базе во  внешних обработках (ДополнительныеОтчетыИОбработки) и используем ШаблонСКД 
Вот эти ресурс был интересен, но у меня не взлетело

1С 8.3 Как при помощи БСП программно открыть внешний отчет из "Дополнительные отчеты и обработки" и передать параметры


в модуле формы (расширения) на кнопку вешаем этот код
&НаКлиенте
Процедура СогласованиеКонтрагентовПосле(Команда)

ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина);
ПараметрыОтчета.Вставить("КлючВарианта", "ФормированиеПоПараметрам");
ПараметрыОтчета.Вставить("СвязанныйДокумент", объект.Предметы[0].Предмет); 
ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами 
("Отчет согласованных контрагентов", ПараметрыОтчета, Истина);

 
далее на клиенте вызываем серверную функцию для получения ссылки нашего отчета и использует ОткрытьФорму. Передам в уже открытую форму параметры

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

 
КонецПроцедуры
 
далее сама серверная функция получения ссылки

&НаСервере
Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки)
    Возврат Справочники.ДополнительныеОтчетыИОбработки.
НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
КонецФункции

Вот и все=)


Комментариев нет:

Отправить комментарий

Печать чека ККМ из драйвера ККМ

Суть проблемы: Пробиваем чек из 1С: Бухгалтерии. Чек пробит не  правильно. Теперь нужно сделать чек коррекции. Но в программе это сделать н...