![]() |
![]() |
![]() |
|
1С8.2 прогрессбар при выполнении на сервере | ☑ | ||
---|---|---|---|---|
0
ИШТ
23.09.10
✎
17:52
|
Вообщем вопрос такой, пишу загрузку данных по тонкому клиенту, и основная процедура загрузки выполняется "&НаСервере" пару минут. Как бы показать пользователю что система не померла, в идеале % выполнения конечно же. Как подавать признаки жизни короче из серверной процедуры?
|
|||
1
shuhard
23.09.10
✎
17:53
|
||||
2
ado
23.09.10
✎
17:56
|
Пихай загрузку в фоновое задание, пусть она какой-нибудь числовой флаг выставляет, из клиента этот флаг проверяй.
|
|||
3
H A D G E H O G s
23.09.10
✎
17:58
|
НИКАК
|
|||
4
luns
23.09.10
✎
17:59
|
(2) точно. пусть константу переписывает.
|
|||
5
ado
23.09.10
✎
18:02
|
(3) А чем (2) не прокатит?
|
|||
6
ado
23.09.10
✎
18:05
|
(4) Лучше, наверное, параметр сеанса.
|
|||
7
ИШТ
23.09.10
✎
18:06
|
(1) пройдя по ссылке решения не нашёл. т.е. НИКАК?
(2)(4)(5) это не совсем то что нужно. подождать 5-10...30 минут не проблема. вопрос в том что хочется видеть все это время хотя бы привычную надпись типа: "обработано 1030 строк" |
|||
8
shuhard
23.09.10
✎
18:06
|
(4) даешь каждому пользователю по константе
|
|||
9
shuhard
23.09.10
✎
18:06
|
(7) [пройдя по ссылке решения не нашёл.]
плохо сходил ПараметрыСеанса + Цикл в форме клиента |
|||
10
ИШТ
23.09.10
✎
18:07
|
(9) бегло посмотрел, спасибо щас подумаю...
|
|||
11
ado
23.09.10
✎
18:10
|
(7) Еще раз. Пусть твоя загрузка запускается в фоновом задании и пишет свое состояние в какой-нибудь параметр сеанса. В форме читаешь состояние этого параметра, и выводишь хош в прогресс-бар, хош куда.
|
|||
12
mrBlutig
23.09.10
✎
18:33
|
Если можно получить точное количество обрабатываемых строк, то получаешь количество, помещаеш какой нибудь объект в хранилище не сервере, получаешь ссылку на хранилище, а потом порциями обрабатываешь.
|
|||
13
mrBlutig
23.09.10
✎
18:34
|
если оценить не возможно то только фоновым заданием
|
|||
14
luns
23.09.10
✎
18:48
|
(8) в (4) стеб если кто не понял ))))
|
|||
15
shuhard
23.09.10
✎
18:50
|
(14) в (8) подъёбка и все поняли
|
|||
16
xReason
23.09.10
✎
19:00
|
Вообще 1С надо реализовывать нормальные события. Что бы можно было с сервера на клиент отправлять событие, а клиент должен его ловить и обновлять информацию
|
|||
17
ado
23.09.10
✎
19:11
|
(16) И как это в веб-клиенте работать будет?
|
|||
18
BabySG
23.09.10
✎
19:13
|
(0) С сервера на клиента обратиться нельзя.
Только если будете порциями обрабатывать и возвращаться на клиенте, ставить статус и опять на сервер... Это официальная позиция |
|||
19
oleg_km
23.09.10
✎
22:47
|
(17)
а как это в ICQ работает. Протокол TCP/IP вроде двухсторонний. |
|||
20
IamAlexy
23.09.10
✎
23:11
|
на ИС был пример
|
|||
21
ИШТ
24.09.10
✎
13:46
|
тааак, ничего не получилось. Поднимаю тему:
1)как соединить между собой параметры сеанса и тонкий клиент? 2)как создать фоновое задание не изменяя конфы ? |
|||
22
ИШТ
24.09.10
✎
14:14
|
UP!
Никогда не использовал ни то, ни другое. Может я ошибаюсь и действительно можно создать новое фоновое задание не изменив конфигурацию или обращаться к параметрам сеанса из тонкого клиента? |
|||
23
ado
24.09.10
✎
14:15
|
(19) >> Протокол TCP/IP вроде двухсторонний
А HTTP? |
|||
24
shuhard
24.09.10
✎
14:18
|
(22) ПараметрыСеанса (SessionParameters)
ПараметрыСеанса (SessionParameters) Является значением свойства глобального контекста ПараметрыСеанса и служит для доступа к значениям параметров сеанса. Доступность: Сервер, толстый клиент, внешнее соединение. Возможен обмен с сервером. |
|||
25
shuhard
24.09.10
✎
14:22
|
(24) + 1
обрати внимание на альтернативные варианты нажав кнопку и запустив что-то на стороне сервера, ты не лишен возможности время от времени что-то делать в тонком клиенте УправляемаяФорма.ПодключитьОбработчикОжидания (ManagedForm.AttachIdleHandler) УправляемаяФорма (ManagedForm) ПодключитьОбработчикОжидания (AttachIdleHandler) Синтаксис: ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) Параметры: <ИмяПроцедуры> (обязательный) Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания. <Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число). Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина. <Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания. Истина - указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь Описание: Подключает указанную процедуру в качестве обработчика ожидания. Процедура будет вызываться в период ожидания системы каждый раз по истечению указанного интервала времени. Доступность: Тонкий клиент, веб-клиент, толстый клиент. Примечание: Вызов обработчика ожидания продолжается пока форма не будет закрыта или пока не будет вызван метод формы ОтключитьОбработчикОжидания. |
|||
26
ИШТ
24.09.10
✎
14:40
|
(25) однако он не срабатывает ни разу пока выполняется серверная процедура
|
|||
27
shuhard
24.09.10
✎
14:47
|
(26) ты проверял или это теория ?
|
|||
28
ИШТ
24.09.10
✎
14:51
|
проверил. может потомучто сервер и клиент физически одна и таже машина
|
|||
29
H A D G E H O G s
24.09.10
✎
14:59
|
(28) Потому што обработчик ожидания работает только в режиме ожидания.
|
|||
30
H A D G E H O G s
24.09.10
✎
15:00
|
Короче, баловство это - поэтому ответ нет.
|
|||
31
Beagle
24.09.10
✎
15:01
|
В УНФ вроде крутится пиктограммка пока сервер отчет варит. Можно подсмотреть там.
|
|||
32
ИШТ
24.09.10
✎
15:03
|
(31) не понял, что это, разжуй поподробней, очень хочу посмотреть как
|
|||
33
Beagle
24.09.10
✎
15:12
|
(32) Управление небольшой фирмой, в тонком клиенте запускаешь формирование отчета с большим количеством данных - появляется окошко Отчет формируется... с анимированной иконкой. Анимация как-то связана с активностью, если "все зависло" - анимация прекращается.
|
|||
34
jk3
24.09.10
✎
17:08
|
(33) это программно реализовано или платформа сама такое показывает?
|
|||
35
oleg_km
24.09.10
✎
18:15
|
(23)
Аська как раз по HTTP и работает, вернее по порту 80. было бы желание, а так обратные оповещение еще на Interbase были реализованы |
|||
36
RealSaint
24.09.10
✎
18:20
|
(34) Это платформа показывает.
|
|||
37
ado
24.09.10
✎
18:29
|
(24) Опа, а я и не обратил внимания, что в тонком клиенте не доступно.
Ну, кроме параметров сеанса можно какие-нибудь более другие флаги заюзать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |