Почему тонкий клиент 1С не отображается в списке предметов отладки?

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

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

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

Причина 1. Отладка отключена в настройках запущенного клиентского сеанса

Платформа 1С:Предприятие в целях оптимизации сетевого трафика и безопасности запускает клиентские приложения с выключенным режимом отладки по умолчанию (если сеанс стартовал не напрямую из Конфигуратора по клавише F5). В таком режиме тонкий клиент просто не регистрирует себя в качестве доступного предмета отладки и не слушает порт отладчика.

Разберем, как включить отладку прямо в работающем сеансе 1С:Предприятия:

  1. В запущенном сеансе тонкого клиента перейдем в главное меню (пиктограмма с шестеренкой или треугольником в верхнем правом углу окна).
  2. Выберем пункт меню «Настройки», затем перейдем в подраздел «Параметры».
  3. В открывшемся системном диалоговом окне найдем группу параметров отладки и установим флаг «Разрешить отладку в текущем сеансе».
  4. Нажмем кнопку «ОК».

Сразу после применения этой настройки клиентское приложение инициирует соединение с отладчиком, и тонкий клиент появится в Конфигураторе в списке доступных предметов отладки меню «Отладка → Подключение».

Причина 2. Автоматический запуск сеанса в режиме отладки

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

Рассмотрим два основных варианта реализации:

  1. Использование параметров запуска в Конфигураторе: в окне Конфигуратора откроем меню «Сервис → Параметры», перейдем на закладку «Запуск 1С:Предприятия», откроем подвкладку «Дополнительные» и установим флаг «Устанавливать режим разрешения отладки».
  2. Ключ командной строки при запуске: если запуск тонкого клиента выполняется через отдельный ярлык или командный файл, добавим специальный параметр /debug. Посмотрим на пример строки запуска:

"C:\Program Files\1cv8\8.3.24.1367\bin\1cv8c.exe" enterprise /S "server-1c\base_name" /debug

Параметр /debug указывает платформе запустить сеанс с уже активированным режимом ожидания подключений отладчика.

Причина 3. Несовпадение протоколов отладки (HTTP и TCP)

Начиная с версии 8.3.7, отладка в платформе 1С:Предприятие может осуществляться по двум различным протоколам: классическому TCP/IP или через выделенный сервер отладки по HTTP. Если Конфигуратор и тонкий клиент используют разные протоколы, обнаружение предметов отладки станет невозможным.

Проанализируем параметры конфигурационного файла 1cv8.cfg, расположенного в системном каталоге настроек платформы (%APPDATA%\1C\1Cv8\ или %LOCALAPPDATA%\1C\1Cv8\). Если один из процессов настроен на HTTP-отладку, для обоих приложений должны быть согласованы параметры:

  1. Параметры запуска -debugServerAddr и -debugServerPort.
  2. Использование ключа /debuggerURL, указывающего точный адрес службы отладки HTTP.

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

Причина 4. Особенности подключения через веб-сервер

Если подключение тонкого клиента к информационной базе осуществляется не напрямую по протоколу TCP к кластеру серверов 1С, а через веб-сервер (Apache или IIS), передача команд отладки может блокироваться параметрами веб-публикации.

Разберем, как проверить и скорректировать публикацию:

  1. Откроем файл дескриптора публикации default.vrd, расположенный в каталоге опубликованной базы на веб-сервере.
  2. Проверим наличие секции отладки. Корректная запись должна содержать активный флаг разрешения:

<debug enable="true" url="http://адрес_сервера_отладки:порт" />

  1. Также можно переопубликовать информационную базу через меню Конфигуратора «Администрирование → Публикация на веб-сервере», обязательно отметив флаг разрешения отладки в диалоге публикации.

Причина 5. Сетевые экраны, порты и разрешение адресов IPv4/IPv6

При использовании стандартного протокола TCP отладчик Конфигуратора и исполняемый файл тонкого клиента 1cv8c.exe взаимодействуют через динамические локальные порты (традиционный диапазон 1560–1591).

Рассмотрим диагностику сетевых проблем:

  1. Брандмауэр Windows (Firewall): входящие подключения к процессу 1cv8c.exe могут блокироваться локальным экраном безопасности. Необходимо добавить правило, разрешающее входящие и исходящие соединения для исполняемых файлов Конфигуратора и клиента.
  2. Конфликт IPv4 и IPv6: клиентский процесс может слушать адрес ::1 (IPv6), тогда как Конфигуратор пытается подключиться к 127.0.0.1 (IPv4). Если тонкий клиент не появляется в автоматическом списке, перейдем в диалог «Отладка → Подключение», нажмем кнопку поиска предметов отладки и явно укажем локальный IP-адрес или имя рабочей станции.

Причина 6. Контекст безопасности Windows и разрядность платформы

Причина отсутствия клиента в списке отладки может лежать на уровне операционной системы:

  1. Разные права запуска (UAC): если одно приложение запущено с правами обычного пользователя, а второе — через пункт «Запуск от имени администратора», механизм изоляции пользовательских интерфейсов операционной системы (UAPI) препятствует взаимному обнаружению процессов. Запускаем и Конфигуратор, и сеанс 1С:Предприятия с одинаковым уровнем привилегий.
  2. Терминальные сессии (RDP): отладка клиентского процесса локально возможна только внутри одной и той же пользовательской сессии операционной системы.
  3. Несовпадение версий платформы: если на компьютере установлено несколько релизов или разные сборки разрядности (32-бит и 64-бит), убедимся, что клиент и Конфигуратор используют один и тот же бинарный каталог платформы.
← На главную