Часто возникает ситуация, когда типовое мобильное приложение 1С, скачанное из Google Play или App Store, работает отлично, но требует небольших визуальных или функциональных правок. Например, нужно убрать лишние элементы на форме списка номенклатуры, скрыть ненужные кнопки или изменить обработку некоторых событий. Рассмотрим подробнее, реально ли доработать такое приложение, и разберем по шагам, как это правильно сделать.
Прежде чем приступать к доработкам, выясним причину частых неудач у разработчиков. Главная путаница заключается в подмене понятий. Платформа 1С предлагает две принципиально разные технологии для работы на мобильных устройствах:
.apk файл практически невозможно.Проанализируем нашу ситуацию: то, что пользователи скачивают из магазинов приложений под названием «1С:Управление торговлей» (начиная с новых версий) — это именно Мобильный клиент. В нем нет собственной сложной бизнес-логики, которую нужно декомпилировать. Вся структура, формы и модули подтягиваются "на лету" из вашей основной базы 1С.
Короткий ответ: нет, не нужны. Поскольку приложение выступает лишь "браузером" для вашей базы, вам не придется собирать собственный файл установки или искать исходные коды. "Исходником" является ваша рабочая конфигурация 1С:УТ на сервере.
Все изменения следует делать в вашей основной конфигурации. Чтобы не снимать базу с поддержки и не усложнять дальнейшие обновления, настоятельно рекомендуем использовать Расширения конфигурации.
Посмотрим на пример: вы создали расширение, перенесли туда форму списка номенклатуры и попытались ее изменить, но на мобильном устройстве ничего не поменялось. Почему так происходит? Разберем основные правила адаптации форм:
Чтобы алгоритмы и изменения интерфейса применялись исключительно на смартфонах и не затрагивали пользователей, работающих на ПК, необходимо использовать специальные директивы компиляции. Посмотрим на код, который помогает разделить логику работы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
#Если МобильныйКлиент Тогда
// Скрываем ненужные элементы только для мобильного устройства
Элементы.ГруппаДополнительныеРеквизиты.Видимость = Ложь;
Элементы.КнопкаСложногоРасчета.Видимость = Ложь;
// Меняем заголовок для компактности
ЭтаФорма.Заголовок = "Номенклатура";
#Иначе
// Логика для обычного тонкого или веб-клиента на ПК
Элементы.ГруппаДополнительныеРеквизиты.Видимость = Истина;
#КонецЕсли
КонецПроцедуры
Используя конструкцию #Если МобильныйКлиент Тогда, мы гарантируем, что код выполнится только в тот момент, когда к базе подключатся через мобильное приложение 1С:УТ. Это касается не только настройки видимости, но и обработки событий: например, если нужно изменить реакцию на выбор строки в списке.
Подведем итог и составим план совместной работы над кастомизацией:
ПриОткрытии или ПриСозданииНаСервере) с использованием директив препроцессора для мобильного клиента.Таким образом, доработка типового приложения 1С:УТ из маркета — это вполне реальная и стандартная задача, которая решается базовыми средствами платформы через расширения, без необходимости поиска закрытых исходных кодов.