Многие специалисты, работающие с конфигурацией 1С:Управление производственным предприятием ред. 1.3 (УПП), сталкиваются с неприятной ситуацией: формы элементов (например, справочника Контрагенты) внезапно перестают корректно масштабироваться. Пользователи жалуются, что реквизиты «схлопываются», форма открывается в фиксированном маленьком размере, а привычное растягивание мышкой не сохраняется при следующем открытии. Ситуация часто обостряется после перехода серверов или рабочих станций на Windows 10 или Windows 11.
В этой статье мы подробно разберем причины такого поведения платформы и рассмотрим пошаговые методики восстановления нормальной работы интерфейса, от простых манипуляций с настройками до внесения изменений в конфигурацию.
Одной из наиболее частых причин «поломки» геометрии обычных форм является механизм обработки высокого разрешения (High DPI) в современных версиях Windows. Если в настройках экрана системы установлено масштабирование отличное от 100% (например, 125% или 150%), платформа 1С, работающая в режиме обычных форм, может некорректно рассчитывать координаты элементов.
Проанализируем, как это исправить без изменения кода конфигурации:
1cv8.exe) или ярлык, через который запускается база.Если манипуляции с DPI не помогли, необходимо исключить фактор «замусоренного» кэша. Платформа 1С хранит настройки положения окон и их размеры в локальных файлах на компьютере пользователя. Рассмотрим процедуру глубокой очистки:
Во-первых, выполним стандартную операцию в режиме «1С:Предприятие»: нажмем Shift+Alt+R (команда Восстановить положение окна). Если это помогает только на один раз, перейдем к радикальным мерам.
Во-вторых, очистим файлы настроек интерфейса. Нам нужно удалить файл 1cv8cmn.pfl, который располагается по пути %AppData%\1C\1Cv8. Также рекомендуется полностью удалить папку с кэшем конкретной информационной базы, которая находится в каталогах %LocalAppdata%\1C\1Cv8 и %Appdata%\1C\1Cv8. После удаления этих данных 1С при запуске создаст чистые файлы настроек, что может устранить конфликт размеров.
Важно помнить, что 1С хранит настройки форм не только на диске, но и внутри самой базы данных. Проанализируем ситуацию: если форма «криво» закрылась один раз, платформа могла запомнить эти ошибочные координаты в системной таблице настроек пользователя.
Для исправления выполним следующие действия:
Справочник.Контрагенты.ФормаЭлемента).Если вышеописанные методы не помогают, значит, проблема кроется в нарушении логики Привязок внутри самой формы. Это случается, когда форму редактировали в разрешении, отличном от стандартного, или когда автоматические правила отрисовки конфликтуют с ручными настройками.
Выясним, как восстановить привязки, если у вас есть возможность вносить изменения в конфигурацию:
Ctrl+A).Форма) найдем свойство АвтоПравила и установим его в значение Истина.После этих действий платформа сама рассчитает, как должны растягиваться элементы при изменении размера окна. В большинстве случаев автоматические правила работают гораздо стабильнее ручных настроек в современных ОС.
Если конфигурация стоит на поддержке и вы не хотите её снимать, можно воспользоваться механизмом Расширений (если версия платформы 8.3 позволяет их использовать для вашей версии УПП). Мы можем программно принудить форму использовать автоматические привязки в момент открытия.
Рассмотрим пример кода, который можно разместить в расширении для формы элемента контрагента:
&НаКлиенте
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
// Устанавливаем автоматический расчет привязок принудительно
ЭтаФорма.АвтоПравила = Истина;
// Можно также принудительно задать возможность изменения размера,
// если она была заблокирована
ЭтаФорма.ИзменениеРазмера = ИзменениеРазмераФормы.Разрешить;
КонецПроцедуры
Такой подход позволяет сохранить типовую конфигурацию «чистой», но при этом эффективно решить проблему для всех пользователей системы. Проанализировав ситуацию, мы видим, что комплексное применение настроек DPI и программного сброса привязок является наиболее надежным способом борьбы с «нерастягивающимися» формами в старых решениях на базе 1С.