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

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

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

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

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

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

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

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

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

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

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

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