Разработка мобильного клиента для существующей системы «1С:Управление торговлей 11» (УТ 11) — это эффективный способ автоматизировать работу торговых представителей и менеджеров «в полях». Часто штатные решения, такие как «1С:Заказы», могут не подходить из-за избыточности или, наоборот, нехватки специфического функционала. В этой статье мы подробно разберем, как пройти путь от идеи до работающего приложения на смартфоне, избежав типовых ошибок при публикации и настройке.
Проанализируем самую частую проблему, с которой сталкиваются разработчики при первой попытке запустить мобильный клиент. Ошибка «Неверный формат конфигурации» обычно возникает не из-за повреждения базы, а из-за несоответствия технологических стеков. Выясним основные причины:
Перед началом кодинга нам необходимо определиться с типом мобильного решения. Рассмотрим два основных пути:
Мобильный клиент (МК) — это «зеркало» вашей основной базы УТ 11. Он работает напрямую с данными сервера в режиме онлайн. Это оптимальный выбор для заказов, так как не нужно писать сложные правила обмена. Однако он требует стабильного интернет-соединения.
Мобильный клиент с автономным режимом — это гибридная схема. Часть данных (например, справочники товаров и контрагентов) кэшируется на устройстве, что позволяет создавать заказы даже в подвалах или местах с плохой связью. При появлении интернета данные синхронизируются автоматически.
Мобильное приложение (МП) — полностью независимая база. Мы не рекомендуем этот путь для простой задачи «создание заказов», так как разработка обмена данными через ПланыОбмена или HTTP-сервисы значительно увеличит бюджет и сроки проекта.
Разберем по шагам процесс публикации. Для работы нам понадобится веб-сервер (Apache или IIS). После стандартной процедуры публикации в каталоге базы появится файл default.vrd. Проанализируем его содержимое. Для корректной работы мобильного клиента в секции <point> должны быть правильно указаны параметры доступа к мобильным сервисам.
Если планируется работа в автономном режиме, в файле публикации необходимо прописать URL для синхронизации метаданных. Это позволит мобильному клиенту «понимать», какие изменения произошли в основной конфигурации УТ 11 без полной переустановки приложения.
Просто запустить УТ 11 на смартфоне недостаточно — стандартные формы заказов перегружены реквизитами и не помещаются на маленьком экране. Нам необходимо создать специализированное АРМ (автоматизированное рабочее место). Рассмотрим, как это сделать программно.
Используем инструкции препроцессора для разделения логики. Посмотрим на пример кода в модуле формы, который позволяет скрыть лишние элементы только для мобильных пользователей:
&Если МобильныйКлиент Тогда
Элементы.ГруппаЛеваяПанель.Видимость = Ложь;
Элементы.СпецификацияТовары.Отображение = ОтображениеТаблицы.Список;
Элементы.ДатаОтгрузки.Видимость = Ложь;
&КонецЕсли
В мобильном клиенте рекомендуется использовать свойство формы «Отображение в мобильном клиенте». Переключим его в значение «Авто», но для табличных частей документов «Заказ клиента» лучше настроить компактное отображение, где важные реквизиты (Номенклатура, Цена, Количество) выводятся в одну строку или в виде карточек.
Многие начинающие разработчики совершают ошибку, пытаясь сразу собрать APK-файл через «Сборщик мобильных приложений». Это трудоемкий процесс, требующий настройки Android SDK. Выясним, как упростить жизнь на этапе разработки:
http://192.168.1.5/my_base) и выберем тип «Мобильный клиент».Это позволит мгновенно видеть изменения, внесенные в Конфигураторе, без пересборки пакетов.
Иногда создание полноценного мобильного клиента является избыточным. Проанализируем ситуацию: если вашим менеджерам нужно просто «накидать» товар в корзину и отправить его в 1С, Telegram-бот может стать отличным решением. Его преимущества:
HTTP-запросы.Рассмотрим пример того, как 1С может принимать данные от бота и создавать документ ЗаказКлиента:
Функция СоздатьЗаказИзТелеграм(ДанныеЗаказа) Экспорт
НовыйЗаказ = Документы.ЗаказКлиента.СоздатьОбъект();
НовыйЗаказ.Дата = ТекущаяДата();
НовыйЗаказ.Партнер = Справочники.Партнеры.НайтиПоНаименованию(ДанныеЗаказа.ИмяКлиента);
Для Каждого СтрокаТовара Из ДанныеЗаказа.Товары Цикл
НоваяСтрока = НовыйЗаказ.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СтрокаТовара.Код);
НоваяСтрока.Количество = СтрокаТовара.Кол;
КонецЦикла;
НовыйЗаказ.Записать(РежимЗаписиДокумента.Проведение);
Возврат НовыйЗаказ.Ссылка;
КонецФункции
Важно помнить, что каждое подключение мобильного клиента расходует одну обычную клиентскую лицензию 1С. Если у вас 20 торговых представителей, убедитесь, что на сервере достаточно свободных лицензий.
При использовании именно мобильного клиента (а не бота), мы получаем доступ к аппаратным функциям смартфона. Проанализируем возможности объекта СредстваМультимедиа. Мы можем использовать камеру как полноценный сканер штрихкодов. Для этого в коде формы вызовем метод для сканирования, который вернет нам штрихкод товара сразу в обработчик события, что значительно ускорит подбор позиций в заказ.
Подводя итог: создание мобильного клиента для УТ 11 — задача вполне решаемая штатными средствами. Главное — правильно настроить веб-публикацию, следить за соответствием версий платформы и уделить внимание адаптации форм под вертикальный экран смартфона.