среда, 31 октября 2018 г.

Программный вызов ВНЕШНЕГО отчета (обработки) из обычной формы (Толстый клиент)

Назначение: программный вызов внешнего отчета или обработки из обычной формы. ВНИМАНИЕ: Получение управляемой формы внешней обработки/отчета для обычного режима работы приложения не поддерживается.
Номенклатура объектов:  обычная форма документа «Заказ покупателя», внешний отчет «Журнал уведомлений».
Разработка на форме:
1.На обычной форме документа «Заказ покупателя» создаем кнопку «Журнал уведомлений».


2.В свойствах кнопки в разделе «Основные» создаем действие «ДействияФормыоЖурналУведомлений".


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


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