Имя: Пароль:
1C
1С v8
Метод объекта не обнаружен (Печать)
0 alex_bla
 
30.08.17
16:31
Добавил ВПФ к документу
При попытке распечатать выдает ошибку:

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

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

Код:

Процедура Печать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();         

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


Функция ПолучитьРеквизиты(Плательщик)
    Запрос = Новый Запрос;
    Запрос.Текст=
                 "ВЫБРАТЬ
                 |    КонтактнаяИнформация.Объект,
                 |    КонтактнаяИнформация.Тип КАК Тип,
                 |    КонтактнаяИнформация.Вид,
                 |    КонтактнаяИнформация.Представление
                 |ИЗ
                 |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
                 |ГДЕ
                 |    КонтактнаяИнформация.Объект = &Организация
                 |
                 |УПОРЯДОЧИТЬ ПО
                 |    Тип
                 |АВТОУПОРЯДОЧИВАНИЕ";
            
    Запрос.УстановитьПараметр("Организация",Плательщик);
    КонтактнаяИнформация = Запрос.Выполнить().Выгрузить();
    
        Возврат КонтактнаяИнформация;    
        
КонецФункции
1 Lexey_
 
30.08.17
16:33
(0) не тот код
2 Вафель
 
30.08.17
16:33
ну собственно метода Печать и нет
3 lodger
 
30.08.17
16:34
(0) метода Печать в твоем коде нет.
4 spiller26
 
30.08.17
16:48
(0) Типа заполнил и закрыл.
5 Мыш
 
30.08.17
17:02
А ещё функция должна быть экспортной
6 alex_bla
 
30.08.17
17:07
Исправил, но не работает
Печать(ИмяМакета) Экспорт
7 alex_bla
 
01.09.17
09:46
Сейчас все работает. Макет печатается.
Процедура печати
Изменил на...

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


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

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


Функция ПечатьФорма ()
Макет = ЭтотОбъект.ПолучитьМакет("Форма");
MSWord = Макет.Получить();
2 + 2 = 3.9999999999999999999999999999999...