Имя: Пароль:
1C
1С v8
Медленная выгрузка в Word
,
0 Килограмм
 
11.09.12
12:55
У одного из пользователей очень долго происходит выгрузка в word, у остальных нормально. Работают через терминалку.
Если у сотра с медленной выгрузкой вызвать контекстное меню, во время выгрузки http://s008.radikal.ru/i306/1209/93/01038764f595.jpg, то скорость становить нормальной.
В чём может быть дело?
1 zladenuw
 
11.09.12
12:57
а как выгружаешь именно. код
2 Килограмм
 
11.09.12
13:05
Изначально было так:
Процедура ПечатьВWord(Тек_Свидетельство) Экспорт
   Word = ПолучитьМакет("СвидетельствоWord").Получить();
   Word.Application.Visible = 1;
   Word.Application.Activate();
   Док = Word.Application.ActiveDocument;
   Text = Word.Application.Selection;
   Text.TypeText(Город);


Так пробовал, не помогло:

Процедура ПечатьВWord(Тек_Свидетельство) Экспорт
   Word = ПолучитьМакет("СвидетельствоWord").Получить();
   Док = Word.Application.Documents(1);
   Док.Activate();

   Text = Word.Application.Selection;
***
   Word.Application.Visible = Истина;
   Word.Activate();
КонецПроцедуры
3 Rounder
 
11.09.12
13:17
Я думаю если убрать Word.Application.Visible в ложь - все заработает быстрее.
4 Rounder
 
11.09.12
13:18
Нет. Невнимательно прочел (0). На (3) не обращать внимания.
5 Килограмм
 
11.09.12
13:18
во втором варианте я и убирал в ложь и лишь после всего вывода показывал

Процедура ПечатьВWord(Тек_Свидетельство) Экспорт
   Word = ПолучитьМакет("СвидетельствоWord").Получить();
   Док = Word.Application.Documents(1);
   Док.Activate();

   Text = Word.Application.Selection;
***
   Word.Application.Visible = Истина;
   Word.Activate();
КонецПроцедуры
6 Килограмм
 
11.09.12
13:19
Уже отправил (5), когда (4) прочел
7 Килограмм
 
11.09.12
13:20
У меня кроме visible никакой ещё идеи нет. Что может тут влиять? Может дело не в 1С, а где-то в настройках юзера. Можно попросить админа грохнуть его пользователя и заново создать, конечно, но это не желательно.
8 Килограмм
 
11.09.12
13:21
(7) и не факт, что поможет
9 zladenuw
 
11.09.12
13:21
Word.ActiveDocument.Activate();  может так
10 zladenuw
 
11.09.12
13:22
(7) может сетка
11 Килограмм
 
11.09.12
13:25
(9) Типа так ?
   Word = ПолучитьМакет("СвидетельствоWord").Получить();
   Док = Word.Application.Documents(1);
   Word.ActiveDocument.Activate();
   Док.Activate();

   Text = Word.Application.Selection;
12 Килограмм
 
11.09.12
16:43
Завтра попробую на работе. Жалко события мышки в 1С эмулировать нельзя, так бы програмно кликнул мышкой в определенную область, в таком случае сразу исчезает "глюк" выгрузки.
13 Килограмм
 
13.09.12
06:54
Проблему решил с помощью костылей.
Поскольку когда мышкой нажимает пользователь куда-нибудь по мимо самого вгружаемого ворда, он тут же начинает работать быстрее, сделал так.
Visible поставил в Ложь. И при выгрузке добавил диалог, который интересуется уверен ли пользователь, что нужно выгрузит в ворд.  Диалог просто для того, чтобы заставить пользователя сделать это нажатие "куда-нибудь".
14 zladenuw
 
13.09.12
07:02
а программно ? скрипт ? так проще, а юзвер ждет.
15 Килограмм
 
13.09.12
07:17
(14) - нужно было быстрее уже задачу решать и за другие браться, а в скриптах нет практики, поэтому другого не оставалось
2 + 2 = 3.9999999999999999999999999999999...