Здравствуйте, подскажите, как открыть форму для внешней печатной формы? Форма готова, все работает через "Открыть", но через "Печать" не могу никак ее вывести. Кидал
ОткрытьФорму("Форма") в процедуру "Печать" - не работает. Очень надеюсь на вашу помощь!
---
Для обычного приложения и для управляемого это делается по разному:
ОП: в модуле ВПФ:

```1c
    Функция Печать() Экспорт
    ФормаПечати = ЭтотОбъект.ПолучитьФорму("Форма");
    ФормаПечати.Открыть();
    КонецФункции
```

УП: в Функции СведенияОВнешнейОбработке() Экспорт модуля ВПФ, в таблицу команд можно добавить в колонку Использование строку "ВызовКлиентскогоМетода", а в модуле формы объявить процедуру:

```1c
    &НаКлиенте
    Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    .................
    ЭтаФорма.Открыть();
    КонецПроцедуры
```

или другой вариант, в той же колонке Использвание прописать "ОткрытиеФормы", тогда специальных процедур в модуле формы не нужно
---
Сделал так:

```1c
    ДобавитьКоманду(ТаблицаКоманд,
    "Спецификация ЮжКузбассУголь",
    "Спецификация ЮжКузбассУголь",
    "ВызовКлиентскогоМетода",
    "ОткрытиеФормы");
```

Такая вот ошибка:

```1c
    {ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(474)}: Метод объекта не обнаружен (Печать)
    ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
```

Печать не менял:

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

```1c
    Функция Печать() Экспорт
    ФормаПечати = ЭтотОбъект.ПолучитьФорму("Форма");
    ФормаПечати.Открыть();
    КонецФункции
```

УП: в Функции СведенияОВнешнейОбработке() Экспорт модуля ВПФ, в таблицу команд можно добавить в колонку Использование строку "ВызовКлиентскогоМетода", а в модуле формы объявить процедуру:

```1c
    &НаКлиенте
    Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    .................
    ЭтаФорма.Открыть();
    КонецПроцедуры
```

или другой вариант, в той же колонке Использвание прописать "ОткрытиеФормы", тогда специальных процедур в модуле формы не нужно
---
Сделал так:

```1c
    ДобавитьКоманду(ТаблицаКоманд,
    "Спецификация ЮжКузбассУголь",
    "Спецификация ЮжКузбассУголь",
    "ВызовКлиентскогоМетода",
    "ОткрытиеФормы");
```

Такая вот ошибка:

```1c
    {ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(474)}: Метод объекта не обнаружен (Печать)
    ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
```

Печать не менял:

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

```1c
    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = ")
```
 куды Вы в параметр "ПоказыватьОповещение " передаёте "ОткрытиеФормы". В ошибке видно, что отрабатывает "ВызовКлиентскогоМетода", а ПоказыватьОповещения будет Ложь (потому как ожидается или Истина или Ложь).