8.х Макет Active Document

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Ugrumi, 15 фев 2008.

  1. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Делаю отчет с помощью Active Document (Word), все хорошо было хорошо, но мне понадобилась из 1С скунуть текст в колонтитул отчета, а неполучается не видит он колонтитулы, кто сталкивался с такой проблемой помогите пожайлусто!
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Что значит "не видит"?
  3. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Может быть и видит, я просто не знаю что нужно сделать, что бы увидел, обычно я пишу так:

    Код:
    МакетДоговора=ПолучитьМакет("ДоговорПолнойОплаты");
    MSWord=МакетДоговора.Получить();
    Попытка
    Документ=MSWord.Application.Documents(1);
    Документ.Activate();
    Замена=Документ.Content.find;
    Замена.Execute("",Ложь,Истина,Ложь,,,Истина,,Ложь,Лев  (ЭлементыФормы.ДоговорТекст.Значение,8));
    MSWord.Application.Visible=Истина;
    MSWord.Activate();
    
    Сообщить(ОписаниеОшибки());
    MSWord.Application.Quit();
    КонецПопытки;
    
    
    где в документек кусок текста <НомерДоговора> заменяется на номер договора, а вот текст находившейся в колонтитулах таким методом заменить нельзя, подскажите каким образом можно разрешить эту проблему.
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Обращайся напрямую к колонтитулам, обычным методом их (имхо) нельзя заменить...
  5. FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    столкнулся с такой же задачей...
    могли бы по подробней рассказать, как обратится напрямую к колонтитулу?! :unsure:
  6. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    можете просто сделать ссылку и к ней обращаться
  7. FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    могли бы пояснить?? что подразумевается по "ссылкой"...

    вообще сделал макрос на ВБА, он работает(макрос заполняет ниж.колонтитул):
    Код:
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Selection.TypeText Text:="123456"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    
    
    а вот как его перенести в 1с...!??!
  8. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Код:
    Состояние("Создание соединения");
    
    
    Попытка
    WordApp = Новый COMОбъект("Word.Application");
    Исключение
    Предупреждение("Microsoft Word не установлен!",,"Ошибка!");
    Возврат;
    КонецПопытки;	
    
    
    Состояние("Создание документа");
    NewDoc=WordApp.Documents;           
    //Открытие файла
    Док=NewDoc.Add(Путь);
    //Заполнение текстового поля
    //Док.FormFields("ТекстовоеПоле1").Result =СокрЛП(Текст1); 
    //Вставка текста на место закладки
    Для каждого СтрокаСтруктуры Из СтруктураПечати  Цикл
    
    Попытка
    MyRange=Док.Bookmarks(СтрокаСтруктуры.Ключ).Range();
    MyRange.InsertAfter(СокрЛП(СтрокаСтруктуры.Значение));    
    Исключение
    //Сообщить(ОписаниеОшибки()+СтрокаСтруктуры.Ключ);
    КонецПопытки;
    
    КонецЦикла; 
    
    
    написал в пред поссте ссылку, а надо закладку.. извиняюсь
    Код:
     
    

    Вложения:

  9. FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Получилось!!!! Благодарю за советы и опыт!!!!! :unsure:

    На примере выше сказанного получился у меня следующий код: =)
    Код:
     
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Договор = ПолучитьМакет("Макет");
    MSWord = Договор.Получить();
    Попытка
    Документ = MSWord.Application.Documents(1);
    Документ.Activate();
    
    MyRange=Документ.Bookmarks("НижнийКол").Range();
    MyRange.InsertAfter(СокрЛП("Текст Который вставляем"));
    
    MSWord.Application.Visible = Истина;
    MSWord.Activate();
    Исключение
    Сообщить(ОписаниеОшибки());
    MSWord.Application.Quit();
    КонецПопытки;
    КонецПроцедуры
    
    
Похожие темы
  1. Sf_by_YaphetS
    Ответов:
    0
    Просмотров:
    413
Загрузка...

Поделиться этой страницей