При интенсивной разработке и отладке конфигураций в среде 1С:Предприятие 8.3 каждый программист стремится минимизировать использование мыши, полагаясь на «горячие клавиши». Одним из наиболее часто используемых инструментов отладки является окно Табло. Однако пользователи часто сталкиваются с досадным багом: при открытии окна с помощью сочетания Ctrl + Alt + W фокус ввода может непредсказуемо оказаться в колонке Значение, откуда его невозможно переместить обратно в колонку Выражение стандартными средствами навигации. Разберем детально, почему это происходит и как решить данную проблему, не отвлекаясь от экрана монитора.
Рассмотрим стандартный сценарий работы. Программист активирует отладку, доходит до точки останова и вызывает окно Табло. В нормальном состоянии курсор должен автоматически позиционироваться в левой колонке — Выражение, позволяя сразу начать ввод имени переменной или метода. Однако из-за особенностей обработки фокуса в платформе 8.3 (особенно в версиях до 8.3.20), фокус может «залипнуть» в правой колонке.
Проблема осложняется тем, что колонка Значение в режиме отладки предназначена только для чтения или для ограниченного редактирования (в зависимости от типа данных). Попытка использовать клавишу Tab для перехода между колонками часто приводит лишь к переключению режима ячейки (чтение/редактирование), но не к смене активного столбца. Проанализируем причины этого поведения:
Табло прикреплено к одной панели с другими инструментами (например, со Стеком вызовов или Локальными переменными), фокус может распределяться некорректно при переключении между ними.Выясним, какие действия помогут вернуть курсор в нужное поле без использования тачпада или мыши. Рассмотрим несколько проверенных приемов.
Использование клавиши Insert
Если вы обнаружили, что фокус находится в колонке Значение, попробуйте нажать клавишу Insert (или Ins). В большинстве списочных форм 1С эта клавиша инициирует добавление новой строки. Поскольку ввод новой строки всегда начинается с выражения, платформа будет вынуждена перебросить фокус в левую колонку первой пустой строки. Это самый быстрый способ «сбросить» застрявший фокус.
Принудительная активация через F2 и Shift+Tab
Клавиша F2 в 1С традиционно отвечает за вход в режим редактирования. Если курсор визуально находится на строке, но не активен для ввода, последовательно выполните следующие действия:
Esc, чтобы гарантированно выйти из режима редактирования любой ячейки.F2, чтобы активировать текущую строку.Shift + Tab. Обратная навигация часто срабатывает там, где прямой Tab игнорирует переход между ячейками.Метод двойного нажатия Esc
В некоторых версиях платформы помогает двойное или тройное нажатие Esc. Это заставляет контейнер окна Табло полностью сбросить текущие индексы активных элементов. После этого повторное нажатие Enter или попытка ввода текста часто возвращает фокус в начало строки.
Если баг повторяется постоянно и мешает работе, разберем более глубокие настройки системы и платформы.
Проблема часто кроется в поврежденных файлах настроек (*.mxl), где 1С хранит положение и состояние всех служебных окон. Чтобы исправить это, выполним следующие шаги:
Табло) вернутся в исходное состояние, а их внутренние параметры фокуса будут инициализированы заново.Посмотрим на ситуацию со стороны операционной системы. Если вы работаете на ноутбуке с высоким разрешением экрана, выполните корректировку свойств запуска исполняемого файла 1С:
1cv8.exe.Это заставит 1С отрисовывать интерфейс собственными силами, что часто устраняет проблемы с «кривым» фокусом в табличных частях отладчика.
Проанализируем альтернативный подход к отладке. Если Табло продолжает вести себя нестабильно, профессиональные разработчики рекомендуют использовать окно Вычислить выражение (вызывается через Shift + F9).
Преимущества этого метода:
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
РезультатЗапроса.ВыбратьСтроку();
Shift + F9 как «шлюз» для передачи данных в основное Табло, минуя баги с фокусом в последнем.В крайних случаях, когда ни один метод не помогает, стоит очистить локальный кэш. Настройки окон отладчика хранятся в подпапках профиля пользователя. Для этого необходимо:
%AppData%\1C\1cv8\.Подводя итог, можно сказать, что баг с фокусом в Табло — это следствие взаимодействия старых механизмов отрисовки таблиц 1С и современных экранных технологий. Использование Insert и Shift+Tab является наиболее эффективным «костылем», позволяющим продолжать работу без мыши, в то время как обновление платформы до актуальных релизов (8.3.22 и выше) в большинстве случаев решает проблему на корню.