Работа с системой 1С через веб-клиент на мобильных устройствах часто сопровождается проблемами визуального характера: формы растягиваются, списки уходят за пределы видимости, а элементы управления становятся слишком мелкими или неудобными для нажатия. Разберем подробно, как адаптировать интерфейс для комфортной работы пользователей со смартфонов, и проанализируем, какие инструменты платформы 1С подходят для этого лучше всего.
Первая и самая распространенная проблема — фиксированная ширина форм, которая не вписывается в экран мобильного телефона. Рассмотрим, как сделать интерфейс «резиновым» средствами конфигуратора. Вместо обычных групп в управляемой форме мы можем использовать специальные возможности группировки элементов.
Проанализируем работу свойства Вид группы. Для мобильных интерфейсов рекомендуется устанавливать значение Панель потока (Flow Panel). В отличие от обычной группы, элементы внутри панели потока автоматически переносятся на новую строку, если их суммарная ширина превышает ширину экрана. Это позволяет избежать появления горизонтальной прокрутки.
Разберем основные настройки для элементов формы:
РастягиватьПоГоризонтали в значение Да.Отображение для групп, чтобы скрывать заголовки, экономя место по вертикали.Выясним причину, по которой работа в браузере часто оказывается менее удобной, чем в специализированном приложении. Платформа 1С предлагает технологию Мобильный клиент. Рассмотрим, чем он отличается от мобильного приложения и веб-клиента:
Мобильный клиент — это тонкий клиент для смартфонов. Он не требует создания отдельной конфигурации со своей базой данных (как мобильное приложение), а подключается напрямую к основной информационной базе в режиме онлайн. При этом платформа автоматически адаптирует стандартные элементы интерфейса под сенсорный ввод и небольшие экраны.
Чтобы запустить Мобильный клиент, выполним следующие шаги:
1ce-client.apk (для Android) или соответствующий пакет для iOS.Важно помнить: хотя мобильный клиент и адаптирует формы автоматически, для достижения идеального результата лучше создать отдельные формы для мобильных устройств в самой конфигурации, пометив их соответствующим признаком в свойствах.
Если же стоит задача работать именно через браузер, нам необходимо научить систему понимать, что пользователь зашел с телефона. Рассмотрим ситуацию: СистемнаяИнформация.ТипПлатформы в веб-клиенте часто возвращает общее значение, не позволяющее однозначно идентифицировать смартфон. Разберем способ определения устройства через разрешение экрана.
Посмотрим на пример кода, который поможет нам сориентироваться:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
СведенияОбЭкранах = ПолучитьИнформациюЭкрановКлиента();
Для Каждого Экран Из СведенияОбЭкранах Цикл
Если Экран.Ширина < 800 Тогда
// Вероятно, это мобильное устройство или очень узкое окно
АдаптироватьИнтерфейсДляМобильного();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Более надежный метод — анализ User-Agent браузера. Это строка, которую браузер передает серверу и в которой содержится информация об операционной системе и типе устройства. Проанализируем, как получить эти данные через параметры запроса при публикации или с помощью исполнения JS-кода в поле HTML-документа, если конфигурация позволяет использовать такие расширения.
В современных версиях платформы 8.3 предусмотрен «Компактный режим» интерфейса. Он уменьшает размеры шрифтов и отступов, что критически важно для мобильных экранов. Выясним, как активировать его без необходимости заставлять пользователя копаться в настройках.
Мы можем добавить специальный параметр прямо в URL-ссылку, по которой пользователи переходят в базу. Добавим в конец адреса строку ?display=compact. Например:
https://server.com/my_base/?display=compact
Это заставит веб-клиент отображаться в более плотной верстке, что значительно улучшит восприятие длинных списков заявок.
Списки заявок — основной инструмент мобильного пользователя. Чтобы они не «расползались», проанализируем следующие рекомендации:
В ячейке. Это позволит расположить данные друг под другом внутри одной строки списка (например, номер заявки сверху, а дата — под ним). Это экономит горизонтальное пространство.ПоложениеКоманднойПанели в значение Авто или Нет, чтобы освободить место для строк данных.Таким образом, мы видим, что решение проблемы «растянутого» интерфейса кроется в комплексном подходе: использовании Панелей потока для верстки, применении параметра display=compact для URL и, в идеале, переходе на использование Мобильного клиента 1С, который изначально спроектирован для подобных задач.