Добавил ВПФ к документу
При попытке распечатать выдает ошибку:

Не удалось сформировать внешнюю печатную форму!
Метод объекта не обнаружен (Печать)

В чем проблема? Что не так?

Код:
Процедура ПечатьWord(ИмяМакета)

    Макет=ЭтотОбъект.ПолучитьМакет(ИмяМакета);
    MSWord=Макет.Получить();

     Попытка
        Документ = MSWord.Application.Documents(1);
        Документ.Activate();

        Замена = Документ.Content.Find;
        Замена.Execute("[НомерДоговора]", Ложь, Истина, Ложь, , , Истина, , Истина, СокрЛП(СсылкаНаОбъект.НомерДоговора));

        Замена = Документ.Content.Find;
        Замена.Execute("[ДатаДоговора]", Ложь, Истина, Ложь, , , Истина, , Ложь, СсылкаНаОбъект.ДатаДоговора);

        MSWord.Bookmarks(СокрЛП("Таблица3")).Select();
            Документ.Paragraphs.Add();
            Rng = MSWord.Application.Selection.Range;

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

        Для Каждого Строка из КонтактнаяИнформация Цикл
            Если Строка.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента Тогда
                мСтрокаМФакт = СокрЛП (Строка.Представление);
            ИначеЕсли Строка.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента Тогда
                мСтрокаМЮр = СокрЛП (Строка.Представление);
            ИначеЕсли Строка.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента Тогда
                мСтрокаМТел = СокрЛП (Строка.Представление);
            КонецЕсли;
        КонецЦикла;
        Rng.InsertAfter(Строка("Фактический адрес: "+ СокрЛП(мСтрокаМФакт) +", Юридический адрес: "+ СокрЛП(мСтрокаМЮр)+", телефон "+ СокрЛП(мСтрокаМТел)));
         Rng.InsertParagraphAfter();
MSWord.Bookmarks(СокрЛП("Таблица4")).Select();
            Документ.Paragraphs.Add();
            Rng = MSWord.Application.Selection.Range;
            //Rng.InsertAfter(СокрЛП("Контрагент")+"РасСчет"+"*"+"КоррСчет"+"*"+"БИК");

            //Rng.InsertParagraphAfter();

            БанковскиеСчета = ПолучитьНомер (СсылкаНаОбъект.Контрагент);

    Для Каждого Строка из БанковскиеСчета Цикл

             мСтрокаМСчет = СокрЛП (Строка.НомерСчета);
             мСтрокаМКор = СокрЛП (Строка.КоррСчет);
             мСтрокаМБик = СокрЛП (Строка.Код);

         КонецЦикла;

    Rng.InsertAfter(Строка("р/с: "+ СокрЛП(мСтрокаМСчет) +", к/с: "+ СокрЛП(мСтрокаМКор)+", БИК "+ СокрЛП(мСтрокаМБик)));
         Rng.InsertParagraphAfter();

        MSWord.Application.Visible = Истина;
        MSWord.Activate();
    Исключение
        Сообщить(ОписаниеОшибки());
        MSWord.Application.Quit();

 КонецПопытки
КонецПроцедуры

Функция ПолучитьРеквизиты(Плательщик)
    Запрос = Новый Запрос;
    Запрос.Текст=
                 "ВЫБРАТЬ
                 | КонтактнаяИнформация.Объект,
                 | КонтактнаяИнформация.Тип КАК Тип,
                 | КонтактнаяИнформация.Вид,
                 | КонтактнаяИнформация.Представление
                 |ИЗ
                 | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
                 |ГДЕ
                 | КонтактнаяИнформация.Объект = &Организация
                 |
                 |УПОРЯДОЧИТЬ ПО
                 | Тип
                 |АВТОУПОРЯДОЧИВАНИЕ";

    Запрос.УстановитьПараметр("Организация",Плательщик);
    КонтактнаяИнформация = Запрос.Выполнить().Выгрузить();

        Возврат КонтактнаяИнформация;

КонецФункции
---
Спасибо за помощь!
Разобрался в чем моя проблема.
Сейчас все работает Печать макета появляется

Изменил на...

Функция Печать() Экспорт
 Если не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда Возврат Неопределено КонецЕсли;

 Возврат ПечатьФорма();

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

Функция ПечатьФорма ()
 Макет = ЭтотОбъект.ПолучитьМакет("Форма");
 MSWord = Макет.Получить();
---
нет метода Печать()
---
а не могли бы подробней.
Только начинаю с этим разбираться
---
приведенный код не соответствует ошибке
---
Процедура ПечатьWord(ИмяМакета), а процедура, которая должна вызываться - Печать. И еще: процедура должна быть с ключевым словом Экспорт.
---
Процедура Печать(ИмяМакета) Экспорт
Исправил
Не печатает((( Такая же ошибка
---
еще раз: ошибка от другого кода
---
почему от другого.
Создал ВПФ добавил к документу и при попытке "Печать" выдает ошибку при печати Макета из ВнешФормы
---
где в приведенном коде вызов метода Печать()?
---
В модуле объекта Вашей ВПФ есть процедура печать()?
---
В модуле ВПФ всегда есть процедура печать() Именно она отрабатывает когда вызывается ВПФ на печать.
---
Да
Процедура ОсновныеДействияФормыПечатьДокумента(Кнопка)

 УниверсальныеМеханизмы.ОткрытьФормуВыбораПечатныхФормОбъекта(ЭтотОбъект, ЭтаФорма);

КонецПроцедуры
---
где здесь процедура "Печать"?
---
вызывается из Формы документа
---
тебя спрашивали про процедуру "Печать", зачем ты говоришь про какую-то другую процедуру?
---
Спасибо за помощь!
Разобрался в чем моя проблема.
Сейчас все работает Печать макета появляется

Изменил на...

Функция Печать() Экспорт
 Если не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда Возврат Неопределено КонецЕсли;

 Возврат ПечатьФорма();

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

Функция ПечатьФорма ()
 Макет = ЭтотОбъект.ПолучитьМакет("Форма");
 MSWord = Макет.Получить();
---
А из внешней подключаемой обработки невозможно вызвать общую форму печати документов?