|
Отображение прогресса длительной операции (Мобильный клиент) | ☑ | ||
---|---|---|---|---|
0
CerbeRUS
18.03.15
✎
17:23
|
В мобильном приложении есть процесс, который занимает длительное время.
Хочу выводить на экран процент выполнения. Сделал весь код на клиенте, пробовал менять реквизит формы, заголовок формы, заголовок декорации - вид обновляется только после окончания выполнения кода. Получается, надо запускать это все в фоновое задание, а обработчиком ожидания получать процент выполнения. Но как это сделать, если в МП нет объекта Состояние? Какие есть решения, не подскажите? |
|||
1
fisher
18.03.15
✎
17:27
|
Да хоть псевдографикой.
|
|||
2
fisher
18.03.15
✎
17:28
|
"|||||||||||| "
|
|||
3
CerbeRUS
18.03.15
✎
17:32
|
Проблема не отображения, а получения данных о проценте выполнения из фонового задания. Внутри фонового задания процент я рассчитать могу. А как его на форме узнать?
|
|||
4
fisher
18.03.15
✎
17:37
|
Упс. Таки да, проблема. ПолучитьСообщенияПользователю() на МП не работает...
|
|||
5
fisher
18.03.15
✎
17:39
|
Тогда изврат какой-нить придумывать придется. Через файлики, например.
|
|||
6
CerbeRUS
18.03.15
✎
17:41
|
Да, думал про файлики - изврат. Константа - меньший, но тоже изврат.
Какие еще есть переменные, доступ к которым можно получить, что на сервере, что на клиенте? Параметры сеанса? |
|||
7
rphosts
18.03.15
✎
17:42
|
(3)пользоваться реквизитом формы религия запрещает?
|
|||
8
rphosts
18.03.15
✎
17:42
|
(6)через параметры - это изврат но тоже годно
|
|||
9
mikecool
18.03.15
✎
17:44
|
(7) а какие реквизиты формы у фонового?
|
|||
10
rphosts
18.03.15
✎
17:45
|
(9) контекст(форму) туда разве нельзя передать? Хотя это больший изврат чем параметр сеанса
|
|||
11
mikecool
18.03.15
✎
17:46
|
(10) фоновое может и регламентом пуститься, как бы это совсем изврат
|
|||
12
33_оленя
18.03.15
✎
17:48
|
чеза процесс? тупо поржать.
|
|||
13
fisher
18.03.15
✎
17:48
|
(6) Через файлики, ИМХО, наименьший изврат. Быстро и масштабируемо. Константа и параметр сеанса - это если ограничиваться однозадачностью. В противном случае придется через хранилище значений работать, что вообще грустно. Особенно если в константе.
|
|||
14
CerbeRUS
18.03.15
✎
17:50
|
(7) Да был бы только рад в реквизите формы процент хранить. Но как форму в фоновом задании получить?
|
|||
15
fisher
18.03.15
✎
17:50
|
(13) + Плюс будет гемор с конкурентным доступом при многозадачности.
|
|||
16
CerbeRUS
18.03.15
✎
17:52
|
(12) да чего ржать, получение данных с сайта. В зависимости от объема данных и скорости инета это может занимать до пять минут.
|
|||
17
rphosts
18.03.15
✎
17:54
|
(13) да ну нафиг, ты как себе представляешь несколько одновременно работающих фоновых на мобильном клиенте?
Потом хранить в Параметрах сеанса ТЗ или структуру никто не запрещает (возможно через ХЗ) |
|||
18
CerbeRUS
18.03.15
✎
17:54
|
(13) Ну, пока я не представляю, где там можно масштаб увеличить, но мало ли...
Интересно, что по времени быстрее: из параметрасеанса, константы данные получать или из файла на ус-ве читать? |
|||
19
banco
18.03.15
✎
17:57
|
храни статистику выполнения процесса и покажи приблизительно время выполнение.
|
|||
20
rphosts
18.03.15
✎
17:58
|
+ (17) опять-же мобильный клиент - по сути файловая база а для неё ограничение - не более одного одновременно работающего фонового, т.е. нет никаких проблем с конкурентным доступом
|
|||
21
rphosts
18.03.15
✎
17:58
|
(18) параметры быстрее всего
|
|||
22
fisher
18.03.15
✎
18:00
|
(20) Не знал про это ограничение. Тогда параметр сеанса лучше всего подходит.
|
|||
23
CerbeRUS
18.03.15
✎
18:01
|
(21) в смысле - параметр сеанса?
|
|||
24
CerbeRUS
18.03.15
✎
18:02
|
Тоже к ПС склоняюсь. Единственное, вызов сервера каждую секунду будет.
Хотя, правда, я вообще пока еще плохо понимаю, где на телефоне клиент и сервер. |
|||
25
fisher
18.03.15
✎
18:07
|
(24) Даже если у 1С нет никакой оптимизации "клиент-сервера" в локальном варианте, то ты же будешь вызов без передачи контекста делать. А кроме контекста какие локально могут быть накладные расходы?
|
|||
26
rphosts
18.03.15
✎
18:07
|
(24) там-же где и клиент но есть клиент и эмуляция сервера
|
|||
27
CerbeRUS
18.03.15
✎
18:08
|
(25) Вроде бы никаких, а так кто эту 1С знает...
|
|||
28
CerbeRUS
18.03.15
✎
18:10
|
(26) Вот я и не совсем понимаю, зачем клиент-сервер эмулировать.
Но это уже философский вопрос... С другой стороны, есть совместимость с настольным приложением. |
|||
29
Провинциальный 1сник
18.03.15
✎
18:12
|
Сейчас прогресс-бары немодны. Сейчас модно воспитывать в пользователе терпееееееение видом крутящейся фиговины, чтобы он даже приблизительно не мог оценить время выполнения процесса. Ибо так завещал великий стив джоб.
|
|||
30
rphosts
18.03.15
✎
18:14
|
(28) что-бы не быть извращенцами со 100500 вариациями 1С а для любого случая писать одинаковый код... ну почти одинаковый
|
|||
31
fisher
18.03.15
✎
18:22
|
(29) Да не надо сказок. Или покажи место в гайд-лайнах эппла, где для длительных операций с известным прогрессом такое рекомендуется.
|
|||
32
Провинциальный 1сник
18.03.15
✎
18:34
|
(31) Это секретная директива, но тем не менее обязательная к применению.
|
|||
33
fisher
18.03.15
✎
18:37
|
(32) Странно. В плейере саундтреки с прогресс-баром до сих пор. Ох кто-то огребёт...
|
|||
34
DitriX
18.03.15
✎
20:09
|
Ну я делал по другому, я создавал фоновое задание и назначал ему UID, потом в это же UID ложил хранилище значения, ну типо адрес хранилища = UID фонового.
Далее - я мониторил активные фоновые и зная их UID - я вытягивал данные из временного хранилища. Вот так, и без всяких новых объектов. Там поместил, а там забрал. |
|||
35
DitriX
18.03.15
✎
20:38
|
А, ну еще можно выводить тоасты или пуши при помощи утилит, тогда вообще ничего не надо получать, прям с сервера и выводите
|
|||
36
CerbeRUS
18.03.15
✎
20:58
|
(34)
Приветствую, DitriX, вот мы и здесь встретились... :-) В смысле, "УникальныйИдентификатор (UUID)"? Создавал хранилище значения, туда все, что нужно клал, получал адрес и клал в UUID? А потом с помощью ПолучитьФоновыеЗадания(<Отбор>) получал инфу? Изврат тоже, конечно... А фоновое задание нормально такой реквизит принимала? |
|||
37
CerbeRUS
18.03.15
✎
21:02
|
(35) У меня в мечтах это приложение через Гугл Плей будет распространяться, так что доп. утилиты не подойдут.
|
|||
38
rphosts
19.03.15
✎
02:28
|
(37) 8.3.6 работает с локальными уведомленирями и с пуш-сообщениями (мобильные клиенты)
|
|||
39
rphosts
19.03.15
✎
02:28
|
*уведомлениями
|
|||
40
33_оленя
19.03.15
✎
05:42
|
(37) есть деньги оплатить взнос 1су и отсылать им ренту с каждой продажи? богатенький.
|
|||
41
CerbeRUS
19.03.15
✎
08:30
|
(40) Чего, чего? Я, может, чего-то не знаю, разве надо платить 1С, чтобы в ГуглПлей выложить?
Ну а продажи, это уж слишком, я пока только о бесплатном думал. |
|||
42
CerbeRUS
19.03.15
✎
08:33
|
(38) Да, в принципе, локальное уведомление можно вывести в конце загрузки, так даже можно приложение свернуть. Но Проценты уведомлениями выводить - это уж слишком.
|
|||
43
rphosts
19.03.15
✎
08:37
|
(41) ты всяких оленей меньше слушай, согласно лиц. если ты продал более 20 экземпляров - тебе нужно решать вопрос лицензирования с 1С.
|
|||
44
DitriX
19.03.15
✎
11:40
|
(41) и таки да, не важно - платно или бесплатно, но с 1с ты должен все согласовать, точнее как - они могут и не трогать тебя, до поры, а если приложение станет хитом - могут тебе напомнить про лицензии.
Так что лучше сразу спишись с ними, у них есть рыба договора, и там уже с ними все порешаешь. |
|||
45
CerbeRUS
19.03.15
✎
15:06
|
(44) Спасибо за инфу!
Ну, приложение у меня узкоспециализированное, хитом вряд ли станет, но буду иметь в виду. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |