Давайте подружим 1С и Android. Часть 1 - постановка задачи и подход к решению

29.02.16

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

Серия уроков по созданию простейшего приложения на платформе Android для взаимодействия с 1С.

Скачать файлы

Наименование Файл Версия Размер
AcceptingOrders
.7z 2,44Mb
44
.7z 2,44Mb 44 Скачать

Это первая, вводная часть.

Кому она адресована - разработчику 1С, который желает создавать нативные приложения для Android

Цель статьи - просто и доступно донести то, на чем сам набил кучу шишек и потратил много времени

Добрый день! Современная тенденция такова, что мобильные решения занимают все большие сферы нашей жизни, в том числе и работу. Будучи разработчиком в 1С - франчайзи, все больше замечаю такую тенденцию и в бизнесе. И вот, с лета прошлого года мы озадачились разработкой собственных решений. Стоимость сторонних мобильных разработчиков высока, а заинтересовать пойти работать во франч - непосильная задача. Пришлось мне изучать Java и набивать шишки самому.

Мобильные платформы развиваются столь быстро, что любая статья стает неактуальной уже через 2, а то и 1 год, и найти готовое решение просто нереально, поэтому будем разбирать те вещи, которые должны, по моему мнению, оставаться актуальными.

В первой части мы займемся постановкой задачи.

Задача: Создать приложение, которое позволит осуществлять приемку товара в розничном магазине при перемещении со склада компании.

Мы не будем рассматривать вариант реализации на мобильной платформе 1С намеренно, наше решение будет построено на нативном приложении Android, поскольку именно это цель моих статей.

Оптимальным вариантом взаимодействия Android и 1С для решения такого рода задач я считаю работу через веб-сервис. Не будем вдаваться в подробности, мнений, как и решений, может быть множество, просто для меня это самый удобный вариант.

Начнем со средств разработки. Их просто море, я же пользовался Android Studio от Google, особо не копаясь в вариантах. По настройке данной среды множество статей, но данный шаг я бы пропустил, переходя к сути.

Сам я не смотрел перед разработкой никакие уроки, а приступил к работе и по ходу возникновения вопросов обращался к поисковику. Это на Ваше усмотрение. Далее я буду подробнее объяснять те моменты, на которых я потратил много времени, а элементарные вещи (типа интерфейса и сохранения настроек) буду пропускать.

Давайте познакомим Android с 1С. Поскольку "говорить" они будут на языке веб-сервисов, надо научить Android такому языку. Создадим пустой проект (я его назвал AcceptingOrders) и в среду разработки подключим пакет ksoap2, который позволит работать с протоколом SOAP. Данный пакет позволит обеспечить полное взаимодействие с веб-сервисом 1С.

Для удобства работы с веб-сервисом создадим класс HttpTransportBasicAuthSE, который будет работать подобно объекту WSОпределения в 1С - определять подключение к сервису с указанием пути к веб-сервису, имени пользователя, пароля и таймаутом подключения. Также в кллассе определен заголовок XML с указанием версии и кодировки. Данный класс я нашел на просторах интернета, добавив таймаут подключения и установив свойство "Connection" в значение "close" для более стабильной работы (при тестах в офисе оказалось, что при большом количестве запросов начинаются тормоза и не проходят до перезагрузки маршрутизатора).

Теперь структура проекта выглядит так:

 Структура проекта

Теперь наше приложение готово к тому, чтобы начать общаться с 1С. Для начала хватит?

Часть 2 - авторизуемся в 1С

См. также

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

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

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

2880 руб.

03.12.2018    54601    137    102    

161

SALE! 25%

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

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

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

13200 9900 руб.

27.12.2021    33274    80    157    

174

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для 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    91930    511    186    

293

Магазин 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    3387    2    0    

4

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

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

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

1 стартмани

20.03.2024    1461    0    informa1555    1    

39

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

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

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

19.03.2024    6799    ROk_dev    56    

37

JavaScript в Simple

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

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

12.02.2024    1626    informa1555    0    

25
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1311 29.02.16 12:51 Сейчас в теме
Я так понял суть вашей статьи в том, что java умеет работать с веб сервисами. и коротко её можно переписать так
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

))
2. solarisman 149 29.02.16 13:00 Сейчас в теме
(1) Ibrogim, Вы поняли неверно. Я думаю, любому технически подкованному специалисту должно быть понятно, что Java умеет работать с веб-сервисами.

В этой статье не все, что я хотел сказать, я написал в конце -
Если интересно, продолжим знакомить 1С и Android
. Ведь с тем как работать с веб-сервисом 1С не все так прозрачно, и тратится уйма времени на понимание некоторых вещей.
А статья не Java-разработчику, а 1Снику.
3. Ibrogim 1311 29.02.16 13:05 Сейчас в теме
(2)
Ведь с тем как работать с веб-сервисом 1С не все так прозрачно

Из данного предложения можно смело выкинуть слово "1С"

ksoap2 ничего не известно про 1С )
4. Ibrogim 1311 29.02.16 13:06 Сейчас в теме
Я думаю, любому технически подкованному специалисту должно быть понятно, что Java умеет работать с веб-сервисами.

Я думаю, любому технически подкованному специалисту должно быть понятно, что 1С умеет работать с веб-сервисами.

Итого о чём статья? о том, что есть ksoap2 и все умеют работать с вебсервисами (Java ,1С)
5. solarisman 149 29.02.16 13:13 Сейчас в теме
Итого о чём статья?


Серия уроков по созданию простейшего приложения на платформе Android для взаимодействия с 1С.


Просто и доступно хочу людям донести то, на чем сам набил кучу шишек и потратил много времени.
Aligator69; WKBAPKA; +2 Ответить
6. mihey 11 29.02.16 14:07 Сейчас в теме
Если делать такую интеграцию, как по мне, логичнее использовать REST-сервисы
svetlitsky_sv; +1 Ответить
7. solarisman 149 29.02.16 14:21 Сейчас в теме
(6) mihey, Вполне возможна и такая реализация, тем более 1С развивает поддержку OData. Много зависит от задачи. Конкретно моя была - создать решение под уже существующий веб-сервис и выдумывать работу с REST не пришлось
8. kondrp 1155 29.02.16 14:26 Сейчас в теме
Пишите дальше!
Не обращая внимание на критику.
на данный момент как раз начинаю работать со связкой 1с и андроид, поэтому статья будет очень полезна!
user1725319; Aligator69; Designer1C; AlexK_2012; +4 Ответить
9. mkostya 30 29.02.16 15:57 Сейчас в теме
ждем остальные статьи, так как тема актуальна каждый день.

например мы так и не смогли найти нормальный софт для раздачи заявок из 1С удаленным сотрудникам. Вернее такого софта куча, но оно либо с 1С не работает, либо техподдержка мертва, либо в приложении не возможно сотруднику поставить комментарии, отчет о выполнении...
10. sarun 33 29.02.16 18:40 Сейчас в теме
Имхо, лучше пилить post запросы из андроида к 1с, т.к. ksoap не всегда подходит
11. solarisman 149 29.02.16 19:14 Сейчас в теме
(10) sarun, Уже вроде постарался разъяснить - все зависит от конкретной задачи, я рассматриваю конкретно SOAP. Более того, я буду рад, если кто-то решит задачу посредством REST и мы сможем оценить плюсы и минусы конкретных решений. Передо мной же стояла конкретная задача - написать приложение, работающее с уже существующим веб-сервисом в 1С.

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

Если хотите понимать, какой протокол вам нужен - вот отличнейшая статья
А еще есть тут

SOAP и REST сравнивают не как альтернативы друг другу, а только потому, что есть круг задач, которые решают оба инструмента
cleaner_it; +1 Ответить
12. solarisman 149 29.02.16 19:25 Сейчас в теме
Поскольку в водной статье еще никаких обменов данными нет, давайте дождемся следующей и попробуем разобраться, подойдет ли нам протокол OData.
13. bashinsky 133 01.03.16 08:13 Сейчас в теме
Очень актуально продолжайте в томже духе. тоже начал изучать java и работу с веб сервисами из андроида.
А что в архиве лежит?
14. solarisman 149 01.03.16 08:17 Сейчас в теме
В архиве лежит "болванка" проекта для AndroidStudio с подключенной библиотекой ksoap2, если кому лень ковыряться.
15. flyer 231 02.03.16 09:41 Сейчас в теме
буду следить за вашими постами и публикациями. сам раньше начинал создавать аналогичное для андроид и ios но 1с вовремя выпустили моб.платформу.
16. Dementor 1015 02.03.16 11:03 Сейчас в теме
Пост не очень информативный, но навеял приятные воспоминания. В районе 2013 занимался связкой учетной системы 1С с andoid-телефонами водителей. К сожалению, тогда не было еще мобильной платформы, ни http-сервисов, ни Android Studio, ни ksoap2. На самом деле все не так уже и страшно. Во первых, программирование под Android оказалось таким же как и под 1С; во вторых протокол SOAP простой до безобразия и легко реализуется. Сначала сделал передачу примитивных типов, а через годик для пересылки фоток и архивов реализовал передачу бинарных данных. Потом опыт пригодился для реализации обмена по веб-сервисам из 1С7.7, где ничего похожего на ksoap2 не было и не будет.

Совет автору. У вас же микрозадача и, если у вас в планах нет написания отдельных статей с разбором проблем интеграции с различными версиями Android (о, как же я намучился с одной китайской партией дешевых планшетов на тройке), о реализации пушей из 1С, о борьбе против "злых юзеров" (которые на зло вам и начальству переводят время и отключают GPS и передачу данных), то стоит все описать в одной лаконичной статье. Первая часть просто ни о чем и зря отвлекла внимание.
17. solarisman 149 02.03.16 12:13 Сейчас в теме
(16) Dementor,
Первая часть просто ни о чем и зря отвлекла внимание.

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

Готовлю вторую часть, но местами получается наоборот чересчур тяжелая.
18. siddy 515 04.03.16 13:43 Сейчас в теме
интерес вызывает. когда ждать продолжение?
19. CyberCerber 852 04.03.16 17:01 Сейчас в теме
Тема интересна и актуальна, пишите и постите дальше!
20. Ким 29 04.03.16 18:57 Сейчас в теме
Не, ну это не статья, а так - наживка. только начал читать - а уже прочел.
21. bashinsky 133 04.03.16 22:50 Сейчас в теме
А можно какой-нибудь пример работы с веб сервисом через ваш класс?
22. pro1c@inbox.ru 185 06.03.16 15:22 Сейчас в теме
Автор все правильно делает. Сначала "прототип" статьи и если будет интерес, то продолжит, если нет, то забъет на это!
Я понял так!
Но парадокс в том, что всем это безумно интересно, но ажиотажа не видно!
23. Ким 29 06.03.16 20:53 Сейчас в теме
а как надо проявить ажиотаж?
24. pro1c@inbox.ru 185 07.03.16 13:57 Сейчас в теме
(23) Ким,

а его не надо проявлять, он либо есть, либо его нет!
потребность нужна!
26. solarisman 149 08.03.16 20:34 Сейчас в теме
(23) Ким, На самом деле, мне не нужен ажиотаж. Для меня лично эта статья - как средство наверно и самому систематизировать знания, полученные за последний год - начиная от мобильной платформы, расширений ACODE Tools и других подобных вещей и заканчивая нативной разработкой.

Не менее интересно мнение и сообщества, иначе статей не было бы. И что касается REST и всего остального, что в дальнейшем будет обсуждаться - все это мне интересно.

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

То есть для меня самое важное - реакция сообщества в конструктивном плане, а не в плане "Уау! Статья по ондроеду!"
25. solarisman 149 08.03.16 09:50 Сейчас в теме
27. WKBAPKA 214 09.03.16 10:47 Сейчас в теме
автору большой респект. сам плотно изучаю андроид, и времени что бы разобраться уходит уйма. в основном учишься на примерах.
Статья очень полезная (правда я уже и вторую часть статьи просмотрел).
28. kiros 52 09.03.16 12:25 Сейчас в теме
Спасибо Автору! Серия статей это именно то что нужно. Надеюсь в скором времени воспользоваться Вашим опытом.
29. gradi 5 09.03.16 16:17 Сейчас в теме
А почему бы не делать аналогичную задачу используя мобильную платформу 1С?
30. solarisman 149 09.03.16 16:43 Сейчас в теме
(29) gradi,
Ну во-первых, цель - рассмотреть работу с веб-сервисами в нативном приложении Android.
Кучу примеров могу привести, когда нативное приложение "интереснее".
31. WKBAPKA 214 15.03.16 09:59 Сейчас в теме
(29) gradi, ага, читал статью, как сделать простое приложение на мобильной версии 1С, типа Hello, world. apk файл в 30 МБ :)

+ еще с лицензированием есть свои заморочки
+ врядли 1С реализовало полноценный Java :)
Оставьте свое сообщение