Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как открыть форму внешнего отчета?

Как открыть форму внешнего отчета?
Я
   Rizhij_Nikitos
 
29.10.17 - 12:53
Ситуация такая: нужно программно открыть форму внешнего отчета, но формы нет. Собственно исходные: УТ 11.2.3.84 на базе 8.3.8.1652. Получаю ссылку на внешний отчет, который уже добавлен в список дополнительных отчетов обработок, беру двоичные данные, пишу во временный файл, помещаю в хранилище, подключаю через

ВнешниеОтчеты.Подключить(АдресХранилища)

Беру имя обработки, открываю через

ОткрытьЗначение("ВнешняяОбработка."+ ИмяОбработки+".Форма.Форма")

Проблема в том, что форм в отчете нет, а в качестве основной формы выбрана общая форма отчетов конфы, соответственно при всех попытках получаю что имя формы невалидно. Как быть?
 
 
   jsmith82
 
1 - 29.10.17 - 12:55
Скопируй основную форму отчёта в формы отчёта и назначь эту форму основной формой отчёта.
   jsmith82
 
2 - 29.10.17 - 12:56
А в форме настроек укажи Форму настроек отчёта (типовую).
   Rizhij_Nikitos
 
3 - 29.10.17 - 12:56
(1) тестирую, спасибо. Сейчас отпишусь
   banco
 
4 - 29.10.17 - 12:58
(0)  а просто ОткрытьЗначение("ВнешняяОбработка."+ ИмяОбработки) не работает?
   Rizhij_Nikitos
 
5 - 29.10.17 - 12:59
(4) показывает строку
   Rizhij_Nikitos
 
6 - 29.10.17 - 13:01
(2) Тот же результат:
Неизвестное имя формы. Имя: "ВнешняяОбработка.ПрайсЛист8.Форма"
   Rizhij_Nikitos
 
7 - 29.10.17 - 13:03
Я не тот кусок в условии немного скопировал, открываю через 
ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки+".Форма");
   jsmith82
 
8 - 29.10.17 - 13:04
Какая форма?!
   jsmith82
 
9 - 29.10.17 - 13:04
Форма.ФормаОтчета
   jsmith82
 
10 - 29.10.17 - 13:05
И почему подключаешь внеш. отчет, а открываешь обработку.
 
 Рекламное место пустует
   Rizhij_Nikitos
 
11 - 29.10.17 - 13:05
(9) Это уже последняя ошибка. Проверил с
Форма
Форма.Форма
ФормаОтчета.Форма
Форма.ФормаОтчета
   Rizhij_Nikitos
 
12 - 29.10.17 - 13:06
(10)Глобальные перечисления существуют только "ВнешняяОбработка", я так понимаю это общее для отчетов и обработок
   Rizhij_Nikitos
 
13 - 29.10.17 - 13:09
(10) Все, запустилось. Понял в чем косяк. Перечитал СП еще раз на ОткрытьФорму:

Для внешних отчетов и обработок имя формы задается следующим образом:
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>; 
ВнешнийОтчет.<имя отчета>.<имя стандартной формы>; 
ВнешняяОбработка.<имя обработки>.Форма.<имя формы>; 
ВнешняяОбработка.<имя обработки>.<имя стандартной формы>.
   Rizhij_Nikitos
 
14 - 29.10.17 - 13:10
Огромное спасибо. Вот полный код паттерна, вдруг кто будет искать:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ИмяФайла=ПолучитьИмяФайлаОбработки();
    
    АдресХранилища="";
    Результат=ПоместитьФайл(АдресХранилища,ИмяФайла,,Ложь);
    
    ИмяОбработки=ПолучитьСсылкуНаОбработку(АдресХранилища);
        
    ОткрытьФорму("ВнешнийОтчет."+ ИмяОбработки+".Форма");
КонецПроцедуры


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

&НаСервере
Функция ПолучитьСсылкуНаОбработку(АдресХранилища)
    Возврат ВнешниеОтчеты.Подключить(АдресХранилища);
КонецФункции

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует