|
Сообщения от обработки, работающей в базе по COM-соединению | ☑ | ||
---|---|---|---|---|
0
borrman
05.09.12
✎
12:04
|
Добрый день!
Версия 8.2. Тонкий клиент/web-клиент Есть обработка, работающая в базе, к которой я подключаюсь по COM-соединению. Необходимо получать от нее состояние. Т.е. - выполняется какое-то длительное дейтсвие, например, перепроведение документов (ну не важно что именно). Мне нужно сообщать пользователю на каком этапе обработка, чтобы пользователь понимал, что работа идет, а не просто 1С "зависла". Может кто-то подскажет идею? Спасибо |
|||
1
Reset
05.09.12
✎
12:07
|
Пиши той обработкой константу какую-нибудь, а в соединении читай ее.
|
|||
2
Heckfy
05.09.12
✎
12:08
|
||||
3
MrStomak
05.09.12
✎
12:09
|
Общий смысл такой - нужно вызывать обработку много раз, чтобы каждый раз она делала только часть работы. В процессе возврата вызова сообщать состояние.
(1) Ну она же не многопоточно исполняется, 1с поди висит ждёт ответа, плюс множественная запись в константу - ахтунг |
|||
4
Reset
05.09.12
✎
12:11
|
(3) 1С перестала быть многопользовательской системой?
|
|||
5
Heckfy
05.09.12
✎
12:11
|
(3) нужно вызывать обработку много раз, чтобы каждый раз она делала только часть работы - скорость правда в разы падает. :(
|
|||
6
MrStomak
05.09.12
✎
12:14
|
(5) Нет, не в разы, совсем немного упадёт, тут скорее вопрос может ли обработка легко делиться, если это какое-нибудь проведение документво то там всё просто, а если что-то посложнее то бывает что никак не разбить на равноценные этапы
|
|||
7
Reset
05.09.12
✎
12:15
|
Сейчас та обработка, как я понял, работает в обычном приложении. Вы оба предлагаете ее переписать, чтобы она работала в COM соединении?
И после это вы назваете запись константы раз в минуту ахтунгом? |
|||
8
Heckfy
05.09.12
✎
12:16
|
(7) Лучше в файл куда нибудь в темпы....
|
|||
9
Kreont
05.09.12
✎
12:17
|
Сообщить поставь после важных шагов.
А что б долго не работала, оптимизируй код наконец то :) (6) Можно все разбить, или по периоду или по количеству данных |
|||
10
Reset
05.09.12
✎
12:18
|
(8) Можно и файл
|
|||
11
MrStomak
05.09.12
✎
12:18
|
(7) Давно в 1С стало возможным многопоточное программирование?
|
|||
12
Reset
05.09.12
✎
12:18
|
(11) При чем здесь многопоточно программирование? Научитесь читать вопросы
|
|||
13
MrStomak
05.09.12
✎
12:20
|
(12)
|
|||
14
Reset
05.09.12
✎
12:21
|
(13) Я мог (некстати) и неправильно понять автора. Если он запускает обработку именно из СОМ соединение, тогда можно думать о вашием методе
|
|||
15
MrStomak
05.09.12
✎
12:22
|
(12) При вызове обработки из 1С через COM, 1С будет висеть и ждать результата. Надо либо пакетным запуском отдельный сеанс для этой обработки, либо уходить от ком, либо еще как извращаться
|
|||
16
Reset
05.09.12
✎
12:23
|
ТС,
"Есть обработка, работающая в базе, к которой я подключаюсь по COM-соединению. " и "Есть база, к которой я подключаюсь по COM-соединению и запускаю обработку " это две большие разницы |
|||
17
Reset
05.09.12
✎
12:25
|
(15) Это очевидно
|
|||
18
MrStomak
05.09.12
✎
12:31
|
(16) Ну тут трубуется пояснение от автора. Я понял так, как понял, что он именно запускает, исходя из "чтобы пользователь понимал, что работа идет, а не просто 1С "зависла" ". Ведь всё-таки довольно странно подключаться и узнавать состояние, когда база "висит" от чего-то другого.
|
|||
19
Reset
05.09.12
✎
12:35
|
(18) Да скорее всего ключевая фраза <<чтобы пользователь понимал, что работа идет, а не просто 1С "зависла".>> и я был не прав. Так что лучше выпилюсь из темы
|
|||
20
borrman
05.09.12
✎
13:57
|
(18)
Да. Все верно. Получается такая схема: Все на клиенте: -создаю COM-подключение -в этой базе создаю обработку и запускаю ее. разбить обработку на кусочки не получится. |
|||
21
Rovan
гуру
05.09.12
✎
14:02
|
(0) идея такая:
1) подключаемся к базе 2) запрашиваем у обработки общее кол-во объектов 3) запускаем обработку объектов порционно (например 1-10, 11-20....) при этом отображаем общий % выполнения процесса |
|||
22
borrman
05.09.12
✎
14:05
|
(21)
хорошо. с обработкой проведения согласен. что делать с Универсальный обмен данными XML? |
|||
23
zladenuw
05.09.12
✎
14:07
|
(22) а там разве состояние не пишется что делает в данный момент ?
|
|||
24
Rovan
гуру
05.09.12
✎
14:09
|
(22) ээээ...можно попробовать ОЛЕ-соединение (в видимом режиме)
и если обработка пишет что-то в Состояние, то всё будет видно |
|||
25
borrman
05.09.12
✎
14:46
|
видимый не подходит :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |