Разберем распространенную техническую проблему: при открытии веб-клиента 1С через мобильный браузер на смартфоне начальная страница отображается некорректно. Область просмотра растягивается в 5–6 раз шире реального экрана устройства, из-за чего шрифт и элементы интерфейса становятся микроскопическими, а читать текст без постоянного ручного приближения становится невозможно.
Проанализируем причины такого поведения платформы, а также детально рассмотрим все доступные способы решения этой задачи — от базовой настройки свойств управляемых форм до применения специальных архитектурных решений.
Выясним, почему стандартный веб-клиент мелко отображается на экранах телефонов. Веб-клиент 1С изначально разрабатывался для десктопных браузеров и мониторов с шириной рабочей области от 1024 пикселей и выше. Когда мобильный браузер загружает веб-клиент, происходят следующие процессы:
Рассмотрим наиболее технологичное и официальное решение фирмы «1С». Начиная с версии платформы 8.3.12, для работы с мобильных устройств рекомендуется использовать не веб-клиент в браузере, а 1С:Мобильный клиент.
Мобильный клиент представляет собой полноценное приложение под Android и iOS, которое динамически подключается к информационной базе и автоматически трансформирует управляемый интерфейс:
Если требуется, чтобы начальная страница или формы конфигурации корректно сжимались под небольшие экраны, проанализируем настройки свойств элементов в Конфигураторе.
Разберем по шагам, какие свойства элементов формы необходимо изменить:
Ширина в значение 0, а свойство АвтоМаксимальнаяШирина переведите в значение Истина. Это позволит элементам сжиматься до минимально допустимых размеров.Группировка в значение Горизонтальная если возможно или Вертикальная. В этом случае на узких экранах элементы будут выстраиваться друг под другом.ВажностьПриОтображении (значения: Высокая, Обычная, Низкая). На узких экранах элементы с низкой важностью будут автоматически скрываться платформой, освобождая место.Посмотрим на пример программной установки свойств элементов формы при ее открытии:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Обходим элементы формы и снимаем жесткие ограничения по ширине
Для Каждого Элемент Из Элементы Цикл
Если ТипЗнч(Элемент) = Тип("ПолеФормы") Или ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда
Элемент.Ширина = 0;
Элемент.АвтоМаксимальнаяШирина = Истина;
ИлиЕсли ТипЗнч(Элемент) = Тип("ГруппаФормы") Тогда
Элемент.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяЕслиВозможно;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Рассмотрим вариант быстрого решения проблемы на стороне пользователя без изменения конфигурации. В интерфейсе «Такси» встроен механизм пользовательского масштабирования.
Выполним следующие действия в мобильном браузере:
В ситуациях, когда мобильным пользователям требуется лишь часть функций (например, просмотр остатков, согласование заявок или вводом заказов), оптимальным архитектурным решением является разделение бэкенда и фронтенда.
Проанализируем структуру этого подхода:
HTTPСервисы или активируется встроенный REST-интерфейс OData. 1С отвечает только за бизнес-логику и хранение данных.Рассмотрим пример простого HTTP-сервиса в 1С для передачи данных начальной страницы на внешне разработанный веб-интерфейс:
Функция ПолучитьДанныеНачальнойСтраницы(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("Пользователь", Пользователи.ТекущийПользователь().Наименование);
СтруктураДанных.Вставить("ДатаСервера", ТекущаяДата());
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураДанных);
Ответ.УстановитьТелоИзСтроки(ЗаписьJSON.Закрыть());
Возврат Ответ;
КонецФункции
Системные администраторы могут принудительно задать параметры отображения веб-клиента на стороне веб-сервера. Для этого в шаблоны HTML-страниц публикации (находящиеся в каталоге публикации веб-клиента) внедряется метатег Viewport:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
Обратите внимание: данный метод требует ручной правки файлов публикации при каждом обновлении версии платформы 1С:Предприятие, так как файлы веб-клиента перезаписываются заново.
Мы проанализировали основные варианты работы с 1С на мобильных устройствах. Для полноценной и комфортной работы пользователей со стандартными формами следует выбирать 1С:Мобильный клиент. Если же стоит задача дать клиентам или сотрудникам ограниченный функционал с мгновенным доступом из любого мобильного браузера, наиболее эффективным выбором станет разработка отдельного адаптивного PWA-интерфейса, интегрированного с 1С через HTTPСервисы.