Нужно новый отчет подключить к заказу поставщика в ЕРП.
Вроде вопрос популярный, и делаю я следующим образом:

в ДобавитьКомандыОтчетов в модуле менеджера добавляю свой отчет (сначала для теста включил его в конфигурацию)

```1c
    КомандаОтчет = Отчеты.ОтчетОтчет.ДобавитьКомандуОтчета(КомандыОтчетов);
    Если КомандаОтчет <> Неопределено Тогда
    КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,СписокДокументов";
    КонецЕсли;
```

Но не пойму, как передать параметры из конкретного заказа?
чтобы открывался с отбором по контрагенту и списку номенклатуры
---
```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
    ПараметрыРегистрации.Версия = Формат(ТекущаяДата(), "ДФ=гггг.ММ.дд");
    ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПоставщику");

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.Идентификатор = Метаданные().Имя;
    НоваяКоманда.Представление = Метаданные().Синоним;

    Возврат ПараметрыРегистрации;

    КонецФункции

    Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    Настройки.ФормироватьСразу = Истина;
    Настройки.События.ПередЗагрузкойВариантаНаСервере = Истина;
    КонецПроцедуры

    Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
    Если Форма.Параметры.Свойство("ОбъектыНазначения") Тогда
    НовыеНастройкиКД.ПараметрыДанных.УстановитьЗначениеПараметра("МассивСсылок", Форма.Параметры.ОбъектыНазначения);
    КонецЕсли;
    КонецПроцедуры
```
---
```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    Документ = "Документ.ТвойДокумент"; // Необходимо заполнить имя объекта для которого предназначена печ. форма (Пример: "Документ.РеализацияТоваровУслуг")
    ИмяПечатнойФормы = "Сюда название"; // Необходимо заполнить - имя команды (Пример: "Акт")
    Идентификатор = ИмяПечатнойФормы; // Можно не заполнять - если указать идентификатор типовой печатной формы, будет выполнена подмена.
    // Идентификатор типовой формы можно узнать в модуле менеджера соответствующего документа.

    Версия = "1.0"; // Можно не заполнять - информация для справочника внешних обработок
    Экземпляров = 1; // Значение по умолчания

    //////////////////////////////////////////////////////////

    Использование = "ВызовКлиентскогоМетода";

    РегистрационныеДанные = Новый Структура();
    РегистрационныеДанные.Вставить("Наименование",ИмяПечатнойФормы);
    РегистрационныеДанные.Вставить("Информация",ИмяПечатнойФормы);
    РегистрационныеДанные.Вставить("Версия",Версия);
    РегистрационныеДанные.Вставить("Экземпляров",Экземпляров);

    РегистрационныеДанные.Вставить("Вид","ПечатнаяФорма");
    РегистрационныеДанные.Вставить("БезопасныйРежим",Истина);
    //РегистрационныеДанные.Вставить("БезопасныйРежим",Ложь);

    мНазначения = Новый Массив;
    мНазначения.Добавить(Документ);
    РегистрационныеДанные.Вставить("Назначение",мНазначения);
```
---
```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
    ПараметрыРегистрации.Версия = Формат(ТекущаяДата(), "ДФ=гггг.ММ.дд");
    ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПоставщику");

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.Идентификатор = Метаданные().Имя;
    НоваяКоманда.Представление = Метаданные().Синоним;

    Возврат ПараметрыРегистрации;

    КонецФункции

    Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    Настройки.ФормироватьСразу = Истина;
    Настройки.События.ПередЗагрузкойВариантаНаСервере = Истина;
    КонецПроцедуры

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

```1c
    Если Параметры.Свойство(«ПараметрыКоманды») Тогда

    Отчет.ЗаказКлиента = Параметры.ПараметрыКоманды[0]

    КонецЕсли;
```

И далее уже использую этот реквизит в модуле Объекта процедуре ПриКомпоновкиРезультата
---
а как эти параметры передать из самого заказа?
---
Документы в ЕРП используют БСП. Самодельные отчеты, как правило, не подключают к подсистемам. По крайней мере, редкие единицы это делают.
Делается это через параметризуемую команду.
Я бы подключил самодельный отчет к подсистеме "Варианты отчетов" и использовал его возможности.
Подробно повторять не буду - есть на сайте описание. Там описано два варианта добавления команд, идет по порядку. В описании команды есть поле "Дополнительно" куда можно запихнуть все, что угодно, что потом передастся в обработчик команды.

П.С. Не увидел, что вопрос про внешние отчеты.