Здравствуйте. Мне нужно сделать внешнюю печатную форму для ЗУП 3.1 к справочнику Сотрудники Справка о доходах(в произвольной форме), так чтобы справка выдавалась за произвольный период. Я понимаю, что нужно использовать асинхронные вызовы и там заполнять даты НачалаПериода и КонцаПериода которые дальше передаются в запрос. Накопал в интернете вот такую реализацию передачи параметров в асинхронные вызовы

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

    Оповещение = Новый ОписаниеОповещения("ОткрытьПараметрыЗавершение", ЭтотОбъект);

    ОткрытьФорму("ОбщаяФорма.ФормаПараметров", , , , , , Оповещение);

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

    &НаКлиенте
    Процедура ОткрытьПараметрыЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если ТипЗнч(Результат) = Тип(“Структура”) Тогда
    //Нужный код
    КонецЕсли;
    КонецПроцедуры
```

Вмешательство в типовую не допускается, поэтому создавать ОбщуюФорму, как в примере не могу. Я добавил в свою обработку ФормуПараметров, где разместил реквизиты НачалоПериода и КонецПериода с типом Дата. Добавил кнопку ЗакрытьФорму и в обработчик команды написал код

```1c
    &НаКлиенте
    Процедура ЗакрытьФорму(Команда)
    СписокПараметров = Новый Структура("НачалоПериода, КонецПериода", Объект.НачалоПериода, Объект.КонецПериода);
    Закрыть(СписокПараметров);
    КонецПроцедуры
```

Далее в основной форме прописал

```1c
    &НаКлиенте
    Процедура Печать(Команда)
    Оповещение = Новый ОписаниеОповещения("ОткрытьПараметрыЗавершение", ЭтотОбъект);
    ОткрытьФорму("Объект.ФормаПараметров", , , , , , Оповещение,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
    КонецПроцедуры

    &НаКлиенте
    Процедура ОткрытьПараметрыЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если ТипЗнч(Результат) = Тип("Структура") Тогда
    НапечататьСправку(Объект.Ссылка, Результат);
    КонецЕсли;
    КонецПроцедуры
```

И вот тут начались проблемы, ни ОткрытьФорму("Объект.ФормаПараметров" ни ОткрытьФорму("ЭтотОбъект.ФормаПараметров" не срабатывают, выдает ошибку. Как правильно можно открыть ФормуПараметров?
---
Спасибо нашел сам. Нужно было написать так

```1c
    НаКлиенте
    Процедура Печать(Команда)
    Оповещение = Новый ОписаниеОповещения("ОткрытьПараметрыЗавершение", ЭтотОбъект);
    ОткрытьФорму("ВнешняяОбработка.СправкаОДоходах.Форма.ФормаПараметров", , , , , , Оповещение,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
    КонецПроцедуры

    &НаКлиенте
    Процедура ОткрытьПараметрыЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если ТипЗнч(Результат) = Тип("Структура") Тогда
    НапечататьСправку(Объект.Ссылка, Результат);
    КонецЕсли;
    КонецПроцедуры
```
---
можно найти методичку на ИТС по созданию внешних печатных форм и выполнить задачу в соответствие с полученным знанием.

а можно не находить и продолжать есть кактус
---
Спасибо нашел сам. Нужно было написать так

```1c
    НаКлиенте
    Процедура Печать(Команда)
    Оповещение = Новый ОписаниеОповещения("ОткрытьПараметрыЗавершение", ЭтотОбъект);
    ОткрытьФорму("ВнешняяОбработка.СправкаОДоходах.Форма.ФормаПараметров", , , , , , Оповещение,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
    КонецПроцедуры

    &НаКлиенте
    Процедура ОткрытьПараметрыЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если ТипЗнч(Результат) = Тип("Структура") Тогда
    НапечататьСправку(Объект.Ссылка, Результат);
    КонецЕсли;
    КонецПроцедуры
```
---
https://infostart.ru/public/191796/