Выбор файлов и каталогов на мобильном устройстве. Мобильная платформа 8.3

08.10.12

Разработка - Мобильная разработка

С выходом мобильной платформы 8.3.2, у любого интересующегося 1С-ника, зачесались руки пощупать это диковинное изделие. Кто-то сделал классический "Hello world!", кто-то повторил или просто разобрал "1С:Заказы", а кого-то процесс не дошел до полной настройки рабочего окружения и тестирования своих конфигураций на своих же девайсах. Мне захотелось попробовать сразу все: разработку под Linux, Android и iOS.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Статья про ДиалогРаботыСФайлами.zip
.zip 2,13Mb
201
201 Скачать (1 SM) Купить за 1 850 руб.

Выбор файлов и каталогов на мобильном устройстве. Мобильная платформа 8.3.

 

Зачем?

С выходом мобильной платформы 8.3.2, у любого интересующегося 1С-ника, зачесались руки пощупать это диковинное изделие. Кто-то сделал классический "Hello world!", кто-то повторил или просто разобрал "1С:Заказы", а кого-то процесс не дошел до полной настройки рабочего окружения и тестирования своих конфигураций на своих же девайсах. Мне захотелось попробовать сразу все: разработку под Linux, Android и iOS.

 

Где разрабатывать?

В качестве первого рабочего окружения была выбрана связка:

- Linux Mint 13 (x86_64)

- платформа 8.3.2.163 (Deb64)

- Apache 2.2

Приятной неожиданностью была беспроблемная установка платформы. На Mint платформа встала без проблем, в отличии от CentOS. Работать в таком окружении можно, но пока не очень комфортно. В режиме конфигуратора (в моем случае) проявляется несколько мелких, но назойливых багов, сильно снижающих производительность труда. Поэтому пришлось вернуться на более стальное решение:

- Windows 7 (x86_64)

- платформа 8.3.2.163 (x86)

- Apache 2.2

Ставить и настраивать IIS мне было категорически лень, а Apache установился и завеося без каких либо дополнительных настроек  (официальный дистрибутив, типовая установка). Единственное огорчение - нет Снегопата под 8.3.

 

На чем тестировать?

В качестве подопытных девайсов выступают:

- Digma IDx9 3G (Android 2.3.1)

- LG P500 (Android 4.0.4)

- iPad2 (iOS 5.0.1 + jailbreak + iFunbox)

Проверять приложения сразу на устройствах довольно удобно, но они не всегда под рукой. В качестве замены прекрасно подходят эмуляторы:

- родной эмулятор Android SDK

- BlueStacks

BlueStacks - вариант для ленивых. Никаких настроек, запустил - работает. Android SDK - можно настроить очень гибко, сделать эмуляторы  разных версий Android. Но это долго и надо вникать.

С iOS все сложнее, но тут тоже есть пара вариантов:

- любой относительно современный компьютер от Apple, XCode, сертификат разработчика. Только при таком раскладе ваше приложение будет иметь гипотетический шанс быть опубликованным в AppStote.

- виртуальная машина MacOS X с инструментами разработчика, iOS Simulator + jailbreak. Вариант для изучения и обучения. Для нас в самый раз.

Я остановился на варианте iPad2 (iOS 5.0.1 + jailbreak + iFunbox). Мобильная платформа под iOS имеет ряд отличий от версии под Android (возможно я просто их не нашел):

- нет возможности установить свою опубликованную конфигурацию в "1C:Заказы"

- нет кнопки "Обновить" в настройках базы.

Этот вопрос можно решить, если сделан jailbreak и есть прямой доступ к файловой системе устройства. Вместо загрузки опубликованных  кофигураций в приложении реализован механиз создания и обновления новых баз из шаблонов. Шаблон - это схема конфигурации, которую создает 1С при публикации мобильного приложения. Шаблоны лежат здесь:

Папка с шаблонами

conf.xml - шаблон типовой конфигурации

1cema.xml - шаблон нашей конфигурации

После сохранения шаблона в эту папку приложение на iOS даст создать базу из нового шаблона. При замене нашего шаблона на более новую версию приложение предложит обновить конфигурацию базы на устройстве.

 

Что делать?

Мне захотелось простого - просмотр каталогов и чтение основных типов файлов: текст, картинки, xml. Задачка, на первый взгляд, странная для 1С. Зато хорошо расставляет в точки над "и". Сразу понятно что можно, а что нельзя.

Беглое изучение справки дало неутешительный результат - на мобильной платформе не поддерживается "ДиалогВыбораФайла". На этом можно было забыть о задачке, ну или отложить ее до появления в мобильной платформе нужного функционала. «Настоящие герои выбирают путь

в обход» - , поэтому я решил сделать свой диалог работы с файлами и каталогами с оглядкой на возможности и ограничения разных платформ.

Так появилась обработка-конфигурация "ДиалогРаботыСФайлами".

 

Грабли мобильной платформы:

- нет множественного выбора в списке

- нет отображения списка в виде дерева

- проблемы с обновлением реквизитов. При изменении реквизитов на сервере, обновление реквизитов на форме происходит с глюком.

 Приходится сначала очищать реквизит на клиенте, а потом перезаполнять его на сервере. Проблема проявляется на мобильной платформе, в

 отладке на Windows/Linux проблема не проявляется.

- куцый набор доступных объектов. Не реализован "ТекстовыйДокумент", прочитать и разобрать xml можно, а простой текстовый файл - нет.

- нет запросов, только объектные выборки

 

Windows:

- файловая система основана на дисках

- разделитель пути - "\"

 Т.к. Windows не является целевой платформой, функционал работы с дисками реализован не был, верхним уровнем файловой системы считается диск "С:". При желании,  можно добавить команду переключения дисков.

 Общий вид

 

Mint:

- корневая файловая система

- диски монтируются в системные папки, работа с дисками не реализована.

- разделитель пути - "/"

 Общий вид

 

Android:

- разделитель пути - "/"

- корневая файловая система

- доступ к фалам ограничен павами пользователя на устройстве

Общий вид

 

iOS

- разделитель пути - "/"

- корневая файловая система

- приложения запускаются в песочнице

- корень файловой системы - это папка-бандл приложения на устройстве. По этой причине диалог выбора файлов практически бесполезен, нельзя выбрать фотки с камеры или системные рисунки.

Общий вид

 

Итого

В итоге получился диалог, не так много, уступающий встроенному:

1. нет множественного выбора файлов

2. фильтры поддерживаются, но есть ограничения - маска расширения должна быть полная.

     правильно - "Документы Word (*.doc;*.docx)|*.doc;*.docx| Документы Excel(*.xls;*.xlsx)|*.xls;*.xlsx"

     не правильно - "Документы Word (*.doc;*.docx)|*.doc*|Документы Excel(*.xls;*.xlsx)|*.xls*"

Остальные параметры соответствуют параметрам типового диалога.

Диалог отработал на 4-х системах, 3-девайсах, 2-х эмуляторах и 1-м компьютере.

 

В архиве конфигурация мобильного приложения (для удобства) и отдельно внешняя обработка.

 

См. также

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38193    108    161    

201

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    59288    192    103    

172

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    97216    586    189    

321

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Вашему вниманию предлагается специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода. Предназначено для цифровизации всех товароучетных операций на любых складах, в том числе с адресным хранением различной сложности. Позволяет ускорить и упростить работу кладовщиков, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

3450 руб.

28.04.2023    9468    15    0    

9

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Финансовые услуги, инвестиции Управленческий учет Платные (руб)

Мобильное приложение и конфигурация 1С для автоматической торговли на бирже через API Тинькофф банка. Достаточно задать настройки, нажать «Пуск», и робот сам торгует ежедневно.

7000 руб.

25.05.2022    4643    1    0    

6

Мобильная разработка WEB-интеграция Программист Мобильная платформа Абонемент ($m)

Экспериментальный релиз и простенький скрипт к нему закрывает потребности в любых видах синхронизации между устройствами Simple и между Simple и бек-системами (например 1С). По сути – это очень простой python-скрипт, который можно запустить на доступной машине, сервере или VPS и он будет связывать клиентские устройства между собой и с 1С или другими бек-системами. В самой платформе появилось для этого множество доработок для поддержки стабильного постоянного соединения, докачки больших файлов и работе в фоне. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

23.08.2024    1215    6    informa1555    1    

13

Мобильная разработка Мобильная платформа Абонемент ($m)

В этом релизе собрано много нового из области интерфейса, связи, хранения и важные новые способы управления. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

25.06.2024    2606    29    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. LaNaite 135 15.10.12 15:59 Сейчас в теме
2. PRO100_NigGaZ 121 18.10.12 14:43 Сейчас в теме
Как выбрать файл? на ПК "Новый ДиалогВыбораФайла;" работает на андроиде нет (
Teut_Vlad; +1 Ответить
3. PRO100_NigGaZ 121 19.10.12 11:41 Сейчас в теме
Архив = Новый ЧтениеZipФайла(Путь + Имя) на мобильной платформе не работает :(
4. maleshov.maxim 83 19.10.12 16:53 Сейчас в теме
Поэтому и была сделана обработка, которая заменяет собой стандартный диалог выбора файла.
Реально, на данный момент, можно прочитать только xml и картинки.
5. demetr2011 03.05.13 01:43 Сейчас в теме
16. sasha_r 22.10.14 14:52 Сейчас в теме
(5) demetr2011, страница не найдена. а что там было?
6. TrinitronOTV 16 27.05.13 10:50 Сейчас в теме
спасибо большое автору за предоставленный материал по работе с мобильной платформой
7. vile_folder 08.06.13 08:05 Сейчас в теме
на андроиде поставил платформу 8,3 ля обильных. загружает и сразу просит приложение добавить - переходишь "добавить" - просит логин,пароль и сайт... что делать кто нибудь знает?
13. for_sale 976 24.04.14 09:26 Сейчас в теме
(7) vile_folder, у тебя на компе должно быть опубликовано приложение (в конфигураторе КОнфигурация - Мобильное приложение - Опубликовать). При публикации указываешь имя конфигурации, после этого в диалоге на мобильном пишешь адрес компьютера и имя конфигурации. Ну и пользователя, если он есть.
8. lcd-boost 06.10.13 23:23 Сейчас в теме
Очень даже хорошо!!! Но не лучше ли было бы, код отобразить в статье? Так сказать для наглядности :)
Hobbit_Jedi; Gavri1a; +2 Ответить
9. fozzy 16.10.13 18:01 Сейчас в теме
Подскажите, а как же Вы реализовали так, что 1С видит пользовательские папки?
10. maleshov.maxim 83 17.10.13 14:48 Сейчас в теме
Тут все зависит от платформы. iOS дает доступ только к песочнице приложения.
В общем случает идет обращение к корневой папке файловой системы ("/") и перебор всех папок/файлов в ней.
11. mzelensky 53 01.03.14 20:16 Сейчас в теме
Доброго времени суток!
Проблема более чем актуальна. Можете подсказать ,как все-таки организовать выбор файла под Андроидом?
12. maleshov.maxim 83 06.03.14 16:50 Сейчас в теме
Т.к. нативного диалога выбора файлов в мобильном приложении нет, нужно делать все руками через НайтиФайлы().
Либо использовать эту обработку, либо писать свою. Третьего варианта пока нет.
14. пользователь 28.05.14 13:46
Сообщение было скрыто модератором.
...
15. ololoanonim 3 25.08.14 06:09 Сейчас в теме
А я писал свою. только не смог убрать гон с переходом в верхнюю папку)
Оставьте свое сообщение