Долгое время разработчики мобильных решений на платформе 1С сталкивались с жестким ограничением: интерфейс приложения был неразрывно связан со стандартной желтой цветовой гаммой 1С. Это создавало сложности при выполнении требований заказчиков по соблюдению корпоративного стиля (Brand Book). Однако с развитием платформы ситуация существенно изменилась. В этой статье мы разберем, как легально и технически грамотно изменить оформление вашего мобильного приложения, начиная от цветов панелей и заканчивая заставкой при запуске.
Начиная с версии платформы 8.3.17.87 и выше, фирма 1С официально разрешила и реализовала механизм изменения цветов через обычные стили конфигурации. Рассмотрим, как это работает на практике. Ранее многие свойства оформления были доступны только для настольных приложений, но теперь мобильная платформа полноценно их поддерживает.
Проанализируем основные шаги для смены цветовой гаммы:
Стиль.Если вы используете версию платформы 8.3.15, в которой официальная поддержка еще была ограничена, можно применить небольшую хитрость, которую обнаружили практикующие разработчики. Свойство конфигурации Основной стиль может быть заблокировано для редактирования, если в свойствах конфигурации стоит флаг только мобильного приложения. Мы можем временно включить флаг использования для ПК, установить нужный стиль и вернуть флаг обратно. Свойство не очистится, и при сборке мобильное приложение подхватит настройки стиля.
Вопрос замены стандартной заставки «1С:Предприятие» всегда стоял очень остро. По официальным правилам лицензирования, полное удаление упоминаний 1С может потребовать дополнительных соглашений, однако техническая возможность замены картинки при загрузке существует и активно используется в сборщике мобильных приложений.
Разберем алгоритм замены заставки через Архив графических материалов:
В «Сборщике мобильных приложений» предусмотрены специальные поля для загрузки ресурсов. Нам необходимо подготовить набор изображений в формате PNG для различных разрешений экранов (ldpi, mdpi, hdpi, xhdpi и т.д.).
При сборке приложения пакет mobile.zip будет дополнен вашими материалами, и стандартные картинки заставки будут заменены на ваши корпоративные. Это позволяет сделать приложение визуально уникальным еще на этапе его инициализации в памяти устройства.
Если стандартных возможностей стилей 1С недостаточно (например, требуется сложная градиентная заливка, нестандартные шрифты или анимация), проанализируем вариант использования Поля HTML-документа. Это самый гибкий, хотя и более трудоемкий способ.
Вы можете спроектировать форму 1С, которая будет состоять практически из одного элемента — HTML-поля. Внутри него можно использовать всю мощь CSS3 для оформления:
// Пример формирования HTML-строки для кастомной кнопки
ТекстHTML = "<html><body style='background-color: #f0f0f0;'>"
+ "<div style='padding: 20px; background: linear-gradient(to bottom, #333, #000); color: white; border-radius: 10px; text-align: center;'>"
+ "Нажми меня"
+ "</div></body></html>";
Элементы.ПолеHTML.УстановитьТекст(ТекстHTML);
Этот метод позволяет полностью уйти от «желтизны» и создать интерфейс, который визуально ничем не будет отличаться от нативных приложений, написанных на Java, Kotlin или Swift.
Часто при кастомизации и сборке современных версий мобильной платформы (начиная с 8.3.15) разработчики сталкиваются с технической ошибкой: «Недостаточно оперативной памяти для сборки». Платформа проверяет наличие свободного объема RAM и может блокировать процесс, если у вас менее 8 ГБ.
Если вы уверены в силах своего ПК, но проверка мешает работе, выясним, как ее обойти. В конфигурации сборщика за эту проверку отвечает модуль MobileApplicationBuilding. Мы можем скорректировать условие проверки:
// В процедуре BuildApplication модуля MobileApplicationBuilding
// Найдем строку с проверкой SysInfo.RAM
Если SysInfo.RAM < 8190 Тогда // Было ограничение 8Гб
// Можно изменить на меньшее значение, например:
Если SysInfo.RAM < 4000 Тогда
// Вывод сообщения об ошибке
КонецЕсли;
КонецЕсли;
Важный момент: Современные средства сборки (Gradle, Android SDK) действительно потребляют много ресурсов, поэтому рекомендуется все же иметь 16 ГБ оперативной памяти для стабильной работы.
Необходимо помнить, что глубокое вмешательство в ресурсы платформы (реверс-инжиниринг APK-файла через APK Manager) может нарушать лицензионное соглашение. Поэтому всегда старайтесь использовать официальные методы:
Таким образом, мы рассмотрели эволюцию кастомизации мобильной платформы 1С. Сегодня у разработчика есть все необходимые инструменты для создания красивого, современного и полностью брендированного мобильного приложения, не прибегая к сложным манипуляциям с кодом самой платформы.