Сначала убедитесь, что отладка действительно подключена

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

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

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

Проверьте, доходит ли выполнение до выбранной строки

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

Обратите внимание на условия, циклы и ранние команды завершения. Строка внутри ветки «Иначе» не выполняется, когда истинно основное условие; тело цикла пропускается при пустой выборке; код после возврата из функции недостижим. Обработчик формы также не запустится, если пользователь совершает похожее действие, связанное с другой командой.

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

Сопоставьте открытый модуль с исполняемой конфигурацией

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

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

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

Уточните контекст выполнения: клиент, сервер или фон

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

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

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

Разберите условную точку и состояние сеанса

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

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

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

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

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

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

Когда причина находится вне проверяемого кода

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

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