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

29.02.16

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

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

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
AcceptingOrders
.7z 2,44Mb
44 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

Кому она адресована - разработчику 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.х Управленческий учет Платные (руб)

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

3000 руб.

03.12.2018    64107    218    106    

183

Логистика, склад и ТМЦ Мобильная разработка Программист Руководитель проекта 1С v8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

«Склад 15 ПРОДУКТОВЫЙ» - специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода, объединяет в себе несколько товарных групп маркированного товара (АЛКОГОЛЬ, ПИВО, ТАБАК, ШИНЫ, ОБУВЬ, ОДЕЖДА, ПАРФЮМ, МОЛОКО, ВОДА), которые чаще всего встречаются в складской логистике вместе. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения различной сложности. Позволяет ускорить и упростить действия линейного персонала, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

48000 руб.

30.05.2023    4587    2    0    

1

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

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

13200 руб.

27.12.2021    45256    124    172    

219

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 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. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    107094    650    198    

349

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

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

18500 руб.

30.05.2023    4580    3    0    

5

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

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

19000 руб.

28.04.2023    11549    18    4    

11

Мобильная разработка 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

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

15000 руб.

24.06.2025    754    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1347 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 151 29.02.16 13:00 Сейчас в теме
(1) Ibrogim, Вы поняли неверно. Я думаю, любому технически подкованному специалисту должно быть понятно, что Java умеет работать с веб-сервисами.

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

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

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

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

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


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


Просто и доступно хочу людям донести то, на чем сам набил кучу шишек и потратил много времени.
Aligator69; WKBAPKA; +2 Ответить
6. mihey 11 29.02.16 14:07 Сейчас в теме
Если делать такую интеграцию, как по мне, логичнее использовать REST-сервисы
svetlitsky_sv; +1 Ответить
7. solarisman 151 29.02.16 14:21 Сейчас в теме
(6) mihey, Вполне возможна и такая реализация, тем более 1С развивает поддержку OData. Много зависит от задачи. Конкретно моя была - создать решение под уже существующий веб-сервис и выдумывать работу с REST не пришлось
8. kondrp 1158 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 151 29.02.16 19:14 Сейчас в теме
(10) sarun, Уже вроде постарался разъяснить - все зависит от конкретной задачи, я рассматриваю конкретно SOAP. Более того, я буду рад, если кто-то решит задачу посредством REST и мы сможем оценить плюсы и минусы конкретных решений. Передо мной же стояла конкретная задача - написать приложение, работающее с уже существующим веб-сервисом в 1С.

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

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

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

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

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

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

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

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

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

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

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