Как исправить искажение шрифтов и цветопередачи в 1С 7.7 при работе по RDP на современных ОС

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

Проблема искажения интерфейса платформы 1С:Предприятие 7.7 при подключении по протоколу удаленного рабочего стола (RDP) к современным операционным системам, таким как Windows Server 2022 или Windows 11, является классической задачей совместимости. Старая платформа использует механизмы отрисовки GDI (Graphics Device Interface), которые в современных версиях Windows работают иначе или эмулируются через более новые графические стеки. Это приводит к тому, что окна становятся слишком яркими (белыми вместо серых), а курсор в полях ввода начинает «наползать» на цифры из-за некорректного расчета метрик шрифтов.

В этой статье мы подробно разберем, как решить эти проблемы, проанализируем настройки системы и реестра, а также выясним, какие параметры протокола RDP влияют на визуальное отображение программы.

Настройка масштабирования экрана

Разберем одну из самых частых причин графических искажений — системный масштаб. В современных ОС при использовании мониторов с высоким разрешением (FullHD и выше) Windows автоматически устанавливает масштаб 125% или 150%. Платформа 1С 7.7 не умеет корректно работать с такими параметрами.

  1. Проверим настройки масштабирования как на локальной машине пользователя, так и на сервере.
  2. Установим масштаб ровно 100%. Это критически важно для правильной отрисовки границ окон и полей ввода.
  3. Если на 100% текст кажется слишком мелким, проанализируем возможность изменения разрешения экрана или использования специальных настроек совместимости для исполняемого файла 1cv7s.exe.

Для принудительного игнорирования масштабирования системой выполним следующие действия:

  1. Нажмем правой кнопкой мыши на файл 1cv7s.exe и выберем «Свойства».
  2. Перейдем на вкладку «Совместимость».
  3. Нажмем кнопку «Изменить параметры высокого DPI».
  4. Установим галочку «Переопределите режим масштабирования высокого разрешения» и выберем в выпадающем списке значение «Приложение».

Устранение проблемы наложения курсора на текст

Ситуация, когда текстовый курсор (каретка) стоит на краю последней цифры или заходит на нее, связана с тем, что 1С 7.7 рассчитывает ширину поля ввода на основе растровых шрифтов, которые использовались в Windows XP/2003. В Windows 10/11 и Server 2022 шрифт MS Sans Serif является векторным, и его метрики отличаются.

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

Способ 1. Замена шрифта в интерфейсе 1С

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

Способ 2. Подмена шрифтов в операционной системе

Проанализируем более радикальный, но эффективный метод — замену файлов шрифтов на оригинальные из старых версий Windows:

  1. Найдем в дистрибутиве Windows XP или Server 2003 файлы шрифтов sserife.fon, sserifeg.fon, sserifer.fon.
  2. Скопируем их в папку C:\Windows\Fonts на сервере 2022 (может потребоваться загрузка с внешнего носителя или получение прав владельца на папку).
  3. После замены и перезагрузки система начнет использовать старые метрики для отрисовки стандартных диалогов, и курсор вернется в правильную позицию.

Исправление цветовой гаммы (белый цвет вместо серого)

В Windows Server 2022 отсутствует «Классическая тема» оформления. Современные темы используют белый цвет для параметра ButtonFace, который в 1С 7.7 отвечает за фон большинства окон и панелей инструментов. Чтобы вернуть привычный серый цвет, нам придется отредактировать системные цвета через реестр.

Выясним, какие ключи реестра за это отвечают. Откроем редактор реестра (regedit) и перейдем в раздел:

HKEY_CURRENT_USER\Control Panel\Colors

Найдем параметр ButtonFace. По умолчанию в новых системах он может иметь значение 255 255 255 (белый). Для возврата классического серого цвета установим значение:

212 208 200

Аналогичным образом проанализируем параметры ButtonLight, ButtonShadow и AppWorkspace. Изменение этих значений позволит сделать интерфейс менее агрессивным для глаз.

Оптимизация настроек RDP

Протокол RDP в Windows Server 2022 по умолчанию использует кодек H.264/AVC, который оптимизирован для видео и анимации, но может «замыливать» мелкие шрифты в 1С. Рассмотрим, как изменить настройки графики для повышения четкости.

Откроем редактор локальной групповой политики (gpedit.msc) и перейдем по пути:
Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Среда удаленного сеанса.

Установим следующие параметры:

  1. «Приоритет режима графики H.264/AVC 444» — Включено. Это обеспечит отсутствие цветовых искажений вокруг букв.
  2. «Использовать аппаратный графический адаптер по умолчанию» — можно попробовать отключить, если на сервере нет мощной видеокарты, чтобы рендеринг шел программно.

Также в самом файле подключения .rdp (если открыть его блокнотом) можно добавить или изменить следующие строки для отключения сглаживания и улучшения отрисовки:


disable wallpaper:i:1
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
bitmapcachepersistenable:i:1

Использование манифеста для изменения стиля отрисовки

Иногда полезно «заставить» систему использовать старые стили отрисовки через манифест-файл. Создадим в папке с программой текстовый файл с именем 1cv7s.exe.manifest и следующим содержимым:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="1cv7s.exe" type="win32"/>
<description>1C:Enterprise 7.7</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
    </dependentAssembly>
</dependency>
</assembly>

Это включит поддержку современных визуальных стилей (кнопки станут более округлыми, но цветопередача может измениться). Если же ваша задача — строго сохранить старый вид, убедитесь, что такого файла рядом с 1cv7s.exe нет, или удалите из него секцию dependentAssembly.

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

← На главную