Как реализовать горизонтальный скроллинг или отобразить много колонок в таблице мобильного приложения 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке мобильных интерфейсов в 1С разработчики часто сталкиваются с ситуацией, когда в управляемой форме требуется отобразить таблицу с большим количеством колонок. В альбомной ориентации данные могут помещаться, но в портретной ориентации часть колонок обрезается, а привычный горизонтальный свайп вместо прокрутки таблицы открывает боковое системное меню приложения. Разберем особенности платформы, выясним причины такого поведения и рассмотрим лучшие практические решения для вывода многоколоночных данных на мобильных устройствах.

Почему в мобильной платформе 1С не работает горизонтальная прокрутка таблиц?

Проанализируем технические ограничения и логику работы мобильной платформы 1С:

  1. Резервирование жестов платформой: горизонтальные свайпы на сенсорном экране мобильного устройства зарезервированы самой платформой 1С и операционной системой под системные навигационные действия (например, вызов боковой шторки/меню или возврат назад). Платформа не передает эти жесты элементу формы «Таблица».
  2. Игнорирование свойств скролла и фиксации: в мобильном клиенте и мобильной платформе стандартные свойства таблицы ГоризонтальнаяПолосаПрокрутки, а также свойства ФиксацияСлева и ФиксацияСправа не функционируют так, как на настольном клиенте.
  3. Концепция мобильного UX: мобильные экраны предназначены для вертикального скроллинга компактных блоков информации. Попытка перенести настольную таблицу из 15–30 колонок на экран смартфона напрямую противоречит принципам мобильного дизайна.

Рассмотрим подробнее эффективные варианты адаптации интерфейса и вывода объемных данных.

Вариант 1. Группировка колонок «В колонке»

Если необходимо сохранить использование стандартной таблицы управляемой формы, применим группировку элементов. Платформа 1С позволяет объединять несколько колонок в одну физическую колонку, располагая значения друг под другом.

Разберем по шагам, как это настроить в конфигураторе:

  1. Откроем форму мобильного приложения и перейдем к дереву элементов таблицы.
  2. Добавим новую группу колонок внутри таблицы.
  3. Установим у созданной группы свойство Группировка в значение В колонке (ГруппировкаКолонок.ВКолонке).
  4. Переместим зависимые реквизиты (например, «Номер» и «Дата», или «Контрагент» и «Сумма») внутрь этой группы.

В результате таблица займет значительно меньше места по ширине, а каждая строка отобразит данные компактно в несколько текстовых ярусов.

Вариант 2. Использование свойств сжатия и важности колонок

Платформа 1С предоставляет встроенные механизмы автоматической адаптации колонок под экраны с разным разрешением:

  1. У элемента «Таблица» на форме установим свойство ПоведениеПриСжатииПоГоризонтали.
  2. Для каждой колонки таблицы настроим свойство ВажностьПриОтображении (значения от ОченьВысокая до ОченьНизкая).

При открытии формы на узком экране платформа автоматически скроет колонки с низким приоритетом либо перенесет их содержимое на дополнительные подстроки, сохранив ключевые реквизиты видимыми.

Дополнительно можно программно управлять видимостью колонок в зависимости от ориентации и разрешения устройства:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    // Настроим видимость колонок под текущий экран
    АдаптироватьКолонкиПодЭкран();
КонецПроцедуры

&НаКлиенте
Процедура АдаптироватьКолонкиПодЭкран()
    // Скрываем второстепенные реквизиты для компактных экранов
    Элементы.ТаблицаДокументовКомментарий.Видимость = Ложь;
    Элементы.ТаблицаДокументовПодразделение.Видимость = Ложь;
КонецПроцедуры

Вариант 3. Использование табличного документа (для отчетов и просмотра)

Если задача заключается только в просмотре большого массива данных (например, выборка из 20–30 колонок, полученная через веб-сервис из центральной базы), оптимально использовать элемент Поле табличного документа.

В отличие от таблицы формы, ТабличныйДокумент в мобильной платформе поддерживает полноценное масштабирование (pinch-to-zoom) и свободную прокрутку во всех направлениях (по вертикали и горизонтали). Пользователь сможет легко отдалить документ для общего обзора или приблизить конкретный участок таблицы.

Вариант 4. Карточная модель интерфейса (Master-Detail)

Для интерактивной работы с большим количеством реквизитов рекомендуется разделить представление данных:

  1. В основной таблице оставляем только 2–3 ключевых поля (например, текущий статус, номер и наименование).
  2. При активизации строки таблицы отображаем все остальные 25 колонок в виде компактной информационной карточки (группы реквизитов) в нижней части экрана либо открываем отдельную форму детального просмотра по клику.

Вариант 5. Отображение широкой сетки через Поле HTML-документа

Если бизнес-требования строго предписывают наличие классической многоколоночной таблицы с горизонтальным скроллом, используем элемент Поле HTML-документа.

Сформируем HTML-таблицу внутри контейнера со свойством горизонтального переполнения overflow-x: auto. Внутри встроенного веб-компонента мобильная ОС корректно обрабатывает горизонтальные свайпы для прокрутки контента, не вызывая системные меню платформы.

← На главную