Как исправить проблему со скроллингом и отображением элементов в 1С на ТСД через RDP?

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

При работе с мобильными устройствами, такими как терминалы сбора данных (ТСД) марки UROVO, разработчики часто сталкиваются с тем, что интерфейс, привычный для стационарных компьютеров, ведет себя непредсказуемо. Одной из самых раздражающих проблем является некорректный скроллинг в управляемых формах: вместо привычного пролистывания списка пальцем система начинает «захватывать» и перемещать строку (эффект Drag-and-drop). Рассмотрим подробно, почему это происходит и как настроить систему для комфортной работы складского персонала.

Почему вместо прокрутки списка происходит перемещение строки?

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

  1. Версия Windows Server: В Windows Server 2008 поддержка сенсорного ввода была реализована на базовом уровне. Начиная с Windows Server 2012, архитектура обработки жестов существенно изменилась. Если сервер не понимает, что к нему подключились с сенсорного устройства, он транслирует касание как «зажатие левой кнопки мыши».
  2. Режим работы RDP-клиента: Большинство клиентов RDP на Android (Urovo работает на этой ОС) имеют два режима: «Указатель» (Mouse Mode) и «Сенсорный ввод» (Touch Mode). В режиме указателя любое движение по экрану при нажатии система воспринимает как перемещение курсора с зажатой кнопкой, что в управляемых формах 1С автоматически активирует механизм Drag-and-drop.
  3. Особенности платформы 1С: Платформа 8.3 в управляемых формах более чувствительна к событиям перетаскивания в табличных частях и динамических списках.

Способы решения проблемы скроллинга

Рассмотрим по шагам, какие настройки необходимо изменить для устранения «захвата» строк:

1. Настройка RDP-клиента на ТСД. Проверьте настройки приложения, через которое запускается удаленный рабочий стол. Найдите опцию управления вводом и принудительно переключите её в режим Touch. В этом режиме клиент будет передавать серверу именно жесты прокрутки, а не координаты курсора мыши.

2. Установка компонента Desktop Experience. Если вы используете Windows Server 2012 или выше, убедитесь, что в системе установлена роль (фича) Возможности рабочего стола (Desktop Experience). Без неё сервер игнорирует расширенные сенсорные жесты, превращая их в клики мышью. После установки компонента сервер начнет корректно распознавать жесты «взмаха» для прокрутки списков.

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

После этого система перестанет пытаться «схватить» строку при долгом или резком касании, и стандартный механизм прокрутки ОС начнет отрабатывать стабильнее.

Оптимизация интерфейса: решение проблемы с заголовками

Часто при увеличении шрифта для удобства кладовщиков заголовки полей (например, «Контрагент») перестают помещаться на экране или обрезаются. Рассмотрим, как грамотно расширить или перенести заголовки.

Вариант 1: Изменение положения заголовка. Самый простой способ — перенести текст над поле ввода. Для этого в свойствах элемента (Поле ввода) найдите параметр ПоложениеЗаголовка и выберите значение Верх. Это освободит место по горизонтали и позволит заголовку занимать всю ширину экрана ТСД.

Вариант 2: Использование декораций. Если стандартный заголовок не поддается настройке, можно полностью его отключить, установив ПоложениеЗаголовка в значение Нет, и добавить над полем элемент типа Декорация — Надпись. Посмотрим на пример настройки такого элемента:


// Пример программной настройки декорации для ТСД
ЭлементНадпись = Элементы.Добавить("НадписьКонтрагент", Тип("ДекорацияФормы"));
ЭлементНадпись.Вид = ВидДекорацииФормы.Надпись;
ЭлементНадпись.Заголовок = "Контрагент (увеличенный шрифт):";
ЭлементНадпись.Ширина = 20; // Устанавливаем фиксированную ширину

Вариант 3: Компактный режим. В свойствах самой управляемой формы можно включить ВариантМасштабирования — Компактный. Это уменьшит нецелевые отступы между элементами, что критически важно для маленьких экранов с разрешением 240х320 или 480х640.

Общие рекомендации по проектированию интерфейса для ТСД

Проанализируем опыт внедрений на крупных складах. Использование «взрослого» интерфейса 1С на мобильном устройстве через RDP — это всегда компромисс. Для достижения максимальной эффективности работы сотрудников рекомендуется придерживаться следующих правил:

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

← На главную