В процессе работы с конфигурацией 1С:Зарплата и Управление Персоналом 3.1 (а также в других решениях на управляемых формах) пользователи часто сталкиваются с крайне неприятным поведением интерфейса. При попытке открыть отчет из длинного списка (например, через раздел Кадры — Кадровые отчеты) происходит следующее: пользователь прокручивает страницу вниз, находит нужный отчет, нажимает на него левой или правой кнопкой мыши, но вместо открытия отчета или вызова контекстного меню форма мгновенно «отлетает» в самый верх списка. Только после повторного поиска и нажатия отчет наконец открывается.
В этой статье мы подробно разберем, почему возникает этот эффект «прыжка» формы, какие версии платформы 1С:Предприятие 8 этому подвержены и как окончательно устранить проблему.
Проанализируем ситуацию с технической стороны. Данная проблема не связана с настройками самой конфигурации ЗУП или ошибками в коде БСП (Библиотеки стандартных подсистем). Это классический платформенный баг, связанный с механизмом позиционирования фокуса в динамических списках и управляемых формах с использованием скроллинга (прокрутки).
Разберем по шагам, что происходит в момент клика:
Ситуация значительно усугубляется на мониторах с высоким разрешением, где в настройках операционной системы Windows установлено масштабирование (например, 125% или 150%). В этом случае Тонкий клиент еще чаще ошибается в расчете пикселей, по которым произведен клик.
Рассмотрим, на каких именно релизах пользователи чаще всего фиксируют этот глюк. Проблема носит массовый характер для веток 8.3.24 и 8.3.25. Рассмотрим конкретные примеры:
// Версии, в которых стабильно воспроизводится баг:
Платформа 8.3.23.xxxx (поздние сборки)
Платформа 8.3.24.13xx - 8.3.24.14xx
Платформа 8.3.25.12xx - 8.3.25.1374
Если ваша информационная база запущена на версии 8.3.25.1374, вы практически гарантированно столкнетесь с этим поведением в интерфейсе «Такси».
Поскольку проблема признана разработчиками «1С» как дефект интерфейса, единственным надежным способом исправления является переход на исправленный релиз платформы. Проанализируем, до каких версий необходимо обновиться:
После обновления платформы на стороне сервера и на рабочих станциях пользователей «прыжки» формы при клике мышью прекращаются.
Если по каким-то причинам (например, из-за жестких корпоративных регламентов) вы не можете обновить платформу немедленно, рассмотрим альтернативные методы работы, которые помогут избежать прокрутки:
Вместо того чтобы вручную листать список отчетов вниз, воспользуйтесь строкой поиска в верхней части формы. Введите название отчета. Платформа отфильтрует список, и нужный отчет окажется в верхней части окна (на «первом экране»). Клик по элементу в этой области не вызывает ложного срабатывания скроллинга.
Проанализируем ситуацию: баг возникает именно при обработке координат клика мыши. Если вы прокрутили список колесиком мыши до нужного места, не нажимайте на отчет. Используйте стрелки на клавиатуре (вверх/вниз), чтобы выделить отчет, и нажмите клавишу Enter. Это исключает конфликт координат, и отчет откроется корректно с первого раза.
Интересно, что при очень быстром двойном клике (Double Click) система иногда успевает обработать команду открытия до того, как форма «улетит» вверх. Однако этот метод не дает 100% гарантии и зависит от скорости реакции пользователя и производительности компьютера.
В некоторых случаях интенсивность проявления ошибки снижается после очистки кэша или сброса настроек формы. Для этого выполните действия:
Важно: Это помогает лишь временно и не устраняет причину ошибки в коде самой платформы.
Мы выяснили, что вертикальная прокрутка в форме отчетов ЗУП 3.1 — это не ошибка настроек программы, а платформенный дефект. Для комфортной работы пользователей мы рекомендуем как можно скорее запланировать обновление платформы 1С:Предприятие 8 до актуальных релизов (не ниже 8.3.25.1445). Это не только решит проблему со скроллингом, но и повысит общую стабильность работы системы на современных мониторах с масштабированием.