Как доработать типовое мобильное приложение 1С:Управление торговлей из Google Play?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Часто возникает ситуация, когда типовое мобильное приложение 1С, скачанное из Google Play или App Store, работает отлично, но требует небольших визуальных или функциональных правок. Например, нужно убрать лишние элементы на форме списка номенклатуры, скрыть ненужные кнопки или изменить обработку некоторых событий. Рассмотрим подробнее, реально ли доработать такое приложение, и разберем по шагам, как это правильно сделать.

Разбираемся в терминологии: Мобильное приложение или Мобильный клиент?

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

  1. Мобильное приложение — это полностью автономная оффлайн-программа со своей собственной локальной базой данных на устройстве. Она лишь периодически синхронизируется с основной серверной базой. Исходный код таких приложений (например, «1С:Кладовщик» или «1С:Мобильная касса») является закрытым, и без предоставления разработчиками конфигурации внести изменения в .apk файл практически невозможно.
  2. Мобильный клиент — это аналог тонкого или веб-клиента для смартфонов. Он работает только при наличии интернета, подключаясь напрямую к опубликованной серверной базе.

Проанализируем нашу ситуацию: то, что пользователи скачивают из магазинов приложений под названием «1С:Управление торговлей» (начиная с новых версий) — это именно Мобильный клиент. В нем нет собственной сложной бизнес-логики, которую нужно декомпилировать. Вся структура, формы и модули подтягиваются "на лету" из вашей основной базы 1С.

Нужны ли исходники для доработки?

Короткий ответ: нет, не нужны. Поскольку приложение выступает лишь "браузером" для вашей базы, вам не придется собирать собственный файл установки или искать исходные коды. "Исходником" является ваша рабочая конфигурация 1С:УТ на сервере.

Как правильно выполнять доработку интерфейса

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

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

  1. Платформа 1С автоматически трансформирует стандартную управляемую форму под маленькие экраны телефонов.
  2. Если в расширении (или в основной конфигурации) заданы жесткие ограничения по ширине или высоте элементов управления, автоматическая компоновка ломается. Избегайте сложных горизонтальных группировок и фиксированных размеров.
  3. Для скрытия лишних кнопок или полей не нужно удалять их физически. Достаточно программно или через свойства формы управлять их видимостью именно для мобильных устройств.

Использование инструкций препроцессора

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


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    #Если МобильныйКлиент Тогда
        // Скрываем ненужные элементы только для мобильного устройства
        Элементы.ГруппаДополнительныеРеквизиты.Видимость = Ложь;
        Элементы.КнопкаСложногоРасчета.Видимость = Ложь;
        
        // Меняем заголовок для компактности
        ЭтаФорма.Заголовок = "Номенклатура";
    #Иначе
        // Логика для обычного тонкого или веб-клиента на ПК
        Элементы.ГруппаДополнительныеРеквизиты.Видимость = Истина;
    #КонецЕсли
    
КонецПроцедуры

Используя конструкцию #Если МобильныйКлиент Тогда, мы гарантируем, что код выполнится только в тот момент, когда к базе подключатся через мобильное приложение 1С:УТ. Это касается не только настройки видимости, но и обработки событий: например, если нужно изменить реакцию на выбор строки в списке.

Краткий алгоритм действий

Подведем итог и составим план совместной работы над кастомизацией:

  1. Убедитесь, что ваша база опубликована на веб-сервере и доступна извне.
  2. Создайте новое Расширение в конфигураторе вашей основной базы.
  3. Добавьте в расширение нужную форму (например, форму списка справочника).
  4. Изучите форму на предмет жестко заданных размеров и группировок. По возможности снимите ограничения, чтобы мобильная платформа смогла корректно "сложить" элементы.
  5. В модуле формы переопределите необходимые события (например, ПриОткрытии или ПриСозданииНаСервере) с использованием директив препроцессора для мобильного клиента.
  6. Обновите расширение в базе данных, перезапустите приложение на смартфоне и проверьте результат.

Таким образом, доработка типового приложения 1С:УТ из маркета — это вполне реальная и стандартная задача, которая решается базовыми средствами платформы через расширения, без необходимости поиска закрытых исходных кодов.

← На главную