Сначала определите, где выполняется проблемный код
Когда не работает отладка в 1С, проверять все настройки подряд не стоит. Откройте модуль и установите, в каком контексте исполняется нужная процедура: на клиенте, на сервере либо внутри внешнего HTTP-запроса. Точка останова сработает только в том процессе, который действительно выполняет этот участок кода.
Ориентируйтесь на директивы компиляции, место вызова процедуры и свойства общего модуля. Клиентский обработчик формы и серверный метод относятся к разным предметам отладки. Если обработчик лишь вызывает функцию на сервере, точка в обработчике может сработать, а остановки внутри функции не будет из-за отсутствующего серверного подключения.
- Поставьте точку в первой строке вызывающего обработчика.
- Добавьте вторую точку непосредственно перед переходом в нужную процедуру.
- Поставьте третью точку внутри вызываемой процедуры.
- Запустите тот же пользовательский сценарий и отметьте последнюю достигнутую строку.
Такой короткий маршрут показывает границу, на которой управление переходит между контекстами. Он также помогает отличить ошибку подключения от ситуации, когда условие в программе не выполняется и нужный фрагмент вообще не вызывается.
Почему клиент пропускает точку останова
Если 1С не выполняет остановку на клиенте, убедитесь, что отладочный сеанс связан именно с запущенным экземпляром приложения. Несколько одновременно открытых информационных баз, повторный запуск клиента или работа под другой учетной записью могут привести к тому, что конфигуратор ожидает событие не в том сеансе.
Закройте лишние окна, запустите приложение из используемого конфигуратора и воспроизведите действие заново. Обратите внимание на внешний вид точки останова: интерфейс может показывать, что она недоступна для текущего предмета отладки. Точное обозначение зависит от версии платформы 8.3 и режима интерфейса.
Проверьте также, совпадает ли исполняемая конфигурация с кодом, который открыт в конфигураторе. После изменения модуля необходимо применить изменения предусмотренным для этой базы способом, а затем перезапустить сценарий. Если расширение изменяет тот же метод, фактически может исполняться не тот текст, в котором поставлена точка.
Что мешает серверной отладке 1С 8.3
Серверная отладка требует, чтобы конфигуратор мог обнаружить и подключить рабочий процесс, обслуживающий нужный сеанс. Сам клиент при этом может работать нормально: выполнение команды на сервере еще не означает, что канал отладки настроен и доступен.
- Убедитесь, что для текущей информационной базы разрешена серверная отладка.
- Проверьте, появился ли подходящий серверный предмет в списке доступных подключений.
- Уточните, в каком рабочем процессе выполняется сеанс после повторного входа.
- Сверьте параметры запуска компонентов кластера с принятой в организации настройкой.
- Проверьте сетевую доступность между рабочим местом, где открыт конфигуратор, и сервером 1С.
Конкретные параметры различаются между локальной установкой, серверным кластером и управляемой инфраструктурой. Если сервер обслуживает администратор, передайте ему время проверки, имя базы и сведения о сеансе. Самостоятельно менять параметры рабочего сервера без согласования не следует: это может затронуть других пользователей.
После перезапуска службы или перераспределения нагрузки прежний процесс способен завершиться, поэтому ранее выбранный предмет перестает соответствовать активному сеансу. Обновите список, подключитесь к актуальному процессу и только после этого повторите вызов.
Как проверить отладку HTTP-сервиса
HTTP-сервис обычно выполняется не в клиентском приложении, из которого отправлен запрос. Обращение принимает веб-сервер, а код информационной базы исполняет связанный с ним серверный процесс. Поэтому открытый клиент сам по себе не обеспечивает остановку в обработчике HTTP.
Сначала подтвердите, что запрос доходит именно до нужной публикации и нужной информационной базы. Проверьте адрес без передачи в переписке секретных параметров, имя ресурса, HTTP-метод и выбранный обработчик. Ответ с ошибкой веб-сервера до передачи управления в 1С означает, что точка внутри модуля сервиса пока не может сработать.
- Поставьте точку на первой исполняемой строке обработчика.
- Подключите серверный процесс, связанный с веб-публикацией.
- Отправьте один контрольный запрос и зафиксируйте время.
- Если остановки нет, сопоставьте время запроса с журналом регистрации и журналом веб-сервера.
При ограничениях мобильного интернета внешний запрос может не дойти до опубликованного ресурса, даже если сама 1С настроена правильно. Для проверки используйте разрешенную рабочую сеть или попросите коллегу внутри инфраструктуры повторить тот же запрос. Не передавайте ему пароли, токены, коды подтверждения и реальные персональные данные.
Как отличить проблему сети от ошибки в коде
Сетевой сбой обычно проявляется до входа в прикладной обработчик: клиент долго ожидает ответ, получает сообщение о недоступности узла либо веб-сервер не фиксирует обращение. Ошибка кода возникает позже — запрос принят, нужный модуль вызван, но выполнение идет по другой ветке или завершается исключением.
| Наблюдение | Что проверять |
|---|---|
| Не срабатывает только клиентская точка | Активный сеанс, версию конфигурации, фактический вызов процедуры |
| Клиент останавливается, сервер нет | Подключение серверного предмета и рабочий процесс |
| HTTP-запрос не виден в журналах | Адрес публикации, доступность сети и веб-сервер |
| Запрос виден, обработчик не вызван | Маршрут, метод и сопоставление ресурса |
| Остановка бывает не каждый раз | Распределение сеансов между процессами и условия выполнения |
Если мобильная сеть работает с ограничениями, не делайте вывод по одной неудачной попытке. Сохраните текст ошибки, время, тип подключения и результат контрольного запроса. Эти данные позволят администратору отличить недоступность ресурса от проблемы платформы без раскрытия учетных сведений.
Последовательность полной проверки
Начните с воспроизводимого сценария: запишите действие, ожидаемую строку и фактический результат. Затем временно перенесите точку ближе к началу вызова. Если первая точка достигается, двигайтесь по цепочке до места, где выполнение меняет контекст или отклоняется от ожидаемой ветки.
После этого последовательно исключите несовпадение конфигурации, ошибочный сеанс, неподключенный сервер и недоступный HTTP-вход. Меняйте по одному условию за попытку, иначе будет невозможно понять, какое действие восстановило отладку. Удаляйте временные диагностические изменения после проверки.
Главный ориентир: точка останова должна находиться в реально выполняемом коде, а конфигуратор — быть подключен к процессу, который этот код исполняет.
Если причина остается неясной, подготовьте для администратора минимальный отчет: версия платформы 8.3, режим работы базы, клиентский или серверный контекст, способ вызова сервиса, время попытки и обезличенный текст ошибки. Не включайте в отчет пароли, токены, содержимое рабочих документов и данные пользователей.