Переход на новое оборудование — это всегда радостное событие, однако для пользователей классической платформы 1С:Предприятие 7.7 замена монитора часто оборачивается неожиданной технической проблемой. Типичный сценарий: после установки современного широкоформатного монитора форма конкретного документа (например, приходного кассового ордера) открывается «обрезанной». Самое неприятное в этой ситуации — нижняя часть формы уходит за пределы видимости экрана, из-за чего пользователь физически не может увидеть и нажать ключевые кнопки управления: «ОК», «Записать», «Провести» или «Закрыть».
Давайте подробно проанализируем причины возникновения этой проблемы и разберем по шагам все возможные способы ее решения — от простых пользовательских лайфхаков до глубоких системных настроек реестра и конфигурации.
Платформа 1С 7.7 разрабатывалась на рубеже 1990-х и 2000-х годов. В то время индустриальным стандартом были «квадратные» ЭЛТ-мониторы с соотношением сторон 4:3 и разрешением 800х600 или 1024х768 пикселей. Под эти параметры и проектировались интерфейсы практически всех типовых конфигураций.
Современные мониторы имеют соотношение сторон 16:9 или 16:10 (широкоформатные). При их подключении могут возникнуть следующие технические коллизии:
---
Прежде чем приступать к радикальным мерам программирования или администрирования, попробуем воспользоваться штатной возможностью платформы 1С 7.7. Очень часто форма оказывается обрезанной просто из-за того, что система запомнила ее некорректные старые координаты.
Выполним следующие действия:
Для ускорения этой операции можно использовать быстрый системный аккорд клавиш: нажмите одновременно Alt + Shift + R. Платформа мгновенно сбросит индивидуальные настройки геометрии данного окна к первоначальным программным значениям, и кнопки могут вернуться на свое законное место.
---
Существует распространенное заблуждение, что в 1С 7.7 нет кэша. Действительно, привычного по 1С 8 кэша метаданных здесь нет, но настройки расположения окон документов, справочников и журналов сохраняются. Платформа записывает эти параметры в системный реестр Windows под конкретной учетной записью пользователя.
Если штатное восстановление положения окна через меню не помогло, выполним очистку этой ветки реестра вручную. Для этого пройдем по шагам:
regedit и нажмем Enter для запуска Редактора реестра.
HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<Имя_Вашей_Базы>\V7\<Имя_Пользователя>\Windows
Windows целиком (нажав правой кнопкой мыши -> «Удалить»).---
Если проблема носит постоянный характер и связана с тем, что форма физически больше по высоте, чем разрешение нового экрана, наиболее надежным решением будет небольшая доработка дизайна формы в Конфигураторе.
Рассмотрим, как аккуратно ужать форму:
---
Если на новом мониторе установлено высокое разрешение (например, 1920х1080) и включено масштабирование операционной системы 125% или 150%, шрифты в 1С 7.7 могут исказиться, а кнопки «уползти» вниз. Мы можем заставить Windows принудительно отображать 1С 7.7 в классическом масштабе «пиксель в пиксель».
Для этого настроим параметры совместимости исполняемого файла:
1cv7.exe / 1cv7s.exe в папке установки платформы C:\Program Files (x86)\1Cv77\bin\).---
В случае, когда работа с 1С 7.7 ведется на удаленном сервере через службу терминалов (RDP), замена физического монитора на клиентском ПК часто ломает настройки сессии. Сервер пытается унаследовать параметры дисплея клиента, что приводит к искажениям.
Решим эту проблему с помощью настроек RDP-подключения:
Шаг 1. Настройка RDP-клиента на локальном компьютере:
Откроем используемый файл подключения (с расширением .rdp) с помощью обычного текстового редактора «Блокнот» и добавим (или отредактируем) следующие строки параметров:
smart sizing:i:1
desktopscalefactor:i:100
Параметр smart sizing:i:1 позволяет автоматически масштабировать рабочий стол сервера под размер окна клиента, а desktopscalefactor:i:100 принудительно устанавливает стандартный масштаб 100% внутри сессии, игнорируя увеличенный DPI локального компьютера.
Шаг 2. Настройки на стороне терминального сервера (для системных администраторов):
Чтобы централизованно запретить серверу перенимать настройки масштабирования у клиентов, можно внести изменения в серверный реестр. В ветке:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
Создадим параметр типа DWORD с именем IgnoreClientDesktopScaleFactor и присвоим ему значение 1. Это гарантирует, что все пользователи будут запускать 1С 7.7 в стандартном и стабильном разрешении.
---
Для профессионального решения проблем с интерфейсом в 1С 7.7 разработчики часто используют бесплатную внешнюю компоненту FormEx. Она позволяет значительно расширить возможности визуального отображения старой платформы.
С помощью этой компоненты мы можем динамически управлять привязками элементов формы. В штатном режиме 1С 7.7 не умеет привязывать кнопки к правому или нижнему краю при изменении размеров окна. Подключив FormEx.dll, программист получает возможность отслеживать событие изменения размеров формы и программно перемещать кнопки «ОК» и «Записать» вслед за границей окна. Это исключает проблему их скрытия при любом разрешении монитора.
---
Если проблему нужно решить сиюминутно, чтобы провести важный документ, а программиста или администратора нет на месте, пользователь может применить быстрые клавиши обхода интерфейса:
Применяя данные методы в комплексе, мы сможем гарантировать стабильную работу пользователей в 1С 7.7 на любом современном оборудовании.