|
Сообщать с процедуры на сервере прогресс на клиент | ☑ | ||
---|---|---|---|---|
0
Double_Medved
31.01.13
✎
11:07
|
Подскажите пожалуйста, мне нужно перезаписать регистр сведений, это происходит на сервере, а как мне можно попробовать передавать на клиент и выводить сообщение о прогрессе - о том, сколько записей перезаписалось?
Код такой: &НаКлиенте Процедура Обработать(Команда) Обработ(); КонецПроцедуры &НаСервере Процедура Обработ() НаборЗаписей = РегистрыСведений.КартыЛояльностиСведения.СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Для Каждого Запись из НаборЗаписей Цикл СуммаНакоплПоКарте = Запись.СуммаНакопления; СкидПоКарте = Запись.ПроцентСкидки; Карта = Запись.КартаЛояльности; МенеджерЗаписи = РегистрыСведений.КартыЛояльностиСведения.СоздатьМенеджерЗаписи(); МенеджерЗаписи.КартаЛояльности = Карта; МенеджерЗаписи.ПроцентСкидки = СкидПоКарте; МенеджерЗаписи.СуммаНакопления = СуммаНакоплПоКарте; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить(Описаниеошибки()); КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
1
Double_Medved
31.01.13
✎
11:09
|
То есть как можно передавать на клиент какое-нибудь число? Может есть какая-нибудь функция типа СообщитьНаКлиенте()?
|
|||
2
Бешеная Нога
31.01.13
✎
11:09
|
нет.
|
|||
3
Double_Medved
31.01.13
✎
11:11
|
Вот блин
|
|||
4
mikecool
31.01.13
✎
11:11
|
обрабатывай пачками
|
|||
5
Double_Medved
31.01.13
✎
11:14
|
А НаборЗаписей это будет тут таблица значений? Тогда можно будет обходить ее по номеру? Например обработать 100 номеров, вернуть номер последнего на клиент, сообщить, потом передать на сервер последний номер и т.д?
|
|||
6
acsent
31.01.13
✎
11:15
|
а чем суть процедуры то?
|
|||
7
Defender aka LINN
31.01.13
✎
11:15
|
(5) И нафига? Чтобы пользователь себя спокойнее чувствовал?
|
|||
8
Double_Medved
31.01.13
✎
11:28
|
Нафига? Просто там надо перезаписать регистр, чтобы он попал в обмен, потому что раньше не был включен в план обмена, а сообщать количество - чтобы я знал сколько примерно осталось и был уверен что ничего не зависло просто
|
|||
9
Double_Medved
31.01.13
✎
11:29
|
Вот такой скорокод получился
&НаКлиенте Процедура Обработать(Команда) Н = 0; Пока Н<= 999999999 Цикл Н = Обработ(Н); Сообщить(Н); КонецЦикла; КонецПроцедуры &НаСервере Функция Обработ(Номер) НаборЗаписей = РегистрыСведений.КартыЛояльностиСведения.СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Колич = НаборЗаписей.Количество()-1; н = Номер; КолН = Н + 3; Пока (н<=КолН) И (н<=Колич) Цикл МенеджерЗаписи = РегистрыСведений.КартыЛояльностиСведения.СоздатьМенеджерЗаписи(); МенеджерЗаписи.КартаЛояльности = НаборЗаписей[н].КартаЛояльности; МенеджерЗаписи.ПроцентСкидки = НаборЗаписей[н].ПроцентСкидки; МенеджерЗаписи.СуммаНакопления = НаборЗаписей[н].СуммаНакопления; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить(Описаниеошибки()); КонецПопытки; н = н + 1; КонецЦикла; Если Н >= Колич Тогда Н = 999999999; КонецЕсли; Возврат Н; КонецФункции; |
|||
10
Double_Medved
31.01.13
✎
11:31
|
Проблема - просто при Сообщить() быстро забивается это боковое окно и выводятся сообщения уже вне поля зрения блин, а промотать вниз не дает, то типа занят
|
|||
11
Evrepid
31.01.13
✎
12:07
|
Глобальные переменные и параметры сеанса не рулят?
|
|||
12
Defender aka LINN
31.01.13
✎
12:20
|
(11) Хватит давать советы космического масштаба и космической же глупости.
(9) Нормальные пацаны юзают функцию "Состояние". Хотя еще более нормальные вообще такой фигней не заморачиваются. |
|||
13
ДенисЧ
31.01.13
✎
12:21
|
(12) Состояние на сервере?
|
|||
14
Defender aka LINN
31.01.13
✎
12:23
|
(13) На клиенте. Аффтар же ж все равно туда-сюда бегает, таская с собой контекст обработки туда-сюда
|
|||
15
Double_Medved
31.01.13
✎
12:27
|
Использовал ПоказатьОповещениеПользователя(), в окошке меняются цифры, виден процесс. Всем спасибо. Про "Состояние" теперь тоже буду знать
|
|||
16
Evrepid
31.01.13
✎
12:27
|
2(12) Вумный?
Функцию состояние на сервере? |
|||
17
Defender aka LINN
31.01.13
✎
12:28
|
(16) Хорошо. Лично тебе разрешаю использовать ее на сервере.
|
|||
18
mistеr
31.01.13
✎
12:28
|
Фоновое задание
ПолучитьСообщенияПользователю |
|||
19
Evrepid
31.01.13
✎
13:16
|
2(17) Что ума не хватает так оскорбления? Самооценку повышаешь? Бабы не дают из маленького достоинства и большой машины? :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |