Почему серверный код проходит мимо точки останова

Когда в 1С 8.3 не работает отладка на сервере, одной установленной точки останова недостаточно. Конфигуратор должен видеть именно тот серверный процесс, в котором выполняется нужный код, а кластер должен разрешать подключение отладчика. Если debug включен только для клиентского сеанса, остановки в серверном общем модуле, обработчике фонового задания или коде расширения не произойдёт.

Сначала убедитесь, что проверяемая строка действительно исполняется. В свойствах общего модуля посмотрите, разрешён ли его вызов на сервере, а в коде определите, не уходит ли выполнение на клиент. Условная компиляция, возврат из процедуры и ранее сработавшее условие способны создать впечатление, что точка игнорируется. Поставьте дополнительную точку в начале вызываемой процедуры и повторите действие.

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

Как проверить разрешение на отладку в кластере

Для серверного варианта 1С разрешение задаётся на стороне кластера или при запуске его компонентов. Точное название переключателя и место настройки зависят от выпуска платформы и используемой оснастки администрирования. Проверьте свойства кластера, рабочего сервера и параметры запуска службы; ищите настройку, относящуюся к разрешению отладки. Если её изменил администратор, серверным процессам может потребоваться штатный перезапуск.

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

Важно проверить согласованность компонентов. Конфигуратор, клиент и сервер должны относиться к совместимому выпуску платформы 8.3. После обновления на рабочем месте старый ярлык иногда запускает другую установленную версию. Номер выпуска виден в сведениях о программе и свойствах серверных компонентов; сравнивайте полные значения, а не только обозначение 8.3.

Как подключиться к правильному предмету отладки

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

  1. Запустите пользовательское действие, которое воспроизводит проблему, но не завершайте его раньше времени.
  2. Обновите список доступных предметов отладки и найдите сеанс по пользователю, приложению и информационной базе.
  3. Подключите найденный предмет, затем повторите действие с установленной точкой останова.
  4. Если выполняется фоновое задание, ищите соответствующий серверный процесс, а не клиентский сеанс.
  5. После проверки отключите лишние предметы, чтобы следующие остановки не возникали в чужих сеансах.

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

Что означает неактивная или пустая точка останова

Внешний вид точки подсказывает направление проверки. Если она отображается как неподтверждённая, отладчик пока не сопоставил строку с исполняемым модулем. Причиной бывает неподключённый предмет, несовпадение конфигураций, неисполняемая строка или модуль, отсутствующий в текущем контексте. Перенесите остановку на оператор присваивания, вызов процедуры либо условие, которое точно выполняется.

Не ставьте точку на комментарий, объявление процедуры, пустую строку или директиву компиляции. Проверьте также условия точки останова: ошибочное выражение либо условие, которое всегда ложно, выглядит как неисправная отладка. Для первого теста уберите условие и счётчик срабатываний. Когда обычная остановка заработает, возвращайте ограничения по одному.

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

Как влияет ограниченный мобильный интернет

При удалённой работе отладчик поддерживает длительный обмен между конфигуратором и сервером. Ограничения мобильного интернета могут не мешать уже открытой форме 1С, но прервать получение списка процессов, подключение к предмету или передачу состояния после остановки. Поэтому доступность приложения сама по себе не подтверждает, что служебный канал debug работает устойчиво.

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

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

Последовательная проверка без риска для рабочей базы

Начинайте с воспроизводимости: база, пользователь, команда и ожидаемая процедура должны быть известны. Затем сверяйте конфигурацию базы, версию клиента и сервера, разрешение отладки, доступность нужного предмета и только после этого сетевое соединение. Такой порядок отделяет ошибку кода от настройки кластера и не требует случайно менять несколько параметров одновременно.

НаблюдениеЧто проверитьСледующий шаг
Клиентская точка работает, серверная нетРазрешение в кластере и серверный предметПодключить нужный сеанс или процесс
Точка выглядит неподтверждённойВерсию конфигурации и исполняемую строкуОбновить базу и переставить точку
Фоновое задание не останавливаетсяТип предмета и момент подключенияПодключиться до повторного запуска
Связь оборвалась после остановкиСостояние сети и существование сеансаПереподключиться и воспроизвести заново

Для проверки выбирайте безопасную операцию без проведения документов и массового изменения данных. Запишите каждый изменённый параметр и итог шага. Если после подключения правильного предмета и сверки версий остановки нет, соберите журнал регистрации за узкий интервал и сообщения платформы. Их анализ лучше передать администратору 1С, указав точное время и сценарий.