Прогресс бар на сервере - может кто-нибудь подсказать решение?

1. German_Tagil 43 08.07.22 14:25 Сейчас в теме
На клиенте все понятно - но как сделать красиво на сервере?
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Denis_CFO 49 08.07.22 14:38 Сейчас в теме
(1) Кроме как через обработчик ожидания на клиенте, который что-то будет проверять на сервере - никак.
Хотя, понаблюдаю.

PS. Добавлю ещё рублик :)
4. ishelper 08.07.22 14:43 Сейчас в теме
(1)
как сделать красиво на сервере?
А кто будет видеть этот прогресс-бар? На сервере?
5. Denis_CFO 49 08.07.22 14:47 Сейчас в теме
(4) Надеюсь, ТС всё таки не это имел в виду :)
2. custer 08.07.22 14:27 Сейчас в теме
Не знаю можно ли тут публиковать ссылки, но все же скину.
По первому же запросу в гугле "БСП Длительные операции" есть ссылки на решение)
https://its.1c.ru/db/v8std/content/642/hdoc
https://infostart.ru/1c/articles/1260411/
6. soft_wind 08.07.22 14:55 Сейчас в теме
неее, прогресс бар только на клиенте!
и как обычно в цикле!
что бы не обновлять по каждой итерации, цикл делаем по времени (например 1 раз в 10 сек)
сколько объектов обработалось отображается в прогрессе!
очень удобно и красиво.

и за ходом выполнения Фонового задания, прогресс так-же оформляется на клиенте.
7. German_Tagil 43 08.07.22 14:59 Сейчас в теме
(6) У меня основной код выполняется на сервере крутится около часа и хотелось бы видеть сколько примерно осталось
9. ishelper 08.07.22 15:07 Сейчас в теме
(7)
основной код выполняется на сервере крутится около часа и хотелось бы видеть сколько примерно осталось
Теперь понятно.

Может, вот это пригодится: https://infostart.ru/public/624258/

P.S. Или даже вот это: https://infostart.ru/public/326393/
8. German_Tagil 43 08.07.22 15:00 Сейчас в теме
(2) На котика я посмотрел .... пока не понял как его применить
Хотя бы время от времени выдавать сообщение
10. custer 08.07.22 15:17 Сейчас в теме
(8) там же написано (https://infostart.ru/1c/articles/1260411/)

// сообщаем "процент" и "текст сообщения"
		ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения,СокрЛП(Док.Ссылка));
11. soft_wind 08.07.22 15:31 Сейчас в теме
(7) у всех основной код выполняется на сервере,
на клиенте организуете цикл, и порциями выполняете свой код на сервере
или в Фоновое задание переводите свое серверное выполнение! с клиента, опять же в цикле опрашиваете ФЗ и выводите прогресс
12. laperuz 46 08.07.22 18:18 Сейчас в теме
Штатными средствами это через систему взаимодействия делается
https://its.1c.ru/db/pubecs/content/38/hdoc
13. starik-2005 3060 08.07.22 19:30 Сейчас в теме
Чтобы серверный код выводил прогрессбар, его нужно засунуть в фоновое задание:
1. Создает процедуру в неглобальном серверном общем модуле, которая делает дело.
2. Запускаем фоновое задание, передавая в процедуру параметры.
3. Весим обработчик ожидания на 10 сек.
4. Получаем сообщения фонового задания и выводим или их, или, если в сообщение засунут процент, то его.
5. Если статус фонового задания стал "Завершено", то 100%, отрубаем обработчик ожидания, вешаем окошко, что все выполнено и звучим сигналом.
14. German_Tagil 43 11.07.22 07:08 Сейчас в теме
(12) Подписка ИТС есть - но данный пункт не показывает
16. German_Tagil 43 11.07.22 08:42 Сейчас в теме
17. JohnGalt 58 15.07.22 14:51 Сейчас в теме
Как вариант - сделать выполнение процедуры в фоне, добавить константу или регистр, куда будем писать прогресс (или несколько по УИД например), сделать и после запуска процедуры вывести форму с прогресс-баром, которая будет обновляться и получать данные из указанного регистра. Кстати думал насчет вывода прогресса нелинейных операций, можно замерять время выполнения и в зависимости от, например, отборов в запросе, считать сколько примерно пойдет времени на выполнение.
18. vadim1011985 101 15.07.22 15:11 Сейчас в теме
(17) Так все уже сделано , зачем регистр или константа. Поддержу (10) и (13) все верно пишут
20. ishelper 15.07.22 15:38 Сейчас в теме
Всем желающим помочь: автор явно потерял интерес к теме, даже создал еще одну (по мне - так не лучше этой), но и там уже "разобрался".
21. German_Tagil 43 18.07.22 06:37 Сейчас в теме +1 $m
(20) Автор не потерял интерес к теме - работы много и было не до этого...
Переработал код для вызова с клиента
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот