Как правильно настроить отладку по протоколу HTTP в 1С:Предприятие 8.3?

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

Переход с традиционной отладки по протоколу TCP на современный протокол HTTP является важным шагом при разработке мобильных приложений, работе через веб-клиент или в сложных сетевых инфраструктурах. Однако процесс настройки часто сопровождается ошибками вроде «Неверно указан протокол отладки на сервере» или потерей связи с сервером отладки — для обхода проблем есть инструмент отладки 1С в пользовательском режиме. В этой статье мы подробно разберем, как правильно сконфигурировать серверную и клиентскую части, чтобы отладка работала стабильно.

Разберем параметры запуска сервера 1С

Первым делом проанализируем ситуацию с запуском службы сервера 1С (ragent). Для активации возможности отладки по HTTP необходимо передать серверу соответствующие ключи. Рассмотрим стандартный синтаксис, который используется в операционных системах семейства Windows при настройке службы через реестр. В качестве альтернативы без включения отладки на сервере можно использовать расширение для отладки СКД и запросов под пользователем.

Важно помнить, что сервер должен понимать, какой именно протокол мы планируем использовать. Часто возникают споры о том, какой символ использовать перед параметром — дефис (-) или слэш (/). Практика показывает, что в некоторых версиях платформы и при определенных настройках операционной системы корректная работа достигается при использовании слэша.

Посмотрим на пример правильной строки параметров в реестре:


"C:\Program Files\1cv8\8.3.17.1386\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" /debug -http

Обратите внимание на пробел между /debug и -http. Если написать эти параметры слитно или допустить опечатку, сервер может запустить отладку по умолчанию (по протоколу TCP) или не запустить её вовсе. После изменения параметров в реестре обязательно выполните перезапуск службы 1С:Предприятие.

Выясним причину ошибки «Неверно указан протокол»

Часто программисты сталкиваются с ситуацией, когда в конфигураторе установлена настройка HTTP-отладки, но при запуске Тонкого клиента система выдает ошибку: «Неверно указан протокол отладки на сервере — tcp, в приложении http». Проанализируем, почему это происходит.

Основная причина кроется в том, что клиентское приложение (или сам конфигуратор) пытается подключиться к серверу отладки, используя старые кэшированные данные или неверно указанный адрес. Рассмотрим по шагам, как правильно указать адрес удаленного сервера отладки в настройках конфигуратора:

  1. Откроем меню «Сервис» — «Параметры» — «Отладка».
  2. Выберем пункт «Используется удаленный сервер отладки».
  3. В поле адрес сервера введем данные в формате ИмяСервера:Порт или IP_Адрес:Порт.

Важный нюанс: никогда не указывайте префикс http:// в поле адреса сервера отладки внутри интерфейса 1С. Система ожидает увидеть только сетевое имя и порт (по умолчанию 1550). Если вы введете http://192.168.1.10:1550, соединение не будет установлено корректно. Правильный вариант: 192.168.1.10:1550.

Настройка публикации для мобильных и веб-клиентов

Если мы планируем отлаживать мобильное приложение или веб-клиент, нам недостаточно просто запустить ragent с ключом -http. Проанализируем файл конфигурации публикации default.vrd, который находится в каталоге вашей публикации на веб-сервере (IIS или Apache).

Для того чтобы веб-сервер «пробрасывал» отладочные сообщения к серверу отладки, необходимо отредактировать секцию debug. Разберем пример того, как это должно выглядеть в файле:


<point ...>
    <debug enable="true" url="http://ваш_сервер:1550" />
</point>

В данном случае, в отличие от настроек самого конфигуратора, протокол http:// в атрибуте url указывать обязательно. Также убедитесь, что параметр enable установлен в значение true.

Проанализируем работу процесса dbgs.exe

При использовании HTTP-отладки за обмен данными отвечает отдельный компонент — Сервер отладки (процесс dbgs.exe). Он может запускаться автоматически самим агентом сервера 1С или как самостоятельное приложение.

Если вы получаете ошибку «Недопустимое состояние объекта» или «Связь с сервером отладки потеряна» (поможет мониторинг ошибок 1С с уведомлением в Telegram), выполним следующие проверки:

Параметр DefAlias и предметы отладки

Рассмотрим ситуацию, когда соединение установлено, но список «Доступные предметы отладки» пуст. Это часто случается, если в настройках отладки неверно указан идентификатор информационной базы, так называемый DefAlias.

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

В заключение отметим, что переход на HTTP-отладку требует внимательности к деталям: от каждого пробела в реестре до каждого символа в файле default.vrd. Следуя описанным шагам, мы обеспечим стабильную и быструю работу инструментов разработки в любых сетевых условиях — для этого подойдёт инструментарий для анализа метаданных и отладки 1С.

← На главную