ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол

22.10.19

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

В платформе 1С реализована прекрасная возможность работы с открытым веб-протоколом OData, который предоставляет любой другой платформе интерфейс доступа - возможность запрашивать и обновлять данные из базы 1С. Далее в статье будут описаны особенности работы мобильного приложения ODa, которое без программировании на стороне Android'a позволит разработчикам публиковать базы 1С, что даст возможность обычным пользователям взаимодействовать с объектами метаданных, используя нативные элементы интерфейса платформы Android.

Скачать исходный код

Наименование Файл Версия Размер
Демонстрационная база restaurant.dt и файл с настройками подключения
.7z 142,55Kb
14
.7z 1 142,55Kb 14 Скачать

По своей субъективной оценке, возникает ощущение, что OData протокол в инфраструктуре разработок 1С мало используется и недооценен должным образом. Попробуем внести свой вклад в популяризацию этого протокола и на практике показать, что может получиться взаимодействуя с ним.

Про особенности работы с протоколом OData на платформе 1С можно ознакомиться -> v8.1c.ru или более подробно -> its.1c.ru, но для работы с приложением ODa нет особой необходимости постигать глубин использования протокола, приложение и платформа 1С сами обо всем позаботятся.

 

Основные функциональные возможности 

  • Поддержка протокола Odata version 3.0 
  • Универсальный клиент. Возможность осуществлять подключение к любой конфигурации 1С 
  • На текущий момент поддержка объектов метаданных: "Справочники" , "Документы", "Перечисления"  
  • Поиск, сортировка, фильтрация элементов в списках объектов
  • Операции над объектами: "Создание", "Просмотр", "Редактирование", "Запись", "Проведение", "Отмена проведения", "Пометка на удаление"
  • Управление по представлению реквизитов объектов в списке и карточке объекта
  • Тонко настроить интерфейс для каждого объекта метаданных
  • Возможность поделиться ссылкой на подключение
  • Поддержка ориентации экрана
  • Локализация: Русский, English
  • У подключения может быть назначен администратор, с функцией публикации общих настроек

 

Режимы работы приложения ODa 

  • Клиентский -  для использоваться обычными пользователями
  • Администрирования - назначается администратор(владелец), для управления подключением
  • Разработки  - возможность тонкой  настройки подключения с возможностью публикации их в режиме online

Уточним описанные выше режимы, дабы сложилось картинка в целом. Клиентский режим будет доступен сразу после установки мобильного приложения и предназначен для использования обычными пользователями. Что важно отметить: подключение может уже иметь администратора с опубликованными общими настройками или без владельца-администратора и соответственно без общих настроек, что не рекомендовано, так как по умолчанию нет никаких ограничений в операциях над объектами и сами данные представлены точной копией метаданных из 1С.

После публикации базы, через стандартный интерфейс Odata разработчиком 1С, рекомендуется назначить себя владельцем данного подключения (подробно описано ниже). Для "Режима Администрирования" всегда доступны функции: назначить наименование подключения, временно заблокировать подключение, удалить подключение. 

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

Ниже представлены пример экрана метаданных по умолчанию и после применения настроек

---->

 

Необходимы настройки для подключения приложением ODa  к  базе 1С 

- Установить веб-сервер (Apache, IIS, ...)

- Установить галочку "Публиковать стандартный интерфейс OData"

 

- Определить состав объектов метаданных, доступных через стандартный сервис OData. Подробнее можно почитать например тут-> infostart.ru/public/811834/

После предыдущих настроек на выходе должна получиться работающая ссылка вида : http://192.168.1.100/sample1/odata/standard.odata

 

Как подключиться к опубликованной базе

Итак у нас есть ссылка на опубликованную базу через интерфейс OData: http://192.168.1.100/sample1/odata/standard.odata. Используем ее при создании нового подключения в приложении, авторизуемся при необходимости (пользователь ИБ) и если подключение еще не имеет владельца, то необходимо указать наименование.

---->---->

 

Список подключений

ODa позволяет работать одновременно с неограниченным числом подключений к различным базам. Каждое подключение представлено  в боковом меню как drawer-account. Такое представление весьма типично и знакомо пользователем мобильных платформ для быстрого переключения между аккаунтами (подключениями). Существует отдельный фрагмент "Список подключений", на котором представлена подробная информация о каждом подключении. Над объектом подключения доступны следующие операции:

  • Сделать активным 
  • Удалить подключение
  • Написать администратору
  • Обновить настройки из файла
  • Поделиться ссылкой на подключение
  • Скопировать URL в буфер обмена
  • Войти в режим администрирования

 

             

 

 

Справочники - список элементов

Рассмотрим возможности работы со списками на примере справочника "Номенклатура" из типовой конфигурации. Администратор подключения может дополнить представление списка дополнительными реквизитами этого объекта (фрагмент правее)

            

 

Пример с поиском элементов. Поиск осуществляется по наименованию а также по всем видимым значениям реквизитов.

            

 

Пример списка с фильтром

            

 

Документы - список элементов

Пример списка - "Реализация товаров". Принцип работа с поиском, сортировкой и фильтрацией полностью совпадает с рассмотренным выше примером из списка справочников

      

 

Форма элемента справочника и документа

Форма для элементов справочников и документов имеют общее представление при просмотре или редактировании объектов.

            

 

 

Режим администрирования

Вернемся к текущему сценарию: опубликовали базу через Odata интерфейс, к которой в приложении создали подключение. Если быть точным, то сейчас мы находимся в клиентском режиме, где просматриваются списки и формы объектов с возможностью выполнения операций над ними. Уже на этом этапе можно делиться ссылкой на данное подключение с другими пользователями, которые смогут работать с базой в рамках привязанных ролей к учетной записи ИБ. Но как упоминалось выше рекомендуется установить администратора подключения, у которого всегда будут доступны следующие базовые действия:

  • Прописать наименование подключения.
  • Временно заблокировать работу с данным подключением.
  • Удалить подключение с сервера общих настроек. 
  • Активировать режим разработки

 

Активизация режима администрирования

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

Для активизации выполните следующие действия:

  1. Во фрагменте "Список подключений" необходимо семь раз кликнуть в зону "Администратор подключения"
  2. После успешного выполнения, появиться новый элемент интерфейса "Назначить администратора", выбираем его
  3. Выберите google-аккаунт, который будет установлен в качестве администратора текущего подключения
  4. Готово, теперь можно управлять. При выходе из режима администрирования мы снова попадаем в клиентский

-->-->-->

 

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

 

Область и сценарии применения 

Сценарий применения приложения может начинаться от просмотра/контроля текущих документов ответственными сотрудниками до реализации самых сложных бизнес-процессов. Далее в статье будут рассмотрен пример реализации самописной  конфигурации по управлению рестораном и точки взаимодействия ее с настройками подключения в приложении. Сама конфигурация настолько простая, что любой программист 1С повторит ее, при этом чашка утреннего кофе не успеет остыть. Суть ее показать как созданные объекты метаданных без проводок и реализации форм  могут быть уже использованы для работы в ODa. Также возможен вариант выпуска брендированной сборки приложения под заказ.

 

Режим разработки

Если администратор решит, что ему надо будет настроить подключение особым образом (custom version), то необходимо будет оформить подписку на режим разработчика. Важно отметить, что режим разработчика будет действовать на все подключения в которых прописан текущий аккаунт администратором.

При активизации режима разработчика в toolbare появиться соответствующая иконка   

 

Обновление метаданных

При изменении конфигурации базы 1С (добавили, удалили, переименовали объект метаданных), необходимо получить эти изменения в приложении путем pull-to-refresh (потянуть сверху вниз) на экране метаданных. Готово, объекты получили, теперь можно настроит их детальнее.

      

 

 

Параметры настройки экрана с метаданными

  • Видимость - устанавливает видимость объекта метаданных на экране. Позволяет показывать только главные-корневые объекты для работы
  • Доступность - позволяет запретить любые операции с объектом (только просмотр)
  • Порядок - определяет очередность объектов на текущем экране 
  • Синоним - устанавливает альтернативное название для объекта
  • Картинка - назначить url картинки, вместо стандартной  
  • Записать - определяет что при создании нового объекта он будет автоматически создан на стороне базы 1С. Это позволит произвести заполнение начальными значениями реквизитов этого объекта. 

      ----->

 

Параметры настройки списка справочников

  • Вид списка - принимает два значения: список и иерархия. 
  • Темы элемента - возможные варианты представление элемента в списке, примеры будут показаны ниже в картинках
  • Доп. поля - дополнительные поля-реквизиты, которые следует показывать
  • Картинка - указать реквизит в котором храниться URL картинки

         

 

 

Параметры настройки списка документов

Для списка документов пока доступна одна настройка: дополнительные поля. Обязательно необходимо обновить список документов (pool to refresh) после изменения состава доп. полей.

--->--->

 

Параметры настройки формы объектов

  • Видимость - показать или скрыть реквизит
  • Основной вид - возможность задать два значения представления данных: виде таблицы или списком. 
  • Тип данных - необходимо уточнить базовый тип. Для примера для реквизита типа дата необходимо установить уточнение (это дана, это время, дата + время) или для реквизита ссылающегося на перечисление - тут также необходимо указать на эту же связку 
  • Синоним - устанавливает альтернативное название для реквизита
  • Доступность -  устанавливает возможность для редактирования пользователем или только просмотр 
  • Записывать - важный параметр,  определяет что при изменение значения реквизита произойдет автоматический запрос в базу 1С для записи текущего объекта. На стороне кода 1С  (перед записью объекта) необходимо реализовать логику на новые данные. Пример реализации будет доступен в restaurant.dt
  • Притяжение - устанавливает притяжение для значения реквизита в ячейке таблицы или поля (вправо, в центре, слева)
  • Требовать - возможность определить обязательные поля для заполнения пользователем
  • Порядок - очередность представления реквизитов на форме списка
  • Ширина - ширина ячейки таблицы - пропорционально по отношению к другим ячейкам
  • Высота - возможно определить отдельно высоту заголовка и строки таблицы
  • Размер - размер размер текста для значения реквизита
  • Ед. изм. - возможность указать единицы измерения для реквизитов типа Int, Double 

         

      

 

Публикация общих настроек 

После выполнения определенных настроек над подключением необходимо опубликовать эти изменения на сервере общих настроек. Кнопка "Опубликовать" доступна только если текущая версия настроек будет отличаться от версии публикации. После публикации все пользователи у которых есть данное подключение автоматически получать обновление. Также реализован сценарий когда есть необходимость поделиться настройками через файл.

 

Демонстрационная база

К этот статье прилагается архив с демонстрационной базой resrtaurant.dt  и файл с настройками для Oda.

Логин/пароль от базы: admin admin

Для загрузки настроек в списке подключений кликните на "Общие настройки" затем "Обновить из файла"

 

Заключение

Надеюсь мне удалось еще раз обратить внимание сообщество на интерфейс OData, и если его использование будет полезно в Ваших проектах в связке с приложением ODa, буду этому рад.

Спасибо за внимание!

Ссылка на google play для установки Oda 

ODa OData Android client

См. также

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

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

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

2880 руб.

03.12.2018    54982    139    102    

162

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

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

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

13200 9900 руб.

27.12.2021    33741    82    159    

177

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

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

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

2000 руб.

22.04.2019    92291    519    186    

296

Магазин 15 - приемка товара по штрихкодам или инвентаризация в торговом зале

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

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

12950 руб.

30.05.2023    3451    2    0    

4

Работа с графикой в браузере (SimpleWEB). Векторный редактор

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

В SimpleWEB добавились средства для работы с графикой и отслеживание событий мыши, в онлайн редактор https://seditor.ru:1555/ добавился «Векторный редактор» на этом API. Теперь можно нарисовать схемы складов на ПК, сделать карты (*.sug-файлы) для мобильной платформы SimpleUI, выводить данные из 1С в графическом виде. Таким образом, API для работы с векторными файлами теперь есть и в веб- и в мобильной платформе, а также средства для создания и редактирования векторных файлов есть тоже в обеих платформах.

1 стартмани

20.03.2024    1594    0    informa1555    1    

40

Зачем нам 1С:Элемент

Мобильная разработка Языки и среды Бесплатно (free)

Flutter может быть использован с 1С:Предприятием для разработки кроссплатформенных мобильных приложений, обеспечивая единый интерфейс и функциональность на устройствах под управлением iOS и Android. Это позволяет создавать приложения с высокой производительностью благодаря использованию собственного движка рендеринга Flutter. Интеграция Flutter с 1С:Предприятием позволяет создавать мобильные приложения любого уровня сложности, интегрировать их в корпоративные информационные системы, а также реализовывать бизнес-логику

19.03.2024    9013    ROk_dev    67    

41

JavaScript в Simple

Мобильная разработка Бесплатно (free)

В SimpleUI и SimpleWEB, наряду с обработчиками на python и онлайн (1С и т.д.) добавляется интерпретатор JavaScript. В андроид платформе он скорее играет на поле python, т.к. является оффлайновым решением для самостоятельной обработки и расширяет аудиторию разработчиков для разработки самостоятельных решений. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

12.02.2024    1683    informa1555    0    

25
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ip0593 20 22.10.19 14:15 Сейчас в теме
а я так понимаю приложение андроид - это уже тема закрытая и платная?)
2. Kosigo 147 22.10.19 14:23 Сейчас в теме
Приложение свободно для установки с Google Play Oda
Клиентский и режим администрирования бесплатно. Режим разработки активизируется по подписке
4. minimajack 80 23.10.19 08:56 Сейчас в теме
(0) Выглядит очень достойно.
Приправить дополнительным функционалом - и будет вообще огонь!
3. пользователь 22.10.19 14:50
Сообщение было скрыто модератором.
...
5. xan333 59 23.10.19 09:48 Сейчас в теме
Какие преимущества по сравнению с использованием мобильного клиента 1С ? https://wonderland.v8.1c.ru/blog/mobilnyy-klient/
memb3r; sasha777666; +2 Ответить
6. Kosigo 147 23.10.19 10:53 Сейчас в теме
(5)Думаю не совсем уместно сравнивать с мобильной платформой 1С. Но если провести частичное сравнение с точки зрения работы пользователя - то это выигрыш по скорости работы с UI-объектами + приближенный дизайн к google material design.
starik-2005; +1 Ответить
7. xan333 59 23.10.19 11:02 Сейчас в теме
Есть мобильная платформа и есть мобильный клиент, это несколько разные сущности. Мобильный клиент берет функциональность от конфигурации к которой он подключается, т.е. постоянно его пересобирать нет необходимости при изменении функционала конфигурации. Для типовых конфигураций в поставке идет вроде бы apk мобильного клиента.
9. Kosigo 147 23.10.19 11:35 Сейчас в теме
(7) Возможно, не совсем понял суть вопроса. Опишу один из возможных сценариев использования ODa: предположим стоит задача организовать возможность заказа товара клиентами через смартфон... что нужно сделать:
1. Опубликовать Odata интерфейс учетной базы
2. Через обработку настройки состава интерфейса Odata ставим галочки напротив справочника Номенклатуры и документа Заказ покупателя
3. В приложении ODa подключиться к базе, назначить себя администратором
4. Поделится ссылкой на созданное подключение (из самой программы) с клиентом
5. Клиент переходит по ссылке, у него устанавливается приложение Oda и предлагается ввести логин пароль от базы (естественно заранее клиента нужно завести как пользователя ИБ с нужными правами)
6. Готово, клиент видит справочник товары и список своих заказов, создает новые.
8. ТочкаScarab 23.10.19 11:29 Сейчас в теме
Конфигурация УППдляУкраины 1.3.63.1, ODATA опубликована, доступ по протоколу ODATA к необходимым объектам метаданных настроен. В вашей проге пишет "Нет объектов метаданных в составе интерфейса ODATA". А по ссылке вида https://сервер/база/odata/standard.odata и т.п. - прекрасно всё получает. В чём может быть проблема?
11. Kosigo 147 24.10.19 08:53 Сейчас в теме
(8) Попробуйте в интерфейсе OData оставить только один из справочников и снова обновите в приложении. Результат напишите в личку или на почту.
12. ТочкаScarab 24.10.19 12:19 Сейчас в теме
(11)Спасибо - открыл только одних Контрагентов - получилось. (а вот в личку или на почту написать не смог). Видно первоначальный файл по standard.odata - слишком большой был и памяти мобилы не хватало.
10. xan333 59 23.10.19 11:50 Сейчас в теме
Отличный кейс, спасибо! Чтобы сделать такое через мобильный клиент, вероятно придется сделать отдельную настройку прав для конкретной роли. Ваш вариант выглядит интереснее.
13. sir 14 13.09.23 15:17 Сейчас в теме
Все замечательно, но на моем достаточно свежем смартфоне на андроид, приложение пишет что не поддерживается ...
14. sir 14 13.09.23 15:19 Сейчас в теме
(13) но при этом предлагает поставить на древнючий кетайский планшет, очень странная избирательность.
Похоже дроид 12 не тянет.
Оставьте свое сообщение