Шаблон программного открытия внешнего отчета из справочника "Дополнительные отчеты и обработки"

Публикация № 1120221

Обработки - Менеджеры внешних отчетов

Обработка дополнительный внешний отчет

1
Шаблон программного открытия внешнего отчета из справочника "Дополнительные отчеты и обработки" для конфигураций с подсистемой БСП "Дополнительные отчеты и обработки".

Хочу продемонстрировать один из вариантов программного открытия внешнего отчета.

Логика следующая:

  1. Получаем двоичные данные внешнего отчета на сервере.
  2. На клиенте сохраняем двоичные данные во временное хранилище.
  3. Открываем форму внешнего отчета.

В примере реализована форма, в которой можно выбрать внешний отчет из справочника "Дополнительные внешние отчеты и обработки". 

При использовании в коде, реквизит дополнительный отчет заменить на программное получение отчета по реквизиту "ИмяОбъекта".

Протестировано на платформе 8.3.13.1809.

1

Скачать файлы

Наименование Файл Версия Размер
Шаблон программного открытия внешнего отчета из справочника "Дополнительные отчеты и обработки":
.epf 6,70Kb
10.09.19
1
.epf 6,70Kb 1 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. maslyann 1 11.09.19 08:00 Сейчас в теме
Через БСП это делается спокойно:

	
       Представление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаДопОтчет,"Наименование");
	ВыполняемаяКоманда = Новый Структура;
	ВыполняемаяКоманда.Вставить("ВариантЗапуска",  ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы"));
	ВыполняемаяКоманда.Вставить("Вид",  ПредопределенноеЗначение("Перечисление.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет"));
	ВыполняемаяКоманда.Вставить("Идентификатор",  "СформироватьОтчет");
	ВыполняемаяКоманда.Вставить("Модификатор",  "");
	ВыполняемаяКоманда.Вставить("ПоказыватьОповещение",  Ложь);
	ВыполняемаяКоманда.Вставить("ОбъектыНазначения",  Неопределено);
	ВыполняемаяКоманда.Вставить("Представление",  Представление);
	ВыполняемаяКоманда.Вставить("Ссылка",  СсылкаНаДопОтчет);
	ВыполняемаяКоманда.Вставить("ЭтоОтчет",  Истина);
	
	ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, ЭтаФорма, Неопределено);

Показать
VIA_1C; dsdred; +2 Ответить
2. tmn72.1C 100 11.09.19 08:35 Сейчас в теме
(1) Не знал, спасибо. Проверил - способ рабочий, только ОбщегоНазначения это серверный модуль, получение представление необходимо вынести в отдельный серверный безконтекстный вызов.

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

&НаСервереБезКонтекста
Функция ПолучитьПредставление(СсылкаНаДопОтчет)
	
	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаДопОтчет,"Наименование")
	
КонецФункции
Показать
neyasytyf; +1 Ответить
Оставьте свое сообщение