Как изменить шрифт и увеличить размер текста в многострочной части формы 1С 7.7

Программист 1С v7.7
← На главную

В платформе 1С:Предприятие 7.7 разработчики часто сталкиваются с аппаратными и программными ограничениями интерфейса. Одной из классических проблем является невозможность напрямую изменить шрифт для объекта МногострочнаяЧасть (табличная часть документа или справочника) через свойства самого элемента. В отличие от текстовых полей, у табличной части в конфигураторе попросту отсутствует вкладка «Шрифт».

Тем не менее, решение существует. Мы можем пойти либо путем визуальной настройки в конфигураторе, используя механизмы наследования, либо программным путем, задействовав возможности внешней компоненты FormEx. Рассмотрим эти методы подробно.

Способ 1: Использование механизмов наследования в конфигураторе

Разберем логику работы интерфейса 1С 7.7: объект МногострочнаяЧасть по умолчанию наследует параметры шрифта, установленные для всей формы в целом. Чтобы изменить размер текста в таблице, нам нужно изменить шрифт самой формы.

  1. Откроем нужную форму в конфигураторе.
  2. Щелкнем правой кнопкой мыши по верхней полосе (заголовку) окна формы и выберем пункт «Свойства».
  3. Перейдем на закладку «Шрифт» и установим нужный размер (например, 10 или 12 вместо стандартного 8).

Важный нюанс: после этого действия шрифт увеличится у всех элементов формы, у которых установлен флаг «Шрифт по умолчанию». Чтобы кнопки, надписи и поля ввода не «разъехались» и сохранили прежний вид, нам придется выполнить кропотливую работу: пройтись по каждому элементу, снять галочку «Шрифт по умолчанию» и вручную вернуть ему старый размер (например, MS Sans Serif, 8).

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

Способ 2: Программное управление через FormEx

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

Рассмотрим пример кода, который позволяет изменить шрифт многострочной части при открытии формы. Для корректной работы метода СоздатьШрифтНаОсновании важно правильно подобрать параметры.


Процедура ПослеОткрытия()
    // Создаем объект для управления атрибутами
    АтрФормы = СоздатьОбъект("АтрибутФормы"); 
    АтрФормы.УстановитьАтрибут(Форма, "МногострочнаяЧасть");
    
    // Получаем текущий шрифт таблицы
    ТекШрифт = АтрФормы.Шрифт;
    
    // Используем сервис FormEx для создания нового шрифта
    лСервисФорМекс = СоздатьОбъект("Сервис");
    
    // Параметры: ИсходныйШрифт, ИмяШрифта, Размер, Жирность, Курсив...
    // Чтобы увеличить шрифт, параметр Размер (3-й по счету) нужно подобрать опытным путем.
    // Для стандартного MS Sans Serif значение 11–12 дает заметный прирост.
    // Параметр Жирность (4-й) лучше ставить 0 или 400 для нормального начертания.
    НовШрифт = лСервисФорМекс.СоздатьШрифтНаОсновании(ТекШрифт, , 11, 0, , );
    
    // Применяем новый шрифт к атрибуту
    АтрФормы.Шрифт = НовШрифт;
КонецПроцедуры

Проанализируем особенности этого метода. Выясним причину, по которой иногда размер не меняется: 1С 7.7 часто использует растровые шрифты (типа MS Sans Serif), которые имеют фиксированный набор размеров. Для лучшего результата рекомендуется в методе СоздатьШрифтНаОсновании принудительно указать TrueType-шрифт, например, Arial или Verdana.

Способ 3: Глобальные настройки интерфейса

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

  1. Настройки пользователя в 1С: Перейдем в меню «Сервис» — «Параметры», вкладка «Интерфейс». Здесь можно изменить шрифты для табличных документов. Хотя это влияет преимущественно на отчеты, в некоторых конфигурациях это затрагивает и общие списки.
  2. Масштабирование Windows: Это самый простой, но «грубый» метод. В настройках экрана Windows можно установить масштаб 125% или 150%. Программа 1С 7.7 увеличится целиком. Чтобы текст не был размытым, в свойствах ярлыка 1С (правой кнопкой — Свойства — Совместимость) выберите «Изменить параметры высокого DPI» и установите переопределение масштабирования приложением или системой.

Рекомендации по выбору шрифтов

При программном изменении через FormEx или 1С++ стоит помнить, что не все шрифты одинаково хорошо отображаются в табличных частях 1С 7.7. Проанализируем наиболее стабильные варианты:

Важное замечание по коду: При использовании FormEx метод Форма.Обновить() после смены шрифта обычно не требуется, изменения вступают в силу немедленно. Однако, если вы заметили «артефакты» отрисовки, попробуйте принудительно переключить видимость элемента или программно изменить его ширину на 1 пиксель и обратно — это заставит систему полностью перерисовать объект МногострочнаяЧасть.

← На главную