|
Мобильный клиент | ☑ | ||
---|---|---|---|---|
0
GRommobile
04.12.19
✎
20:53
|
Добрый день, коллеги.
Подскажите возможно ли решить поставленную задачу стандартными средствами 1С ? Имеется документ, который использует мобильный клиент. В реквизите документа хранится путь до фотографии, сделанной на мобильном клиенте. Путь выглядит в виде строки "/storage/emulated/0/DCIM/111.jpg". Файл есть, в галерее виден. Задача - через фоновое задание передать этот файл на сервер и записать в справочник, с типом реквизита ХранилищеЗначений. Следующий код в процедуре фонового задания падает с ошибкой СправочникФайлов.Данные = Новый ХранилищеЗначения(Новый ДвоичныеДанные("/storage/emulated/0/DCIM/111.jpg")); Каталог не обнаружен "/storage/emulated/0/DCIM/111.jpg". Не могу понять почему фоновоеЗадание и серверная процедура не видят данного каталога ? |
|||
1
unbred
04.12.19
✎
21:56
|
с сервака пытаешься получить файлик, который ещё не на серваке?
|
|||
2
GRommobile
04.12.19
✎
22:20
|
(1) Фоновое задание выполняется на мобильном клиенте.
|
|||
3
SilentMan
04.12.19
✎
23:03
|
(2) не может быть!
Фоновое задание работает на сервере. А сервер - он не на мобиле :) Наверное стоит фоточку положить во временное хранилище и передать в фоновое задание адрес хранилища |
|||
4
Fram
05.12.19
✎
04:33
|
(2) увы!
(3) Передача данных из вызывающего сеанса в сеанс фонового задания невозможна. ИТС (с) |
|||
5
Сияющий в темноте
05.12.19
✎
09:02
|
(4) до запуска фонового задания вполне себе.
|
|||
6
SilentMan
05.12.19
✎
09:16
|
(4) И пруф будет для подтверждения такого уверенного заявления?
|
|||
7
GRommobile
05.12.19
✎
09:18
|
Коллеги, понял в чем ошибка. Но от этого не стало легче. Вопрос перешел в методологию. Каким образом передать файл с мобильного устройства, ссылка на который расположена в реквизите справочника, на сервер ? Причем процесс передачи должен происходить в определенный период времени.
|
|||
8
Кац
05.12.19
✎
09:27
|
ДанныеФайла = Новый ХранилищеЗначения(Новый ДвоичныеДанные("file://storage/emulated/0/DCIM/111.jpg"));
|
|||
9
GRommobile
05.12.19
✎
09:41
|
(8) уже писали выше, так не получится. Код выполняется на сервере
|
|||
10
Fram
05.12.19
✎
09:47
|
||||
11
sevod
05.12.19
✎
09:52
|
(9) тебе подсказку дали. Сделай двоичный файл на мобиле и пуляй его на сервер. Если нужно в определенное время, держишь на мобиле 1с включенным, он все время стучится на сервер и спрашивает, а не пора ли мне тебе файл отправить?
Ну или смотри как на телефоне папку расшарить, что бы было с сервера видно. |
|||
12
sevod
05.12.19
✎
09:59
|
(11) это все для автора разумеется написано.
|
|||
13
fisher
05.12.19
✎
10:03
|
(7) ПодключитьОбработчикОжидания(), НачатьПомещениеФайла()
|
|||
14
fisher
05.12.19
✎
10:07
|
Но если передача по расписанию понятна для мобильного приложения, то для мобильного клиента логичнее было бы пулять файлы на сервер сразу, а не аккумулировать их на клиенте и отправлять по расписанию. Тогда "подтормаживания" связанные с отправкой происходили бы в ожидаемые пользователем моменты и вообще лучше бы укладывалось в концепцию мобильного клиента.
|
|||
15
fisher
05.12.19
✎
10:11
|
В тонком клиенте никому же не приходит в голову пихать в справочник ссылки на локальные файлы и по расписанию их тянуть. А мобильный клиент - тот же самый тонкий клиент, только на мобильном девайсе.
|
|||
16
SilentMan
05.12.19
✎
11:48
|
(10) Да, убедил.
Ну тогда вариант из (8). Данные передаются параметром серверного вызова и на сервере делай что хочешь, включая передачу двоичных данных прямым параметром вызова фонового задания. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |