|
Как обычно реализуют оповещение с сервера на клиента о состоянии операции?
| ☑ |
0
Бешеный заяц
04.07.18
✎
10:44
|
Например, простой, код клиент вызывает процедуру сервера, та выполняет длительную операцию, клиенту необходимо для отображения отправлять текущий статус, как обычно это реализуют?
вот например в этом коде для примера
&НаКлиенте
Процедура Пометить(Команда)
ПометитьНаУдаление();
КонецПроцедуры
&НаСервере
Процедура ПометитьНаУдаление();
СпрКонтр = Справочники.Контрагенты.Выбрать();
Пока СпрКонтр.Следующий() Цикл
СпрОб = СпрКонтр.ПолучитьОбъект();
//СпрОб.ПометкаУдаления = ИСТИНА;
СпрОб.Записать();
КонецЦикла;
КонецПроцедуры
|
|
1
alexshape
04.07.18
✎
10:49
|
у фоновых заданий есть метод "ПолучитьСообщенияПользователю", капай в эту сторону
|
|
2
DrShad
04.07.18
✎
10:49
|
если делать кошерно, то оборачивают в фоновое задание и через менеджер фоновых заданий опрашивают его о ходе выполнения
|
|
3
lodger
04.07.18
✎
10:50
|
через подсистему ДлительныеОперации, посмотри одноименный модуль в конфе, ну или в БСП.
|
|
4
alexshape
04.07.18
✎
10:50
|
(0) если без фоновых заданий, то никак не получишь состояние выполнения на клиенте пока выполняется цикл
|
|
5
Бешеный заяц
04.07.18
✎
10:51
|
ок спасибо
|
|
6
mmmarat
04.07.18
✎
10:52
|
(3) +1. СообщитьПрогресс.. ПрочитатьПрогресс(..
|
|
7
Малыш Джон
04.07.18
✎
11:07
|
(0) будь мужиком - освой систему взаимодействия!
|
|