Аналог "Состояние()" в управляемом приложении #581951


#0 by YF
Имеем управляемое приложение и тонкий клиент. Отчет с управляемой формой. В форме выбираются параметры отчета затем они передаются в процедуру модуля отчета, выполняемую на сервере. Процедура долгая, может быть минуту, может больше формирует отчет. После выполнения процедуры получаем сформированный табличный документ. Как во время выполнения процедуры на сервере давать пользователю понять, что программа не висит, а работает. В обычном приложении помогала Состояние выводишь там счетчик, он "бежит" - пользователь видит, что работа идет... А как в управляемом приложении сделать такое, при условии, что работа происходит на сервере?
#1 by Wobland
Глобальный контекст (Global context) Состояние (Status) Доступность: Тонкий клиент, веб-клиент, толстый клиент. что, не работает?
#2 by CepeLLlka
Вот как я использую это...
#3 by orefkov
Ему на сервере надо...
#4 by acsent
#5 by CepeLLlka
На сервере никак.. в любом случае данные должны бегать с сервера на форму чтобы дать понимать.. Состояние работает на Клиенте. в моём примере процедура исполняется на клиенте, и в цикле вызывает процедуру исполняемую на сервере.. вот.
#6 by Wobland
хм.. клиент же в таком случае должен как-то знать, сколько сервер уже обработал? в цикле всё время спрашивать?
#7 by Maxus43
Текстовое поле на клиенте со словами "Идёт обработка..." выводи перед началом процесса)
#8 by CepeLLlka
Фигасе..
#9 by Wobland
спасибо
#10 by Defender aka LINN
"в цикле вызывает процедуру исполняемую на сервере" - расстрелять
#11 by Defender aka LINN
+ Автора статьи в - тоже.
#12 by orefkov
То есть вместо одного длинного вызова сервера сделать кучку мелких? Так сказать, "запрос в цикле". 1С в своем репертуаре :) Все нормальные люди показывают анимированную гифку, где ченить крутиться, и не парятся по этому поводу. А 1С что, не умеет?
#13 by acsent
Есть более лучшие предложения? Экономить пару вызовов сервера и терять при этом отражение прогресса?
#14 by ДенисЧ
мда... Дебилизм разработчиков 1с во всей красе... коллбеки не предусмотрели...
#15 by Escander
кроме того в веб-клиенте   ОбновитьОтображениеДанных обновит прогресс бар только при выходе из клиентской процедуры
#16 by Defender aka LINN
Пару? Или пару сотен? А при чем тут 1С? Это отложил код :)
#17 by orefkov
, Да проблема высосана из пальца. В веб серверах тоже никаких колбеков нету, и никого это особо не парит.
#18 by acsent
В вебе не бывает процессов на несколько часов
#19 by acsent
И даже если пару сотет или пару тысяч. В общем счете - это вообще мизер
#20 by Defender aka LINN
И как тебе поможет отображение процесса, которое еще и время выполнения увеличит?
#21 by VVi3ard
В 4 нормальный подход, если принять для себя что нет смысла отображать изменения более 1% то за все время работы сервер будет вызван 100 раз в не зависимости от количества обрабатываемых данных.
#22 by Defender aka LINN
Хорошо, что я в твоем коде копаться не буду...
#23 by Defender aka LINN
Это 100 совершенно ненужных серверных вызовов, которые можно заменить одним.
#24 by acsent
Вместо часа допустим будет час 05, но зато видно что работа кипит
#25 by VVi3ard
100 вызовов сервера без контекста увеличат время выполнения ну от силы на 15 секунд. Не вижу проблем никаких.
#26 by orefkov
Ну, хотели настоящий классический "клиент-сервер" - получите, со всеми плюсами, и минусами. "Любишь медок - люби и холодок". Хотя 1С могла бы и доработать движок, чтобы хотя-бы "Состояние" работало на сервере.
#27 by VVi3ard
Да какой час 05 10-15 секунд МАКСИМУМ вы же без контекста сервер вызываете
#28 by aleks-id
поставь вместо прогресса анимированную гифку на которой баба сисками трясет. это для сотрудника. для сотрудниц - мужика.
#29 by Defender aka LINN
А я-то надеялся, что после того, как код принудительно разделили на клиентский и серверный, одинэснеги проникнутся и ВНЕЗАПНО начнут писать руками... Какой же я наивный...
#30 by YF
Да, вижу, что только решение из ... Но, а как тогда штатная СКД рисует прогресс бар в форме?
#31 by Defender aka LINN
"Штатная СКД" уже ХЗ сколько времени отчеты вообще фоново выполняет. И без всяких прогресс-баров.
#32 by YF
Отстал я от жизни
#33 by CepeLLlka
Да.. именно так.. как у GROOVY в обучении.. всё без конекста и ок.. у меня кароче всё быстро работает.. я хз. У меня просто обработка по загрузке контрагентов..
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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