При разработке мобильных интерфейсов в 1С разработчики часто сталкиваются с ситуацией, когда в управляемой форме требуется отобразить таблицу с большим количеством колонок. В альбомной ориентации данные могут помещаться, но в портретной ориентации часть колонок обрезается, а привычный горизонтальный свайп вместо прокрутки таблицы открывает боковое системное меню приложения. Разберем особенности платформы, выясним причины такого поведения и рассмотрим лучшие практические решения для вывода многоколоночных данных на мобильных устройствах.
Проанализируем технические ограничения и логику работы мобильной платформы 1С:
ГоризонтальнаяПолосаПрокрутки, а также свойства ФиксацияСлева и ФиксацияСправа не функционируют так, как на настольном клиенте.Рассмотрим подробнее эффективные варианты адаптации интерфейса и вывода объемных данных.
Если необходимо сохранить использование стандартной таблицы управляемой формы, применим группировку элементов. Платформа 1С позволяет объединять несколько колонок в одну физическую колонку, располагая значения друг под другом.
Разберем по шагам, как это настроить в конфигураторе:
Группировка в значение В колонке (ГруппировкаКолонок.ВКолонке).В результате таблица займет значительно меньше места по ширине, а каждая строка отобразит данные компактно в несколько текстовых ярусов.
Платформа 1С предоставляет встроенные механизмы автоматической адаптации колонок под экраны с разным разрешением:
ПоведениеПриСжатииПоГоризонтали.ВажностьПриОтображении (значения от ОченьВысокая до ОченьНизкая).При открытии формы на узком экране платформа автоматически скроет колонки с низким приоритетом либо перенесет их содержимое на дополнительные подстроки, сохранив ключевые реквизиты видимыми.
Дополнительно можно программно управлять видимостью колонок в зависимости от ориентации и разрешения устройства:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Настроим видимость колонок под текущий экран
АдаптироватьКолонкиПодЭкран();
КонецПроцедуры
&НаКлиенте
Процедура АдаптироватьКолонкиПодЭкран()
// Скрываем второстепенные реквизиты для компактных экранов
Элементы.ТаблицаДокументовКомментарий.Видимость = Ложь;
Элементы.ТаблицаДокументовПодразделение.Видимость = Ложь;
КонецПроцедуры
Если задача заключается только в просмотре большого массива данных (например, выборка из 20–30 колонок, полученная через веб-сервис из центральной базы), оптимально использовать элемент Поле табличного документа.
В отличие от таблицы формы, ТабличныйДокумент в мобильной платформе поддерживает полноценное масштабирование (pinch-to-zoom) и свободную прокрутку во всех направлениях (по вертикали и горизонтали). Пользователь сможет легко отдалить документ для общего обзора или приблизить конкретный участок таблицы.
Для интерактивной работы с большим количеством реквизитов рекомендуется разделить представление данных:
Если бизнес-требования строго предписывают наличие классической многоколоночной таблицы с горизонтальным скроллом, используем элемент Поле HTML-документа.
Сформируем HTML-таблицу внутри контейнера со свойством горизонтального переполнения overflow-x: auto. Внутри встроенного веб-компонента мобильная ОС корректно обрабатывает горизонтальные свайпы для прокрутки контента, не вызывая системные меню платформы.