Доброго дня, и здоровья тем кто работает по ночам!
Есть интересная задача, решение которой я пока не нашел. Нужно вывести отчет на СКД в отдельном окне, вызвав данный отчет из формы внешней обработки. СКД отчета сохранена в макетах обработки, сам отчет в конфигурации и Справочнике "Дополнительные отчеты и обработки" не зарегистрирован.
---
Тогда да, имхо, не взлетит. Почему же, у меня работает. С отладкой придётся заморочиться, но ПриКомпоновкеРезультата внешнего отчета выполняется.
Рабочий пример в прикреплении.
Код модуля внешнего отчета:
```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Сообщить("Привет!");
    КонецПроцедуры

    Процедура ОпределитьНастройкиФормы(Контекст, КлючВарианта, НастройкиОтчета) Экспорт

    КонецПроцедуры
```

Код модуля формы обработки:
```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    ДвоичныеДанныеОтчета = ОбработкаОбъект.ПолучитьМакет("Отчет");

    АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеОтчета, УникальныйИдентификатор);

    ИмяОтчета = ВнешниеОтчеты.Подключить(АдресВХранилище,, Ложь);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОткрытьОтчет(Команда)
    ОткрытьФорму("ВнешнийОтчет." + ИмяОтчета + ".ФормаОбъекта",, ЭтотОбъект);
    КонецПроцедуры
```
---
Как вариант, можно сделать полноценный внешний отчет (erf файл) и затолкать его в макет обработки в виде двоичных данных.
Подключить его соответствующим методом и обращаться к нему из любого места по имени.
---
Нужно открыть именно типовую форму отчета? Если да, то не получится, так как потребуется объект отчета. Вывести просто в табличный документ в отдельном окне – не проблема.
---
В составе конфигурации, как минимум БП 3.0, в ОбщихФормах есть объект "ФормаОтчета", она собственно и используется для вывода результатов отчетов без собственной формы. В том числе отчетов на СКД зарегистрированных в справочнике "Дополнительные отчеты и обработки"(далее сДОиО). Хочу вывести в отдельное окно(Форму) результаты своего отчета, не имеющего аналога в конфигурации и не зарегистрированного в сДОиО. В данный отчет из обработки будут передаваться параметры отборов и т.д.
---
Правильно, но так как самого отчета нет (схема – это не отчет), то использовать БСП-шную "ФормаОтчета" не получится.
---
По коду так и понял, что БСПшная форма слишком часто(помимо передаваемых параметров) обращается к отчету как к объекту за свойствами и т.д. Отсюда печальный вывод - придется в обработке городить еще одну форму и ряд функций и процедур к ней.
---
Еще добавлю, что вывод результатов своего отчета на страничку обработки, открытие в новом(отдельном) окне отчета из конфигурации уже реализовано.
---
Вот по этой Ссылке возможно найдете именно то что вам нужно
---
"Дьявол кроется в мелочах", как говорится. Мне не нужно использовать дополнительные внешние объекты. Мне нужно использовать только объекты обработки и объекты конфигурации и, хотелось-бы чтоб их было как можно меньше. Т.е. создать доп.форму в обработке для вывода результата отчета не проблема, вопрос в том, как обойтись без ее(доп.формы).
---
может я что-то не понял нужно вызвать может что-то такое подойдет ?

```1c
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

    //Помещаем обработку во временном хранилище
    АдресХранилища = ";
    Результат = ПоместитьФайл(АдресХранилища, "C:\ВнешняяОбработка.epf", , Ложь);
    ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);

    // Откроем форму подключенной внешней обработки
    ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма");

    КонецПроцедуры

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

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

    КонецФункции
```
---
Как вариант, можно сделать полноценный внешний отчет (erf файл) и затолкать его в макет обработки в виде двоичных данных.
Подключить его соответствующим методом и обращаться к нему из любого места по имени.
---
Наверно так и придется сделать, надо еще погуглить на эту тему.
---
Всем доброго дня!
Подскажите, правильно-ли я понял следующую зависимость: если во внешнем отчете нет своей формы - то платформа выдает "во временное пользование" Общую форму "Форма отчета" и как следствие про процедуру Модуля объекта (внешней обработки) ПриКомпоновкеРезультата() придется забыть?
---
если во внешнем отчете нет своей формы - то платформа выдает "во временное пользование" Общую форму "Форма отчета" - да
как следствие про процедуру Модуля объекта (внешней обработки) ПриКомпоновкеРезультата() придется забыть - нет
---
почему-то не цепляет, проходит мимо?
---
Вы пишете то внешний отчет, то внешняя обработка. Что у Вас в итоге? Внешняя обработка запускает внешний отчет, который из макета? Тогда да, имхо, не взлетит.
---
Тогда да, имхо, не взлетит. Почему же, у меня работает. С отладкой придётся заморочиться, но ПриКомпоновкеРезультата внешнего отчета выполняется.
Рабочий пример в прикреплении.
Код модуля внешнего отчета:
```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Сообщить("Привет!");
    КонецПроцедуры

    Процедура ОпределитьНастройкиФормы(Контекст, КлючВарианта, НастройкиОтчета) Экспорт

    КонецПроцедуры
```

Код модуля формы обработки:
```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    ДвоичныеДанныеОтчета = ОбработкаОбъект.ПолучитьМакет("Отчет");

    АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеОтчета, УникальныйИдентификатор);

    ИмяОтчета = ВнешниеОтчеты.Подключить(АдресВХранилище,, Ложь);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОткрытьОтчет(Команда)
    ОткрытьФорму("ВнешнийОтчет." + ИмяОтчета + ".ФормаОбъекта",, ЭтотОбъект);
    КонецПроцедуры
```
---
Получилось! Спасибо за помощь. Просто отладчик проходил мимо процедуры Модуля отчета "ПриСозданииНаСервере", с отладкой кода этой процедуры пришлось заморочиться.
Я так понимаю, что
```1c
    ИмяОтчета = ВнешниеОтчеты.Подключить(АдресВХранилище,, Ложь);
```
 приводит к временной регистрации отчета на время текущего сеанса или пока открыть окно обработки (в моем случае). Можно-ли найти этот отчет через "Функции для технического специалиста"?
---
Да, отчет регистрируется на время текущего сеанса и от обработки никак не зависит.Можно-ли найти этот отчет через "Функции для технического специалиста"? Нет, это же не встроенный отчет.
---
Отчет вызывается из обработки, а в 12 посте я действительно перепутал.
---
Спасибо, завтра с утра ознакомлюсь и займусь реализацией своих замыслов. Процедура "ПриКомпоновкеРезультата" нужна для передачи ТЗ для заполнения Набора данных - объект СКД.