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

29.02.16

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

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

Скачать файл

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

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

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

Кому она адресована - разработчику 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С 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    1220    6    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2621    29    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1327 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 1327 29.02.16 13:05 Сейчас в теме
(2)
Ведь с тем как работать с веб-сервисом 1С не все так прозрачно

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

ksoap2 ничего не известно про 1С )
4. Ibrogim 1327 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 1156 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 135 01.03.16 08:13 Сейчас в теме
Очень актуально продолжайте в томже духе. тоже начал изучать java и работу с веб сервисами из андроида.
А что в архиве лежит?
14. solarisman 149 01.03.16 08:17 Сейчас в теме
В архиве лежит "болванка" проекта для AndroidStudio с подключенной библиотекой ksoap2, если кому лень ковыряться.
15. flyer 233 02.03.16 09:41 Сейчас в теме
буду следить за вашими постами и публикациями. сам раньше начинал создавать аналогичное для андроид и ios но 1с вовремя выпустили моб.платформу.
16. Dementor 1035 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 317 04.03.16 13:43 Сейчас в теме
интерес вызывает. когда ждать продолжение?
19. CyberCerber 872 04.03.16 17:01 Сейчас в теме
Тема интересна и актуальна, пишите и постите дальше!
20. Ким 29 04.03.16 18:57 Сейчас в теме
Не, ну это не статья, а так - наживка. только начал читать - а уже прочел.
21. bashinsky 135 04.03.16 22:50 Сейчас в теме
А можно какой-нибудь пример работы с веб сервисом через ваш класс?
22. pro1c@inbox.ru 187 06.03.16 15:22 Сейчас в теме
Автор все правильно делает. Сначала "прототип" статьи и если будет интерес, то продолжит, если нет, то забъет на это!
Я понял так!
Но парадокс в том, что всем это безумно интересно, но ажиотажа не видно!
23. Ким 29 06.03.16 20:53 Сейчас в теме
а как надо проявить ажиотаж?
24. pro1c@inbox.ru 187 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 215 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 215 15.03.16 09:59 Сейчас в теме
(29) gradi, ага, читал статью, как сделать простое приложение на мобильной версии 1С, типа Hello, world. apk файл в 30 МБ :)

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