Как адаптировать 1С через RemoteApp к большому разрешению монитора?

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

При переходе пользователей на современные мониторы с ультравысоким разрешением (UltraHD / 4K / HiDPI) системные администраторы часто сталкиваются с неприятной технической проблемой. При запуске 1С:Предприятия (например, конфигурации 1С:Документооборот) через технологию RemoteApp элементы интерфейса, главное меню, таблицы и шрифты становятся микроскопическими и практически нечитаемыми. Это происходит из-за конфликта между физическим разрешением клиентского монитора (например, 3840 x 1160 или 3840 x 2160) и настройками терминального сервера, на котором выполняется сеанс 1С.

В рамках данной статьи мы подробно разберем, почему возникает эта проблема, и проанализируем пять эффективных способов ее решения: от простых клиентских настроек до глубокого конфигурирования реестра Windows Server и тонкой настройки самой платформы 1С.

Почему шрифты в RemoteApp становятся мелкими?

Технология RemoteApp визуализирует только окно конкретного приложения, транслируя его через протокол RDP. В отличие от полноценного рабочего стола RDP, где операционная система Windows может попытаться автоматически смасштабировать весь экран, сеанс RemoteApp часто некорректно обрабатывает коэффициент масштабирования (DPI) локального компьютера пользователя. В результате сервер отрисовывает шрифты со стандартной плотностью пикселей (обычно 96 DPI, что соответствует 100% масштабу), а на 4K-мониторе клиента эти пиксели физически сжимаются, превращая текст в мелкие нечитаемые символы.

Рассмотрим по шагам практические варианты решения этой проблемы.

Решение 1. Ручное редактирование файла конфигурации .rdp (Клиентский метод)

Поскольку RemoteApp работает поверх протокола RDP, параметры его подключения хранятся в специальном конфигурационном файле с расширением .rdp. Мы можем принудительно заставить клиентский терминал масштабировать окно приложения силами локального компьютера. Для этого выполним следующие действия:

  1. Найдем ярлык или файл подключения RemoteApp, который используется для запуска 1С. Обычно он имеет расширение .rdp.
  2. Нажмем на файл правой кнопкой мыши и выберем пункт Открыть с помощью -> Блокнот (или любой другой текстовый редактор).
  3. Прокрутим файл в самый конец и добавим две важные директивы:

desktopscalefactor:i:200
smart sizing:i:1

Разберем подробнее, за что отвечают эти параметры:

После добавления строк сохраним изменения в файле и запустим 1С заново. Шрифты и элементы управления должны стать комфортного размера.

Решение 2. Отключение наследования масштаба на сервере и индивидуальная настройка реестра (Серверный метод)

Этот способ незаменим в ситуациях, когда на предприятии один или несколько пользователей имеют UltraHD-мониторы, а остальные работают на стандартных мониторах (например, FullHD 1920 x 1080). Если просто изменить глобальные настройки сервера (изменить параметр logpixels), шрифты увеличатся у всех сотрудников сразу, что сделает работу пользователей с обычными мониторами невозможной (элементы станут огромными и не влезут в экран). Мы решим эту проблему точечно для конкретного пользователя.

Проанализируем алгоритм настройки на стороне терминального сервера Windows Server:

  1. Откроем редактор реестра на сервере. Для этого нажмем комбинацию клавиш Win + R, введем regedit и нажмем Enter.
  2. Перейдем по следующему пути:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
  3. Создадим в этой ветке новый параметр типа DWORD (32 бита) с именем IgnoreClientDesktopScaleFactor и присвоим ему значение 1. Этот шаг критически важен: он заставляет сервер игнорировать автоматическое (и часто некорректное) масштабирование, приходящее от RDP-клиента пользователя.
  4. Теперь настроим масштаб индивидуально для пользователя с 4K-экраном. Для этого необходимо войти на сервер под учетной записью этого конкретного пользователя (или загрузить его куст реестра через права администратора).
  5. В реестре пользователя перейдем по пути:
    HKEY_CURRENT_USER\Control Panel\Desktop
  6. Найдем или создадим параметр типа DWORD (32 бита) с именем LogPixels.
  7. Переключим отображение значения в десятичную систему (Decimal) и установим нужный масштаб, ориентируясь на следующие стандартные показатели:
    • 96 — стандартный масштаб 100% (для обычных мониторов);
    • 120 — масштаб 125%;
    • 144 — масштаб 150%;
    • 192 — масштаб 200% (рекомендуется для 4K-экранов);
    • 288 — масштаб 300%.
  8. Обязательно выполним полный выход пользователя из сеанса (Logoff), чтобы изменения применились. Простое закрытие окна 1С "крестиком" не завершает сессию на сервере, поэтому настройки реестра не вступят в силу.

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

Решение 3. Использование внешнего манифеста для RDP-клиента (Клиентский метод)

Если серверные настройки менять запрещено политиками безопасности, мы можем заставить операционную систему Windows на компьютере пользователя самостоятельно масштабировать стандартный RDP-клиент (mstsc.exe). При этом способе картинка станет крупной, хотя шрифты могут выглядеть слегка размытыми (поскольку операционная система будет просто "растягивать" пиксели).

Выполним следующие шаги на локальном компьютере пользователя:

  1. Откроем редактор реестра (regedit) на локальном ПК под управлением Windows 10/11.
  2. Перейдем по пути:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
  3. Создадим параметр DWORD (32 бита) с именем PreferExternalManifest и установим его значение равным 1. Это указывает Windows на необходимость в первую очередь искать внешний файл разметки (манифест) для запускаемых приложений.
  4. Перейдем в системную папку C:\Windows\System32.
  5. Создадим в этой папке текстовый файл и назовем его строго mstsc.exe.manifest. Обратите внимание, что расширение файла должно быть именно .manifest, а не .txt.
  6. Откроем этот файл в Блокноте и вставим следующий XML-код, который принудительно отключает распознавание DPI (DPI-awareness) для клиента удаленного стола:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
  <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
  </dependentAssembly>
</dependency>
<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>
</assembly>

После сохранения файла и перезагрузки локального компьютера встроенный RDP-клиент перестанет сообщать серверу о поддержке высокого разрешения, и Windows самостоятельно увеличит окно RemoteApp до читаемых размеров в соответствии с системным масштабом пользователя.

Решение 4. Переопределение масштабирования в свойствах совместимости ярлыка

Этот способ является более простой альтернативой созданию файлов манифеста. Он настраивается через графический интерфейс операционной системы Windows на клиентском компьютере:

  1. Перейдем в папку C:\Windows\System32, найдем файл mstsc.exe (это стандартный клиент подключения к удаленному рабочему столу).
  2. Нажмем по файлу правой кнопкой мыши и выберем Свойства.
  3. Перейдем на вкладку Совместимость.
  4. Нажмем кнопку Изменить параметры высокого DPI (в некоторых версиях Windows кнопка называется "Изменить параметры для всех пользователей").
  5. Установим флажок в пункте Переопределение масштабирования с высоким разрешением (High DPI scaling override).
  6. В выпадающем меню выберем режим масштабирования: Система (улучшенная) или Система. Режим "Система (улучшенная)" обеспечивает более сглаженное отображение шрифтов при растягивании элементов управления.
  7. Нажмем "ОК" и сохраним настройки.

Решение 5. Нативные возможности платформы "1С:Предприятие"

Рассмотрим, как сама платформа 1С может помочь нам справиться с мелким шрифтом. Начиная с версии платформы 8.3.14, разработчики 1С добавили полноценную нативную поддержку экранов высокого разрешения (HiDPI) для управляемых форм интерфейса "Такси".

Если интерфейс программы все равно остается мелким, проанализируем две возможные причины:

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

Резюме и рекомендации

Мы подробно разобрали различные варианты адаптации масштаба 1С под экраны с ультравысоким разрешением. Подведем итог, какой метод выбрать в зависимости от вашей ситуации:

← На главную