Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка при вызове метода контекста (Execute):

Ошибка при вызове метода контекста (Execute):
Я
   Happynattion
 
02.07.19 - 14:02
Перем ТЗп;


Функция ПоискИЗаменаВВорде(ОбъектВорд,знач ТекстПоиска = "",знач ТекстЗамены = "",ЗаменитьВсе = Истина)
    
    ДЛя н = 1 по 3 цикл
    
    Замена=ОбъектВорд.Content.find;
    Замена.Execute(ТекстПоиска,Ложь,Истина,Ложь,,,Истина,,Ложь,ТекстЗамены);

    конеццикла;
    
    возврат истина;
    
    ДляВозврата = Ложь;
    
    ТекстЗамены = Строка(ТекстЗамены);
    ТекстПоиска = Строка(ТекстПоиска);
    Если ПустаяСтрока(ТекстПоиска) И ПустаяСтрока(ТекстЗамены) Тогда
        Возврат    ДляВозврата;    
    КонецЕсли;
    ПродолжитьЦикл = Истина;
    Пока ПродолжитьЦикл Цикл
        Если НЕ ЗаменитьВсе Тогда
            ПродолжитьЦикл = Ложь;            
        КонецЕсли;
        ОбъектВорд.Selection.Collapse();
        ОбъектВорд.Selection.Find.Forward = True;
        ОбъектВорд.Selection.Find.Text = ТекстПоиска;
        Если ОбъектВорд.Selection.Find.Execute() Тогда
            ОбъектВорд.Selection.Delete();
            ОбъектВорд.Selection.InsertAfter(ТекстЗамены);            
            ДляВозврата = Истина;
        Иначе
            ОбъектВорд.Selection.Find.Forward = False;
            Если ОбъектВорд.Selection.Find.Execute() Тогда
                ОбъектВорд.Selection.Delete();
                ОбъектВорд.Selection.InsertAfter(ТекстЗамены);
                ДляВозврата = Истина;
            Иначе
                ПродолжитьЦикл = Ложь;
                ДляВозврата = Ложь;            
            КонецЕсли            
        КонецЕсли;    
        ОбработкаПрерыванияПользователя();
    КонецЦикла;
    
    Возврат ДляВозврата;
    
КонецФункции


Функция ПолучитьДанныеДляПодстановки()
    

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


        
    
    Возврат СтруктураДанных;
    
КонецФункции

Процедура ДобавитьШаблон(Шаблон,СтрокаЗАмены)
    
    НовСтр = ТЗп.Добавить();
    НовСтр.Шаблон = "**"+Шаблон+"**";
    НовСтр.СтрокаЗамены = СтрокаЗамены;
                       
КонецПроцедуры


Процедура СоздатьИЗаполнитьТЗподстановок()
    
    СтруктураДанных = ПолучитьДанныеДляПодстановки();
    
    ТЗп = Новый ТаблицаЗначений();
    ТЗп.Колонки.Добавить("Шаблон");
    ТЗп.Колонки.Добавить("СтрокаЗамены");
    
    Для Каждого СекцияДанных Из СтруктураДанных Цикл

        ИмяСекции = СекцияДанных.Ключ;
        Выборка = СекцияДанных.Значение;
        
        Если ИмяСекции = "ФизическиеЛица" Тогда
            Пока Выборка.Следующий() Цикл
                ДобавитьШаблон("1",Выборка.Номенклатура);
                ДобавитьШаблон("2",Выборка.ЕдиницаИзмерения);
                ДобавитьШаблон("3",Выборка.Количество);
                            
            КонецЦикла;
           КонецЕсли;
                
    КонецЦикла;
    
    КонецПроцедуры

Функция Печать() Экспорт
        
    Попытка
        Договор = ПолучитьМакет("Макет");
        ОбъектWord = Договор.Получить();
        ДокументWord = ОбъектWord.Application.Documents(1);
        ДокументWord.Activate();
    Исключение
        Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
        Возврат Неопределено;
    КонецПопытки;
    
    СоздатьИЗаполнитьТЗподстановок();    
    
    Для Каждого Стр ИЗ ТЗп Цикл
        ПоискИЗаменаВВорде(ДокументWord,Стр.Шаблон,Стр.СтрокаЗамены);        
    КонецЦикла;
    
    ОбъектWord.Application.Visible=Истина;
    ОбъектWord.Activate();        
    
    Возврат Неопределено;
    
КонецФункции



Попробывал переделать обработку. где допустил ошибку?
 
 

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.