1С8.2 прогрессбар при выполнении на сервере #506670


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

В этой группе 1С