Как изменить шрифт и его размер в окне поиска и результатов поиска Конфигуратора 1С:Предприятие 7.7

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

Разработчики, продолжающие поддерживать конфигурации на платформе 1С:Предприятие 7.7, регулярно сталкиваются с аппаратными ограничениями старого движка. Одной из наиболее раздражающих проблем является фиксированный мелкий шрифт в элементах интерфейса Конфигуратора. На современных мониторах с высоким разрешением (Full HD, 2K, 4K) и небольшой диагональю (например, на рабочих ноутбуках 13–15 дюймов) стандартный шрифт окон поиска и вывода результатов становится практически нечитаемым.

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

Выясняем причину: почему шрифт такой мелкий?

Платформа 1С 7.7 создавалась в эпоху операционных систем Windows 95/98/NT, когда стандартными экранными разрешениями были 800х600 и 1024х768 пикселей. В программном коде исполняемых модулей Конфигуратора жестко зашито использование растрового шрифта MS Sans Serif высотой всего 8 пунктов. Этот шрифт не является масштабируемым (векторным).

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

Способ №1. Правка ресурсов библиотеки локализации 1crcrus.dll

Это самый надежный «кардинальный» метод, который изменяет сам шаблон диалогового окна поиска внутри платформы без использования стороннего программного обеспечения. Все диалоги Конфигуратора хранятся в специальной динамической библиотеке локализации. Изменив параметры шрифта в ресурсах этой библиотеки, мы получим крупный и четкий текст во всех окнах поиска.

Разберем этот процесс по шагам:

  1. Прежде всего, полностью закроем Конфигуратор и все запущенные сессии 1С.
  2. Перейдем в каталог установки платформы. По умолчанию на 64-битных системах исполняемые файлы 1С 7.7 располагаются по пути: C:\Program Files (x86)\1Cv77\BIN\.
  3. Найдем в этой папке файл 1crcrus.dll. Обязательно создадим его резервную копию! Скопируем файл в безопасное место, чтобы в случае ошибки быстро восстановить работоспособность системы.
  4. Для редактирования ресурсов нам понадобится специализированный софт. Скачаем и запустим бесплатный редактор ресурсов (например, Resource Hacker).
  5. Откроем оригинальный файл 1crcrus.dll через интерфейс программы Resource Hacker.
  6. В дереве ресурсов в левой части экрана развернем ветку Dialog. Нам необходимо найти конкретную форму поиска. В русскоязычной библиотеке за диалог поиска текста в Конфигураторе отвечает ресурс с номером 1186.
  7. Выделим ресурс 1186. В правой части экрана появится текстовое описание шаблона диалогового окна. Обратим внимание на заголовок шаблона. Там будет присутствовать строка определения шрифта: FONT 8, "MS Sans Serif".
  8. Изменим параметры на более современные. Например, увеличим кегль до 10 и заменим устаревший растровый шрифт на качественный векторный аналог (Segoe UI или Tahoma).

Проанализируем пример изменения кода ресурса. Изначальный фрагмент описания диалога выглядит следующим образом:


1186 DIALOGEX 0, 0, 271, 142
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Поиск в текстах"
FONT 8, "MS Sans Serif"
BEGIN
    ...
END

Мы заменим строку шрифта и сохраним изменения. Наш модифицированный шаблон будет выглядеть так:


1186 DIALOGEX 0, 0, 271, 142
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Поиск в текстах"
FONT 10, "Segoe UI"
BEGIN
    ...
END

После редактирования текста выполним следующие действия:

  1. В окне Resource Hacker нажмем кнопку Compile Script (зеленая стрелка на панели инструментов) для компиляции внесенных изменений.
  2. Сохраним обновленный файл библиотеки через меню Файл -> Сохранить.
  3. Запустим Конфигуратор 1С 7.7, откроем любой текстовый модуль и вызовем окно глобального поиска. Окно поиска отобразится с использованием нового крупного шрифта.

Аналогичным образом через правку соответствующих номеров диалогов в библиотеке ресурсов можно расширить и сделать более удобными другие окна Конфигуратора, такие как окно выбора информационных баз при запуске или окно монитора автообмена.

Способ №2. Использование OpenConf и альтернативного редактора SciColorer

Если мы не хотим вручную модифицировать бинарные файлы платформы, мы можем воспользоваться возможностями легендарной библиотеки расширения Конфигуратора — OpenConf.

OpenConf позволяет интегрировать в Конфигуратор современный текстовый редактор SciColorer, созданный на базе мощного компонента Scintilla. Начиная с версий 1.0.1.2, этот плагин умеет полностью перехватывать функции поиска и выводить результаты в собственную интерактивную панель в нижней части экрана.

Рассмотрим, как настроить шрифты панели поиска через SciColorer:

  1. Убедимся, что в системе установлен OpenConf и активен плагин SciColorer.
  2. Перейдем в каталог настроек плагинов 1С, который обычно находится по пути: C:\Program Files (x86)\1Cv77\BIN\config\.
  3. Найдем конфигурационный файл настроек плагина с именем SciColorer.ini.
  4. Откроем этот файл в любом удобном текстовом редакторе.
  5. Найдем секцию, отвечающую за вывод результатов поиска (обычно она содержит ключевые слова [FindResults], [Search] или [Output] в зависимости от версии плагина).
  6. Пропишем в параметрах отображения желаемый шрифт и его размер. Например, для получения моноширинного четкого шрифта добавим строки:

[FindResults]
FontName=Consolas
FontSize=11
FontBold=0
BackColor=16777215
ForeColor=0

Сохраним файл настроек SciColorer.ini и перезапустим Конфигуратор. Теперь при поиске по текстам конфигурации результаты будут выводиться в красивое, современное окно с подсветкой синтаксиса и легко читаемым крупным шрифтом Consolas.

Способ №3. Подмена шрифтов на уровне операционной системы Windows

Существует еще один изящный способ, который позволяет улучшить отображение шрифтов в 1С 7.7 без изменения файлов платформы и без установки тяжелых плагинов. Мы можем заставить саму операционную систему Windows подменять устаревший шрифт MS Sans Serif на качественный векторный аналог всякий раз, когда программа запрашивает его отрисовку.

Для реализации этого метода проанализируем реестр Windows и выполним следующие шаги:

  1. Нажмем комбинацию клавиш Win + R, введем команду regedit и нажмем Enter для запуска Редактора реестра.
  2. В реестре перейдем по следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
  3. В правой части окна найдем строковый параметр с именем MS Sans Serif. Если его нет, создадим его самостоятельно (правой кнопкой мыши -> Создать -> Строковый параметр).
  4. Дважды кликнем на параметр MS Sans Serif и в качестве его значения укажем название современного векторного шрифта, установленного в системе, например, Microsoft Sans Serif, Tahoma или Segoe UI.
  5. Перезагрузим компьютер, чтобы изменения вступили в силу для всей операционной системы.

После перезагрузки Windows автоматически перенаправит все вызовы отрисовки мелкого шрифта MS Sans Serif из Конфигуратора 1С на выбранный нами сглаженный шрифт, что значительно повысит читаемость всех меню и диалогов.

Выводы и рекомендации

Мы подробно рассмотрели три различных подхода к решению проблемы со шрифтами в Конфигураторе 1С 7.7. Для разовых задач и быстрой адаптации без стороннего софта отлично подойдет способ с изменением реестра Windows (Способ №3). Если вам необходимо кардинально увеличить только размер конкретного окна поиска — воспользуйтесь редактированием файла 1crcrus.dll (Способ №1). А если вы занимаетесь активной ежедневной разработкой в среде 1С 7.7, лучшим выбором станет установка связки OpenConf + SciColorer (Способ №2), которая не только решит проблему шрифтов, но и добавит массу современных удобств в процесс написания кода.

← На главную