Имя: Пароль:
1C
 
Работа с Word из 1С
0 fob
 
19.10.10
12:47
Здравствуйте. Пытаюсь работать с Word документами из 1С8. Два способа. Один это создание макета ActiveDocument и поместить туда документ Word. затем код вида
ЭтотОбъект.ПолучитьМакет("Анкета").Получить()

и далее как с обычным объектом Word.

Второй вариант это если есть файл ворд, делаю открытие
MSWord = Новый COMОбъект("Word.Application");
MSWord.Documents.Open(ИмяФайла,, -1);

Так вот оба метода (Получить() и Open()) работают оооочень долго! В файле одна страничка с несколькими строчками кода, но методы отрабатывают минуты по полторы-две.

Как-то это можно побороть?
1 luckyluke
 
19.10.10
12:51
(0)Ну я так понимаю, не метод отрабатывает долго, а винда долго стартует приложение word...
2 1C-Nick
 
19.10.10
12:51
а ворд сколько времени запускается?
3 fob
 
19.10.10
12:57
Обычный документ ворд (да даже тот же макет, если он сохранен в Word файле на диске) открывается буквально за секунду. Ну за две.
Такая ерунда только в 1С. Если программирую из .net на C# и использую Word.Application, то там таких тормозов нету.
4 1C-Nick
 
19.10.10
13:03
файл локальный или в сети?
5 fob
 
19.10.10
13:04
Файл локальный.
6 Aprobator
 
19.10.10
13:05
(0) предпочитаю метод ПолучитьCOMОбъект(). Из личного опыта - он как то пошустрее отрабатывает.
7 Aprobator
 
19.10.10
13:06
+(6) первым параметром пишем имя файла, второй опускаем.
8 1C-Nick
 
19.10.10
13:09
хм, у меня секунды 2 думает...
9 fob
 
19.10.10
13:13
Именно сам метод ПолучитьComОбъект пошустрее отрабатывает или далее при открытии документа?
Строка

MSWord = Новый COMОбъект("Word.Application");

тоже шустро отрабатывает, а вот вызов Open() уже подвисает.
10 Aprobator
 
19.10.10
13:17
пробуй и увидишь. Проверить - делов  на 15 секунд.
11 fob
 
19.10.10
13:27
Все равно задумывается надолго.

:( что же за беда такая. на такой фигне терять время просто обидно.
12 Aprobator
 
19.10.10
13:29
странно. А просто ворд открывает файл быстро?
13 fob
 
19.10.10
13:31
моментально
14 Адинэснег
 
19.10.10
13:35
Док = ПолучитьCOMОбъект("C:\ms.doc") - быстро отрабатывает?
15 fob
 
19.10.10
13:40
(14) -> (11) = долго!!!
16 Адинэснег
 
19.10.10
14:26
странно это все... Попробуй на другой машине с другой сборкой офиса
17 fob
 
19.10.10
14:51
Зашибись. Попробовал на другом компе - более тормознутом, чем мой. Сработало быстрее. При этом совершенно точно помю, что Office ставился с одного дистрибутива.
18 Aprobator
 
19.10.10
16:10
операционка какая на том компе где медленнее работает?
19 fob
 
19.10.10
16:34
на обоих компах Windows XP SP2.
20 LAAry
 
19.10.10
16:47
мелкомягкий агент включен на обоих машинах?
21 fob
 
19.10.10
16:50
какой исчо агент?
22 LAAry
 
19.10.10
16:51
при установке офис прописывает агента в автозагрузку "для ускорения запуска приложений ms ofice". Проверь, на обеих машинах агент присутствует в процессах?
23 ПушЫстый помидорчик
 
19.10.10
16:55
При первом запуске Word компьютер загружает в память динамические библиотеки dll -ки. Которые выгружаются потом из памяти если в них не будет нужды. Поэтому при первом запуске большинство программ стартует дольше чем при последующих запусках.
24 fob
 
19.10.10
17:00
Опаньки. На том компе, где быстро отработало, действительно в автозагрузке этой фигни нету. А вот на моем компе и еще на одном, на котором решил проверить и так же долго работает, действительно эта штука есть в автозапуске. неуж-то все траблы из-за нее? как-то странно все это
25 acsent
 
19.10.10
17:02
антивирус?
26 fob
 
19.10.10
17:05
(25) везде антивирус
27 LAAry
 
19.10.10
17:08
Агент как то странно работает. Тоже всегда после установки офиса удаляю агента.
28 fob
 
19.10.10
17:08
(23) Дольше говоришь? На дохлом компе отработало меньше чем за минуту, а на отличном, новеньком, на котором 1С8 просто летает - минты 3-4!!! Это какой-то пипец.
29 fob
 
19.10.10
17:09
Ну я убрал агента из автозапуска - вот уже минуты две как 1С-ка думает над выводом файла.
30 acsent
 
19.10.10
17:11
А если отключить антивирус?
31 fob
 
19.10.10
17:14
Отключил. Видать разницы никакой.
32 Aprobator
 
19.10.10
17:18
(29) а комп перегрузил?
33 fob
 
19.10.10
17:19
есессно
34 fob
 
19.10.10
17:22
Вполне очевидная мысль (23) находит свое подтверждение. Действительно заметно быстрее со второго раза.
Т.е. вот что получается.
 Зашел в 1С. Решил вывести файлик - ждем минут 7. Например, время между сообщениями (29) и (31), а еще до этого я ждал несколько минут.
 Когда дождались выводим еще раз. Уже быстрее - можно уложиться в полторы минуты. Но этом все равно пипец.

 И это при всем при том, что на более старом компе с первого раза работает гораздо быстрее. На обеих машинах Windows XP, MS Office с одного дистрибутива, один антивирус.
35 Aprobator
 
19.10.10
17:28
(34) мысль конечно дурная, но на тормознутой машине фаервол работает? Рубани его для опыта.
36 fob
 
19.10.10
17:31
не, файерволов нет.
37 Aprobator
 
19.10.10
17:52
а стандартный ХР ный?
38 fob
 
19.10.10
18:14
Это который "Брэндмауэр Windows" в панели управления? Или хде он там?
39 Aprobator
 
20.10.10
09:20
(38) он самый.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой