Разработчики 1С часто сталкиваются с проблемой неодинакового отображения форм на различных мониторах, что приводит к появлению полос прокрутки, громоздкости элементов и недовольству пользователей. Особые трудности возникают при работе с обычными формами в 1С 8.3.13 и при удаленном подключении через RDP. Даже при одинаковых заявленных разрешениях и масштабах у пользователя может наблюдаться некорректное отображение. В этой статье мы подробно разберем, как адаптировать формы и диагностировать причины неодинакового отображения.
Для того чтобы формы выглядели оптимально на экранах с разным разрешением, необходимо придерживаться следующих рекомендаций при их разработке:
Разработка при стандартном масштабе и ориентация на минимальное разрешение:
Мы рекомендуем разрабатывать формы при стандартном разрешении 96 DPI (что соответствует 100% масштабу Windows). Если форма создается при увеличенном DPI (например, 120 DPI или 125% масштаба), то при отображении на мониторе с 96 DPI текст некоторых элементов может не помещаться, что приведет к появлению многоточий или некорректному отображению командных панелей. Платформа 1С не умеет нормально работать с масштабом, отличным от 100%. Ориентируйтесь на минимальное разрешение экрана, используемое вашими сотрудниками, чтобы гарантировать, что форма поместится без полос прокрутки. Типовым разрешением для проектирования интерфейсов в 1С считается 1280x768 пикселей при 96 DPI. Учтите, что доступная для работы область может быть еще меньше из-за панели задач операционной системы и других элементов интерфейса (например, 1280x668 пикселей). Зачастую встречаются мониторы с разрешением 1360, а не 1366, что также может влиять на отображение.
Корректная настройка привязок (якорей) элементов:
Привязки элементов формы крайне важны для адаптивного отображения. Они определяют, как элементы будут масштабироваться и перемещаться при изменении размеров формы. Мы рекомендуем:
Ctrl+R в конфигураторе при просмотре формы. Это позволяет потаскать форму за края и увидеть, какие элементы не могут быть передвинуты или отмасштабированы (они будут зачеркиваться красными скрещенными линиями). Этот инструмент является отличным способом проверки корректности привязок.Минимизация явного указания размеров элементов:
По возможности, используйте значения по умолчанию для свойств элементов и минимизируйте явное указание их размеров (например, ширины или высоты). Это поможет системе 1С:Предприятие самостоятельно более оптимально размещать элементы в зависимости от доступного пространства.
Управление вертикальной прокруткой через свойства формы:
Для формы существует свойство ВертикальнаяПрокрутка. Если установить его в значение ИспользоватьПриНеобходимости, форма сначала попытается уменьшить свой размер по вертикали, и только потом, если это невозможно, появится полоса прокрутки.
Ситуация, когда форма выглядит идеально на локальном компьютере разработчика, но имеет полосы прокрутки при подключении к компьютеру пользователя через RDP, является одной из самых распространенных и требующих внимания. Мы проанализируем возможные причины и методы диагностики для такого сценария.
Тщательная проверка настроек масштабирования на удаленном ПК и в RDP-сессии:
Даже если вы уверены, что на удаленном компьютере пользователя масштаб установлен на 100%, и в операционной системе не используются другие настройки масштабирования, необходимо тщательно проверить параметры подключения по RDP. При работе через RDP настройки разрешения можно изменить в параметрах подключения. Убедитесь, что там не задано какое-либо масштабирование или нестандартное разрешение, которое может влиять на отображение. Несоответствие настроек масштабирования (DPI) в операционной системе Windows у разработчика и у конечного пользователя — частая причина проблем, даже если разрешение экрана совпадает.
Влияние RDP на передачу графики и обработку масштабирования:
Протокол RDP оптимизирован для передачи графики по сети, но иногда он может по-своему интерпретировать параметры отображения, особенно при различных DPI-настройках клиента и сервера. Это может быть связано с особенностями передачи графики и обработки масштабирования в RDP-сессии. Убедитесь, что настройки масштабирования на удаленном компьютере, а также в самой RDP-сессии, также установлены на 100%. Изменение масштаба в 1С (начиная с 8.3.10 для управляемых форм) влияет только на экранную форму и привязано к конкретному пользователю, но для обычных форм на отображение влияют системные настройки масштаба Windows.
Если после выполнения вышеуказанных рекомендаций проблема сохранения полос прокрутки или некорректного отображения форм сохраняется, нам необходимо провести более глубокую диагностику. Рассмотрим пошагово:
Удаление кэша 1С:
Как вы уже пробовали, удаление кэша 1С иногда помогает решить проблемы с некорректным отображением, особенно после обновлений конфигурации. Если вы не уверены, что кэш был удален полностью или корректно, повторите эту процедуру. Кэш 1С хранится в профиле пользователя и его удаление может решить проблемы, связанные с устаревшими данными форм или их некорректным сохранением.
Проверка формы в конфигураторе на проблемном компьютере пользователя:
Если у вас есть возможность, подключитесь к информационной базе (ИБ) на компьютере пользователя, где возникает проблема, и откройте конфигуратор под собой. Затем найдите и откройте проблемную форму в конфигураторе. Внимательно посмотрите, как она выглядит там. Это позволит нам исключить проблемы с локальными настройками клиента 1С или операционной системы, которые могут влиять на запуск клиентского приложения 1С:Предприятие.
Тестирование под новым пользователем Windows:
Иногда проблемы с отображением могут быть связаны с поврежденным профилем пользователя Windows или специфическими настройками для данного профиля. Попробуйте зайти на этом же компьютере под новым пользователем Windows (создайте временного тестового пользователя) и запустить 1С под ним. Если форма отображается корректно, проблема, вероятно, кроется в профиле исходного пользователя, и дальнейшую диагностику следует сосредоточить на его настройках.
Настройка совместимости Windows для ярлыка запуска 1С:
Для обычных форм, особенно если проблемы возникают с масштабом шрифтов или общим отображением из-за системного масштабирования, можно попробовать внести изменения в свойства ярлыка запуска 1С на вкладке "Совместимость" в Windows. Необходимо:
Использование функции "Восстановить положение окна":
Иногда временным решением может быть использование команды "Восстановить положение окна" из контекстного меню самой формы (доступно по правой кнопке мыши на заголовке формы). Это может сбросить сохраненные размеры и положение окна, однако это не решает проблему кардинально и действует только для текущей формы, не предотвращая ее повторное появление.
Хотя в данном случае речь идет об обычных формах, и переключение на управляемые формы может быть трудоемким процессом из-за большого объема работы и необходимости переобучения пользователей, мы не можем не упомянуть их как долгосрочное и более современное решение проблемы адаптивности. Управляемые формы изначально спроектированы таким образом, чтобы быть более адаптивными к различным разрешениям экрана и масштабам:
Мы видим, что для обычных форм ключевым моментом является тщательная настройка привязок, разработка при 96 DPI и обязательная проверка поведения формы на минимальном разрешении экрана с учетом масштабирования операционной системы. Если же проблема возникает только через RDP при идентичных настройках, стоит проверить параметры подключения RDP и настройки совместимости Windows, а также выполнить комплексную диагностику на стороне пользователя.