Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 04:47

1c 8.3 УТ, буфер обмена и роль удаленных рабочих столов.

Автор 99format, 02 дек 2015, 17:05

0 Пользователей и 1 гость просматривают эту тему.

99format

Добрый день.
Столкнулся с проблемой – если кто поможет (направит в нужное русло), буду очень благодарен.

Администрирую Windows server (пробовал и на 2008r2 standart и на 2012r2 standart), установлена Роль «Удаленные рабочие столы», есть файловая версия УТ 11.1 (1с 8.3), есть Офис 2007. В документе  ЗаказКлиента в списке кнопки «печать» - есть пункт "договор Microsoft Word" . Шаблон договора (в формате docx) – загружается через конфигуратор. Проблема – договор появляется спустя 14 минут (на сервере Xeon – x3470 2.93Ghz). Опытным путем выявлено, что данная проблема появляется только при установленной роли «удаленные рабочие столы» - роль удаляешь, перезагружаешься – договор формируется за 10 – 15 секунд. Устанавливаешь роль обратно, опять на формирование уходят минуты. Что заметил: при формирование договора – обработка использует буфер обмена windows, увидел через программу clcl. При формировании договора (когда он долго формируется) – нагрузке на процессор ни какой, т.е. ощущение, что 1с выполняет некоторое действие, потом почему-то 10-15 минут чего-то ждет – после чего за пару секунд все доделывает. Через  отладку (точки остановки) нашел цикл на котором происходит «подвисон» - в нем как я понимаю идет работа с массивом. Так же, есть другая база КА 8.2. В ней похожая доработка - вывод в шаблон Word файла (лежит отдельным фалом в каталоге базы)  данных из справочника ДоговорыКонтрагентов. Создается объект  COMОбъект("Word.Application"), через Documents.Open(ШаблонДоговора.ФайлШаблона) открывается шаблон, через Application.Selection.Find.Execute("#НомерДоговора#",,,,,,,,,объект.Номер,2) находятся и заполняются данные - данные пишутся напрямую в файл (без буфера обмена) - 15 секунд и договор готов. Эта дороботка работает вне зависимости установлена роль "удаленные рабочие столы" или нет.

Буду рад, любой подсказке в каком направлении капать. Спасибо.


vitasw

Неа, проблема не в этом.
Вы сначала просто тупо откройте любой документ ворд и сразу его закройте. После этого печать из 1С гарантированно выполниться быстро.
Была аналогичная проблема. Честно говоря, даже не помню победил ли я ее. Если мне не изменяет помять, то 2003 офис снимает эту проблему.
Добавлено: 02 дек 2015, 18:37


Приведите пожалуйста код процедуры: УправлениеПечатьюMSWordКлиент.ПоказатьДокументMSWord();

99format

Цитата: vitasw от 02 дек 2015, 18:17
Неа, проблема не в этом.
Вы сначала просто тупо откройте любой документ ворд и сразу его закройте. После этого печать из 1С гарантированно выполниться быстро.
Была аналогичная проблема. Честно говоря, даже не помню победил ли я ее. Если мне не изменяет помять, то 2003 офис снимает эту проблему.
Добавлено: 02 дек 2015, 18:37


Все верно 2003 офис - решил проблему :-) надо будет попробовать с 2010 и 2013, огромное спасибо :-) Правда причина проблемы так и не понятна ...
Приведите пожалуйста код процедуры: УправлениеПечатьюMSWordКлиент.ПоказатьДокументMSWord();

Процедура ПоказатьДокументMSWord(Знач Handler) Экспорт
   
   COMСоединение = Handler.COMСоединение;
   COMСоединение.Application.Selection.Collapse();
   
   // восстановить вид просмотра документа
   Если Handler.Свойство("ViewType") Тогда
      COMСоединение.Application.ActiveWindow.View.Type = Handler.ViewType;
   КонецЕсли;
   
   COMСоединение.Application.Visible = Истина;
   COMСоединение.Activate();
   
КонецПроцедуры

Как я понял, данный модуль стандартный, и программистом изменен не был.

Еще раз огромное спасибо - если докопаюсь до сути проблемы, отпишусь здесь :-).

vitasw

Нужно модифицировать данный код и будет запускаться и на 2007
....
COMСоединение.Application.Visible = Истина;
!!! COMСоединение.WindowState = 1;
COMСоединение.Activate();

....

99format

Код добавил, но к сожалению это не помогло (т.е. на 2007 делается но очень долго) ...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск