Что делать, если в 1С скукожилась форма выбора из списка на платформе 8.3.15

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие специалисты столкнулись с неприятной ситуацией после перехода на платформу версии 8.3.15: стандартные диалоговые окна (выбор из списка, ввод даты, ввод числа или строки) стали отображаться крайне некорректно. Окна выглядят «сжатыми» или «скукоженными», их содержимое практически не читается, а размеры не позволяют комфортно работать с данными. Проблема носит массовый характер и затрагивает всех пользователей базы данных.

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

Выясняем причину некорректного размера форм

Проанализируем ситуацию: данная проблема официально признана ошибкой разработчиков платформы 1С. Она связана с некорректным алгоритмом расчета геометрических параметров вспомогательных окон в интерфейсе «Такси». Ошибка проявляется преимущественно на мониторах с высоким разрешением (High DPI) или при использовании системного масштабирования Windows (например, 125% или 150%). Платформа просто «забывает» правильно вычислить отступы и размеры элементов управления, из-за чего форма сворачивается до минимально возможных размеров.

Решение 1: Обновление платформы до стабильного релиза

Самый правильный и надежный способ — это обновление технологической платформы. Рассмотрим подробнее, на какие версии стоит ориентироваться. По сообщениям пользователей и официальным данным, версии 8.3.15.1489 и 8.3.15.1501 еще содержат этот дефект в той или иной степени (например, форма даты может починиться, а форма выбора из списка — нет).

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

  1. Проверим текущую версию платформы через меню «Справка» — «О программе».
  2. Скачаем и установим релиз не ниже 8.3.15.1830. Если есть возможность, лучше перейти на более современные ветки, такие как 8.3.16 или выше, где механизмы отрисовки интерфейса были существенно переработаны.
  3. После установки новой версии убедимся, что все пользователи запускают базу именно на новом релизе.

Решение 2: Очистка кэша и настроек окна пользователя

Иногда даже после обновления платформы формы продолжают открываться в «сжатом» виде. Это происходит из-за того, что 1С сохраняет последние настройки окон (размер и положение) в локальных файлах профиля пользователя. Разберем по шагам, как произвести очистку этих данных:

Рассмотрим вариант ручного удаления настроек интерфейса. Для этого необходимо перейти в каталог профиля пользователя Windows (обычно это %AppData%\1C\1cv8). Внутри папок с идентификаторами информационных баз нас интересуют файлы с расширением .lst.

Важный момент: за хранение настроек окон отвечают файлы v8ccsu.lst и v8uapp.lst. Если их удалить, 1С при следующем запуске создаст их заново с параметрами по умолчанию, что заставит форму отрисоваться в стандартном размере.

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

Решение 3: Программный обход через Shell.SendKeys

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

Разберем пример кода, который можно вставить в обработчик события открытия формы или в то место, где вызывается ПоказатьВыборИзСписка:


Шелл = Новый COMОбъект("WScript.Shell"); 
// Имитируем нажатие комбинации Alt + Shift + R для восстановления размера
Шелл.SendKeys("%+R");

Этот метод заставляет Windows принудительно перерисовать активное окно. Стоит учитывать, что данный способ работает только в операционной системе Windows и требует наличия прав на создание COM-объектов.

Решение 4: Настройка параметров совместимости DPI

Выясним, как можно повлиять на ситуацию на уровне настроек операционной системы. Если платформа 1С некорректно взаимодействует с масштабированием Windows, мы можем передать управление масштабированием самому приложению.

  1. Найдем исполняемый файл 1cv8.exe (обычно находится в папке C:\Program Files\1cv8\номер_версии\bin\).
  2. Нажмем правой кнопкой мыши и выберем «Свойства».
  3. Перейдем на вкладку «Совместимость».
  4. Нажмем кнопку «Изменить параметры высокого DPI».
  5. Установим галочку в пункте «Переопределите режим масштабирования высокого разрешения» и в выпадающем списке выберем «Приложение».

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

Решение 5: Сброс настроек через «Все функции»

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

  1. Зайдем в меню «Сервис» (или «Настройки» в зависимости от конфигурации).
  2. Перейдем в раздел «Очистка настроек пользователя».
  3. В открывшемся окне выберем пункт «Настройки окна».
  4. Найдем в списке те формы, которые отображаются некорректно (например, формы выбора), и нажмем «Очистить».

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

Решение 6: Переключение в «Компактный» режим интерфейса

В некоторых случаях поведение форм меняется при переключении режима внешнего вида. Посмотрим на этот параметр в меню «Настройки» — «Параметры» — «Внешний вид». Попробуйте переключиться с режима «Формы в закладках» на «Формы в отдельных окнах» или изменить плотность интерфейса с «Обычной» на «Компактную». При смене этих режимов платформа пересчитывает алгоритмы отрисовки вспомогательных окон, что может привести к корректному отображению списка выбора.

Подведем итог: наиболее эффективным решением является обновление платформы до версии 8.3.15.1830 или выше. Если это не помогает сразу, обязательно выполните очистку настроек окон в профиле пользователя или через интерфейс программы. Использование SendKeys и настроек DPI — это крайние меры, которые стоит применять только при невозможности обновления.

← На главную