Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Открыть внешний отчет из модуля обычного приложения

Открыть внешний отчет из модуля обычного приложения
Я
   Sh18
 
04.02.21 - 13:54
Собственно, САБЖ.
Код:

ВнешняяОбработка = Справочники.ВнешниеОбработки.НайтиПоКоду("УПП000374");
ДвоичныеДанные = ВнешняяОбработка.ХранилищеВнешнейОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("erf");
ДвоичныеДанные.Записать(ИмяФайла);

Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Форма.Открыть();

//Обраб = ВнешниеОбработки.Создать(ИмяФайла);
//Форма = Обраб.ПолучитьФорму("ФормаОтчета");
//Форма.Открыть();

Форма.ДействияФормыСформировать();

В таком варианте дает Форма = Неопределено.
В варианте с созданием обработки (откомменчено) обработку создает нормально, вылетает на ПолучитьФорму(). В описании пишет:

{МодульОбычногоПриложения(348)}: Ошибка при вызове метода контекста (ПолучитьФорму)
    Форма = Обработка.ПолучитьФорму("ФормаОтчета");
по причине:
Недопустимое значение параметра (параметр номер '1')

(параметры там необязательны вообще, я уж попытался добавить). В журнале пишет

{МодульОбычногоПриложения(348)}: Ошибка при вызове метода контекста (ПолучитьФорму)

замена erf на epf ничего не дает (сам отчет на СКД, erf)

Пятью строками выше в модуле есть примерно то же самое с открытием внутреннего отчета. Нормально работает.

В общем, пичалька... ((
   ДенисЧ
 
1 - 04.02.21 - 13:57
обр = ВнешниеОтчеты.Создать(ИмяФайла);
обр.ПолучитьФорму().открыть();
   RomanYS
 
2 - 04.02.21 - 13:58
(0) А форма то у отчета есть?
   Sh18
 
3 - 04.02.21 - 13:59
(1) Не работает, я же написал. Там код откомменченный. На ПолучитьФорму вылетает
   ДенисЧ
 
4 - 04.02.21 - 14:00
(3) Значит, у тебя нет формы "ФормаОтчета"
Попробуй без параметра, как я написа
   ДенисЧ
 
5 - 04.02.21 - 14:01
И да, (2) ответь
   Sh18
 
6 - 04.02.21 - 14:04
(1) Да, понял, извиняюсь. Надо Внешние отчеты, не Внешние обработки.
Вопрос закрыт. Ну, глуповат... ))

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.