Почему зависает ввод текста после ввода точки в Конфигураторе 1С 8.3.20 и как это исправить?

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

Разберем ситуацию, с которой довольно часто сталкиваются разработчики при переходе на платформу версии 1С 8.3.20 (в частности, на релиз 8.3.20.1710). При написании кода в редакторе модулей, после ввода символа точки ., всплывает контекстная подсказка, однако дальнейший набор текста блокируется. Приходится нажимать клавишу Esc, чтобы закрыть окно подсказки, и только после этого продолжать ручной ввод. Проанализируем причины данного поведения и выясним, как восстановить комфортную работу в Конфигураторе.

Суть проблемы с зависанием контекстной подсказки

Рассмотрим подробнее механизм возникновения этой ошибки. Блокировка ввода текста связана с программным багом фокуса во внутреннем компоненте редактора модулей, который проявился в ветке платформы 8.3.20. Когда система пытается автоматически показать доступные свойства и методы объекта после ввода точки, всплывающее окно перехватывает фокус ввода на себя, но некорректно обрабатывает последующие нажатия клавиш и не передает их обратно в основной редактор.

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

Временное решение: изменение настроек Конфигуратора

Посмотрим на практический способ обхода данной проблемы без немедленного обновления платформы. Пользователи опытным путем выяснили, что ручной вызов подсказки с помощью комбинации Ctrl+Пробел работает абсолютно корректно и не приводит к зависаниям.

Чтобы избежать постоянных неудобств, выполним следующие шаги по настройке:

  1. Откройте Конфигуратор вашей информационной базы.
  2. Перейдите в верхнем меню по пути: Сервис -> Параметры.
  3. В открывшемся окне перейдите на вкладку Модули, а затем выберите раздел Контекстная подсказка.
  4. Снимите галочку, которая отвечает за автоматический вызов подсказки при наборе текста (при вводе точки).
  5. Нажмите ОК для сохранения настроек.

После этих действий автоматическое появление окна при вводе точки прекратится, и ввод больше не будет блокироваться. Когда вам потребуется получить список свойств и методов, просто нажимайте Ctrl+Пробел.

Сопутствующая проблема: рассинхронизация позиции курсора

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

Выясним причину: как правило, этот UI-баг напрямую связан с настройками масштабирования экрана в операционной системе Windows. Ошибка дает о себе знать, если установлен масштаб отличный от стандартных 100% (например, 125% или 150%), или если в системе используется конфигурация из нескольких мониторов с разным DPI-масштабированием.

Разберем по шагам варианты решения этой визуальной проблемы:

  1. Изменение масштаба Windows: Временно установите масштаб дисплея в настройках параметров экрана Windows ровно на 100%. Это самый надежный способ проверки.
  2. Настройка совместимости платформы: Кликните правой кнопкой мыши по ярлыку запуска 1С Предприятия и выберите Свойства. Перейдите на вкладку Совместимость, нажмите кнопку Изменить параметры высокого DPI. Внизу поставьте галочку Переопределите режим масштабирования высокого разрешения и в выпадающем списке выберите масштабирование Системой или Приложением. Перезапустите 1С.
  3. Очистка кэша: Иногда сбой позиции курсора можно устранить стандартной очисткой локального кэша 1С или удалением файлов пользовательских настроек интерфейса (файлы с расширением .v8i).

Глобальное решение: обновление платформы 1С

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

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

← На главную