Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Можно ли избежать подвисания 1С при выполнении прямого запроса? (число прочтений - 2420 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Можно ли избежать подвисания 1С при выполнении прямого запроса?
03. Марта 2010 :: 14:03
Печать  
Если запрос выполняется достаточно долго, ну например 5 сек, 1С-ка просто висит. Пользователи начинают беспокоиться, звонить и т.д., потому что надпись в 1С-ке "не отвечает". Можно ли это как-то обойти? Чтобы на время выполнения запроса хотя бы отображение окна работало?
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #1 - 03. Марта 2010 :: 14:17
Печать  
es3000 писал(а) 03. Марта 2010 :: 14:03:
Если запрос выполняется достаточно долго, ну например 5 сек, 1С-ка просто висит. Пользователи начинают беспокоиться, звонить и т.д., потому что надпись в 1С-ке "не отвечает". Можно ли это как-то обойти? Чтобы на время выполнения запроса хотя бы отображение окна работало?

Запрос выложи ну и можешь сервер описать и сколько приблизительно активных конектов.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #2 - 03. Марта 2010 :: 14:47
Печать  
Z1 писал(а) 03. Марта 2010 :: 14:17:
Запрос выложи ну и можешь сервер описать и сколько приблизительно активных конектов.


не, я щас не о том - почему долго выполняется запрос...
понятно почему: выбирает 30тыс. записей

вопрос такой: как сделать чтобы 1С-ка как-то "жила" при выполнении запроса, хотя бы просто бы окно свое перерисовывала?
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #3 - 03. Марта 2010 :: 15:00
Печать  
es3000 писал(а) 03. Марта 2010 :: 14:47:
Z1 писал(а) 03. Марта 2010 :: 14:17:
Запрос выложи ну и можешь сервер описать и сколько приблизительно активных конектов.


не, я щас не о том - почему долго выполняется запрос...
понятно почему: выбирает 30тыс. записей

вопрос такой: как сделать чтобы 1С-ка как-то "жила" при выполнении запроса, хотя бы просто бы окно свое перерисовывала?

Да даже это и сделать то твои пользователи запустят еще каждый по 20 отчетов и снова получишь subj

не надо делать отчеты на 30 000 записей.
А те что работают отчеты должны работать очень быстро ( исходя из начальной идеалогии 1с - 1секунда ).

Варианты твоего subj
1 Можешь запускать отчеты по OLE
2 Поищи на форуме компонента  MasterXL
позволяет выполнять в паралельном процессе то что ты хочешь 1с
при этом свободна
3. Отдельный компьютер использовать как сервер отчетов
и связь с помощью neta.dll (т.е. через Win Socet tcp/ip)

  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #4 - 03. Марта 2010 :: 17:14
Печать  
В Rik_SQL и в MiracleV8 есть что-то типа плавающих предупреждений. Выводишь его до выполнения запроса с текстом "Пользователь, остынь. ща всё будет...", а после выполнения запроса закрываешь его
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #5 - 04. Марта 2010 :: 08:47
Печать  
В ADO вроде бы есть возможность асинхронно работать с соединением. Есть соответствующие события Connection_ExecuteComplete и т.п. Правда, сам не пробовал.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #6 - 04. Марта 2010 :: 08:56
Печать  
Автору, я так понял, не нужны всякие асинхронные примочки. Ему надо просто, чтобы пользователь не нервничал по поводу залипшего окна 1С
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #7 - 04. Марта 2010 :: 10:52
Печать  
Лучше всего было бы плавающее окошко, в котором написано что-то типа "Выполняется запрос" и крутилась какаянить анимированная гифка. Вот только как сходу сделать из того что есть, не могу сказать.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #8 - 04. Марта 2010 :: 11:34
Печать  
Без Гифки есть в указанных выше ВК
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Можно ли избежать подвисания 1С при выполнении прямого запроса?
Ответ #9 - 05. Марта 2010 :: 05:35
Печать  
Еще можно  сделать так
Один компьютер работает в ожидании файлов - назовем его комп отчетов. В файле содержится имя и параметры отчета

Вариант 1.
Компьютер с которого надо запустить отчет формирует файл с названием отчета и всеми параметрами запуска и кладет файл в папку в которой второй комп ожидает. На первом компьютере продолжаем работать. Комп отчетов обнаруживает файл выполняет отчет получает mxl  и отправляет его по почте сотруднику кто сформировал задание на отчет.

Вариант 2
Компьютер с которого надо запустить отчет формирует файл с названием отчета и всеми параметрами запуска и кладет файл в папку в которой второй комп ожидает. На первом компьютере продолжаем работать. Комп отчетов обнаруживает файл выполняет отчет получает mxl  и кладет его в папку результатов первого компьютера. 1с на первом компьютере (либо переодич просматривает либо пользователь сам либо подпроцесс ждет файла
в этой папке ) видит отчет отображает его и файл отчета из папки удаляет
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать