Типовая УТ 11.4
Есть обработка, зарегистрированная в справочнике допобработок. Хочу из документа по кнопке вызвать эту обработку. Делаю через расширение, конфа на поддержке, использование тонкого клиента для заказчика принципиально

```1c
    &НаКлиенте
    Процедура Расш1_ОткрытьОбработкуСертПосле(Команда)
    Спр = ОткрытьСерт();
    КонецПроцедуры

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

На толстом клиенте все работает прекрасно. На тонком - падает на

```1c
    Обработка.ПолучитьФорму("ВнешняяОбработка.ПечатьСертификатов.Форма")
```

получает Неопределено и само-собой никакую форму открыть не может.

Как быть?
---
```1c
    &НаКлиенте
    Процедура Команда2(Команда)
    ИияОбработки = ПоместитьОбработкуВХранилище();
    ОткрытьФорму("ВнешняяОбработка."+ ИияОбработки + ".Форма");
    КонецПроцедуры

    &НаСервере
    Функция ПоместитьОбработкуВХранилище()
    Спр = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Печать сертификатов",Истина);
    Если НЕ Спр.Пустая() Тогда
    ДвоичныеДанные = Спр.ХранилищеОбработки.Получить();
    Возврат ВнешниеОбработки.Подключить(ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор));
    КонецЕсли;
    КонецФункции
```
---
```1c
    ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки + ".Форма", Новый Структура("Док", Объект.Ссылка));
```

А в форме обработки в процедуре ПриСозданииНаСервере прописать код:

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

    &НаСервере
    Функция ПоместитьОбработкуВХранилище()
    Спр = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Печать сертификатов",Истина);
    Если НЕ Спр.Пустая() Тогда
    ДвоичныеДанные = Спр.ХранилищеОбработки.Получить();
    Возврат ВнешниеОбработки.Подключить(ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор));
    КонецЕсли;
    КонецФункции
```
---
(4)
А данные как туда передать?
 Обработка.Док = Объект.Ссылка;
---
```1c
    ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки + ".Форма", Новый Структура("Док", Объект.Ссылка));
```

А в форме обработки в процедуре ПриСозданииНаСервере прописать код:

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