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

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

При адаптации рабочего места в 1С 7.7 под сенсорные мониторы (POS-терминалы, промышленные АРМ, работы в перчатках) часто возникает проблема: стандартные элементы управления платформы — деревья групп, табличные части документов и справочников — обладают слишком мелким шрифтом и узкими строками. Нажать на нужную позицию пальцем без ошибок становится практически невозможно.

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

Причины проблем при масштабировании в 1С 7.7

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

  1. Системный перехват High DPI в Windows: Начиная с Windows 7 и выше, встроенный механизм масштабирования операционной системы при DPI более 100% искажает матрицы трансформации шрифтов для старых Win32-приложений.
  2. Ограничения платформы 1С 7.7: Высота строк в штатных таблицах справочников и документов рассчитывается платформой один раз при инициализации. Даже если удается подменить размер шрифта, платформа не увеличивает автоматически высоту строки, из-за чего текст срезается.

Решение 1. Настройка совместимости высокого разрешения (High DPI) в Windows

Разберем, как устранить артефакты (текст по диагонали и мигание) при использовании утилит масштабирования:

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

Это заставит Windows передать управление отрисовкой самой программе, исключая некорректное системное растягивание графических контекстов.

Решение 2. Использование компоненты FormEx и Таблицы Значений

Штатные таблицы документов и деревья групп не подходят для кастомизации под тачскрин. Проверенное решение — отказ от стандартного вывода в пользу элемента ТаблицаЗначений на внешней форме обработки, шрифт которого настраивается через внешнюю компоненту FormEx (ФормЭкс).

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

  1. Создадим специальную форму обработки под размер экранного разрешения терминала.
  2. Разместим на форме объект ТаблицаЗначений для отображения списка товаров или выбранных позиций.
  3. Подключим внешнюю компоненту FormEx при открытии формы:

Процедура ПриОткрытии()
    ЗагрузитьВнешнююКомпоненту("FormEx.dll");
    Сервис = СоздатьОбъект("Сервис");
    // Устанавливаем крупный шрифт для Таблицы Значений
    Сервис.УстановитьШрифтФормы("ТаблицаТоваров", "Arial", 16, 1);
КонецПроцедуры

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

Решение 3. Оптимизация интерфейса под сенсорный ввод

Попытка сохранить стандартный древовидный интерфейс 1С 7.7 на сенсорном экране — неэффективный подход. Для удобства работы пользователей рекомендуется полностью переработать форму:

  1. Замена дерева групп кнопками: Вместо иерархического дерева групп справочника разместим на форме массив крупных элементов Кнопка для выбора родителей или категорий товаров.
  2. Использование сканера штрихкодов: Для минимизации ручного выбора в таблице организуем подбор товаров по шкрихкоду с автоматическим вызовом диалога ввода количества.
  3. Внедрение WebBrowser: Для создания максимально гибкого интерфейса на форму 1С 7.7 можно поместить элемент управления WebBrowser (ActiveX). В этом случае интерфейс верстается на HTML/CSS, где размеры шрифтов, отступы (padding) и высоты строк настраиваются без ограничений платформы.
← На главную