|
1C+WORD, Разбираю пример | ☑ | ||
---|---|---|---|---|
0
AugustBlack
08.01.11
✎
20:47
|
Привет! Я новичок. Есть задача экспортировать данные с 1С в Word. К примеру открыть шаблон с приказом и вставить данные заместо проставленных {DOCVARIABLE} в нем. Нашел пример с печатью, но он сразу выводит на печать документ т.е в моем случае открывает в MS OneNote с предпросмотром на печать(с замененными данными) и вместе с ним открывается мой шаблон word с незаменненым DOCVARIABLE. Как сделать так чтобы дата "12.07.2010" вставилась в word? Подскажите что не так или где глянуть такое, голова кругом уже:(
Процедура Кнопка1Нажатие(Элемент) // Вставить содержимое обработчика. АктивныйДокумент = ПолучитьМакет("Макет"); КомОбъект = АктивныйДокумент.Получить(); КомОбъект.Application.Visible=1; КомОбъект.Variables.Item("ДатаПриказа").Value="12.07.2010"; КомОбъект.Fields.UpDate(); КомОбъект.PrintOut(); // распечатать док КонецПроцедуры |
|||
1
tocaelectro
08.01.11
✎
21:15
|
Если, я правильно понял... то параметр в документ можно вставить, примерно, так:
DocForRepl.Content.Find.Execute("<ДатаДоговора>", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(ВыборкаРаботники.ДатаПриема, "ДЛФ=ДД")); |
|||
2
tocaelectro
08.01.11
✎
21:16
|
где DocForRepl:
MSWord = Макет.Получить(); DocForRepl = MSWord.Application.Documents(1); DocForRepl.Activate(); |
|||
3
tocaelectro
08.01.11
✎
21:22
|
http://msdn.microsoft.com/en-us/library/bb179352.aspx вот описание параметров...
|
|||
4
AugustBlack
09.01.11
✎
08:31
|
tocaelectro спасиб, пошарил Find.Execute, вот что получилось
Извещение = ПолучитьМакет("Макет"); //получить объект из макета. MSWord = Извещение.Получить(); Попытка Извещение = MSWord.Application.Documents(1); Извещение.Activate(); //определим имена ПримДата = "12.07.2010"; //получить объект, который будем использовать для поиска и замены. Замена = Извещение.Content.Find; Замена.Execute("[ДатаПриказа]", Ложь, Истина, Ложь, , , Истина, , Ложь, ПримДата); MSWord.Application.Visible = Истина; MSWord.Activate(); Исключение //если ошибка Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки; я в неудомении почему не сработало..word также открывается без замененных данных( |
|||
5
AugustBlack
09.01.11
✎
09:03
|
ps word 2010, 1C 8.1
|
|||
6
skunk
09.01.11
✎
09:05
|
что не сработало
|
|||
7
AugustBlack
09.01.11
✎
10:02
|
Сработало, убрал эти штуки [] оставил "ДатаПриказа", наверное автор того примера использовал их у себя в поле word'а, а я подумал что так писать нада в общем, панятн..
Заменило но теги {DOCVARIABLE остались, я понимаю так и должно быть или что-то не так..Эх:( http://imglink.ru/show-image.php?id=059611e7962d7605625f08e5382652c3 |
|||
8
AugustBlack
09.01.11
✎
10:03
|
ps. Замена.Execute("ДатаПриказа", Ложь, Истина, Ложь, , , Истина, , Ложь, ПримДата);
|
|||
9
AugustBlack
09.01.11
✎
10:52
|
Разобрался, перемудрил с макетом туда не нада было поля(Меню Вставка - Поле - Автоматизация - DocVariable) вставлять как оказалось. Запутался в общем между 2х примеров,Книга знаний: v8: Заполнение полей документа Word (шаблон Active Document) и этим. Прост [ДатаПриказа] в любом месте поставил все заменило, спасиб всем!:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |