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

22.10.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Демонстрационная база restaurant.dt и файл с настройками подключения
.7z 142,55Kb ver:1
14
14 Скачать (1 SM) Купить за 1 850 руб.

По своей субъективной оценке, возникает ощущение, что 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С v8.3 1С:Конвертация данных Платные (руб)

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

13200 руб.

27.12.2021    38233    108    161    

201

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

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

3000 руб.

03.12.2018    59323    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    97286    587    189    

321

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

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

3450 руб.

28.04.2023    9487    15    0    

9

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

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

7000 руб.

25.05.2022    4660    1    0    

6

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

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

1 стартмани

23.08.2024    1223    6    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2621    29    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ip0593 20 22.10.19 14:15 Сейчас в теме
а я так понимаю приложение андроид - это уже тема закрытая и платная?)
2. Kosigo 149 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 60 23.10.19 09:48 Сейчас в теме
Какие преимущества по сравнению с использованием мобильного клиента 1С ? https://wonderland.v8.1c.ru/blog/mobilnyy-klient/
memb3r; sasha777666; +2 Ответить
6. Kosigo 149 23.10.19 10:53 Сейчас в теме
(5)Думаю не совсем уместно сравнивать с мобильной платформой 1С. Но если провести частичное сравнение с точки зрения работы пользователя - то это выигрыш по скорости работы с UI-объектами + приближенный дизайн к google material design.
starik-2005; +1 Ответить
7. xan333 60 23.10.19 11:02 Сейчас в теме
Есть мобильная платформа и есть мобильный клиент, это несколько разные сущности. Мобильный клиент берет функциональность от конфигурации к которой он подключается, т.е. постоянно его пересобирать нет необходимости при изменении функционала конфигурации. Для типовых конфигураций в поставке идет вроде бы apk мобильного клиента.
9. Kosigo 149 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 149 24.10.19 08:53 Сейчас в теме
(8) Попробуйте в интерфейсе OData оставить только один из справочников и снова обновите в приложении. Результат напишите в личку или на почту.
12. ТочкаScarab 24.10.19 12:19 Сейчас в теме
(11)Спасибо - открыл только одних Контрагентов - получилось. (а вот в личку или на почту написать не смог). Видно первоначальный файл по standard.odata - слишком большой был и памяти мобилы не хватало.
10. xan333 60 23.10.19 11:50 Сейчас в теме
Отличный кейс, спасибо! Чтобы сделать такое через мобильный клиент, вероятно придется сделать отдельную настройку прав для конкретной роли. Ваш вариант выглядит интереснее.
13. sir 18 13.09.23 15:17 Сейчас в теме
Все замечательно, но на моем достаточно свежем смартфоне на андроид, приложение пишет что не поддерживается ...
14. sir 18 13.09.23 15:19 Сейчас в теме
(13) но при этом предлагает поставить на древнючий кетайский планшет, очень странная избирательность.
Похоже дроид 12 не тянет.
Оставьте свое сообщение