Разработка мобильных решений на платформе 1С:Предприятие 8.3 давно перестала быть «баловством» и превратилась в мощный инструмент для корпоративного сектора. Сегодня мобильные приложения на 1С автоматизируют работу курьеров, торговых представителей, складских работников и руководителей. В этой статье мы подробно разберем, с чего начать изучение этой области, какие технологии выбрать для решения конкретных задач и как организовать надежный обмен данными между мобильным устройством и центральной базой.
Перед началом разработки нам необходимо определиться с архитектурой будущего решения. Система 1С предлагает три принципиально разных подхода, каждый из которых подходит под свои задачи. Проанализируем их подробнее:
Если ваша задача — создание упрощенного документа с последующей выгрузкой в центральную базу (как упоминалось в обсуждении), выбор технологии будет зависеть от стабильности интернета на местах работы пользователей. Разберем ситуацию, когда выбрана автономная Мобильная платформа.
Рассмотрим подробнее механизм обмена данными, если вы разрабатываете автономное приложение. На сегодняшний день наиболее актуальным и производительным способом является использование HTTPСервисы. В отличие от тяжеловесных планов обмена или веб-сервисов (SOAP), HTTP-сервисы позволяют передавать данные в легком формате JSON.
Посмотрим на пример того, как может выглядеть отправка данных из мобильного приложения на сервер. Предположим, нам нужно передать созданный на телефоне документ:
// Код на стороне мобильного приложения
Процедура ОтправитьДокументНаСервер(СсылкаНаДокумент)
// Подготавливаем данные в формате JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписьДанных = СсылкаНаДокумент.ПолучитьОбъект();
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ЗаписьДанных, НазначениеТипаXML.Явное);
СтрокаJSON = ЗаписьJSON.Закрыть();
// Настраиваем соединение
НТТРСоединение = Новый HTTPСоединение("myserver.com", , "user", "password");
Запрос = Новый HTTPЗапрос("/v1/exchange/post_document");
Запрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8);
// Отправляем данные
Попытка
Ответ = НТТРСоединение.ОтправитьДляОбъекта(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Данные успешно переданы");
КонецЕсли;
Исключение
Сообщить("Ошибка связи: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
На стороне центральной базы нам необходимо создать объект HTTPСервис, который примет этот запрос, распарсит JSON и создаст соответствующий документ в основной базе. Это позволяет гибко управлять логикой синхронизации и обрабатывать конфликты данных.
Разберем важный нюанс: хотя мобильное приложение использует те же Управляемые формы, что и десктопная версия, визуальное отображение значительно отличается. Разработчику необходимо учитывать ограниченное пространство экрана.
Проанализируем основные правила проектирования мобильного интерфейса в 1С:
ПутьКДаннымЗаголовка и ПутьКДаннымПодвала для группировки информации.Одним из главных преимуществ мобильной платформы 1С является доступ к «железу» устройства. Выясним, какие объекты платформы за это отвечают:
Для работы с камерой и сканирования штрихкодов используется объект СредстваМультимедиа. Это позволяет превратить обычный телефон в терминал сбора данных (ТСД) без покупки дорогостоящего оборудования.
// Пример вызова сканирования штрихкода
Процедура СканироватьКод(Команда)
#Если МобильноеПриложениеКлиент Тогда
ОбработчикСканирования = Новый ОписаниеОповещения("ПослеСканирования", ЭтаФорма);
СредстваМультимедиа.ПоказатьСканированиеШтрихКодов("Наведите камеру на код", ОбработчикСканирования);
#КонецЕсли
КонецПроцедуры
Процедура ПослеСканирования(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
ТекШтрихкод = Результат.Значение;
// Поиск товара по штрихкоду
КонецЕсли;
КонецПроцедуры
Также платформа позволяет работать с геопозиционированием (получение координат текущего местоположения), push-уведомлениями и NFC-метками. Все это реализовано через встроенные объекты встроенного языка, что значительно упрощает разработку по сравнению с нативными языками (Swift или Java).
Выясним причину, почему разработка в конфигураторе — это только половина дела. Чтобы приложение попало на устройство, его нужно «собрать». Для этого 1С предоставляет специальный инструмент — «Сборщик мобильных приложений».
Процесс сборки выглядит следующим образом:
.xml.com.mycompany.myapp)..apk или .aab файла (требуется установленный Android SDK).Для глубокого погружения в тему рекомендуем обратить внимание на следующие источники:
Подведем итог: разработка под 1С — это эффективный способ быстрого создания бизнес-инструментов. Главное — правильно выбрать между Мобильным клиентом для работы в офисе с хорошим Wi-Fi и Мобильной платформой для полевых сотрудников, работающих в условиях нестабильной связи. Использование HTTPСервисы и современных стандартов обмена делает такие решения надежными и масштабируемыми.