Разработка и Конфигурация · 10 мин
Как запустить конфигурацию 1С в режиме отладки
Как запустить конфигурацию 1С в режиме отладки: включение отладки на сервере, точки останова, отладка внешних обработок, фоновых заданий и веб-клиента.
Режим отладки в 1С — основной инструмент разработчика для поиска ошибок в коде, проверки логики обработчиков и анализа значений переменных во время выполнения. Запуск отладки занимает меньше минуты, но у начинающих разработчиков часто возникают проблемы: отладчик не останавливается на точках останова, не видит фоновые задания или не подключается к серверной базе.
Причина почти всегда одна: режим отладки требует согласованной настройки сразу нескольких компонентов — конфигуратора, клиентского приложения и, в клиент-серверном варианте, сервера 1С. Если хотя бы один из них запущен без поддержки отладки, точки останова игнорируются без каких-либо сообщений об ошибке.
Материал охватывает файловый и клиент-серверный варианты работы, отладку внешних обработок, фоновых заданий, веб-клиента и типичные ситуации, когда отладчик «не ловит» код. Инструкции применимы к платформе 8.3; в более ранних версиях набор механизмов отличается.
Что нужно проверить перед запуском отладки
Для отладки требуется запущенный конфигуратор той же информационной базы, в которой выполняется код. Пользователь, под которым запускается сеанс, должен обладать правом «Отладка» (роль или административные права). Без этого права сеанс запустится, но конфигуратор не сможет к нему подключиться.
Убедитесь, что конфигурация открыта на редактирование и в ней нет блокирующих ошибок: если модуль содержит синтаксическую ошибку, платформа не даст запустить отладку до её исправления. Для клиент-серверной базы заранее выясните, включена ли отладка на сервере — это настройка агента сервера 1С, а не конфигуратора.
Достаточно запустить отладку из конфигуратора клавишей F5
Проверьте параметры запуска службы агента сервера 1С
Проверьте настройку автоматического подключения предметов отладки
Запуск отладки в файловой базе
Файловый вариант — самый простой сценарий. Откройте базу в конфигураторе, расставьте точки останова в нужных модулях (клик по левому полю редактора модуля или клавиша F9 на нужной строке) и нажмите F5 либо выберите в меню «Отладка — Начать отладку». Платформа запустит клиентское приложение в режиме предприятия, связанное с конфигуратором.
Когда выполнение дойдёт до точки останова, управление перейдёт в конфигуратор: текущая строка подсветится, а в окне «Локальные переменные» и через «Вычислить выражение» (Shift+F9) можно посмотреть значения. Пошаговое выполнение: F11 — шаг с заходом в процедуру, F10 — шаг без захода, Shift+F11 — выход из текущей процедуры, F5 — продолжить выполнение.
- 1Откройте базу в конфигураторе под пользователем с правом отладки
- 2Поставьте точку останова (F9) в нужной строке модуля
- 3Нажмите F5 или «Отладка — Начать отладку»
- 4Выполните в режиме предприятия действие, вызывающее отлаживаемый код
- 5Проверьте значения переменных через Shift+F9 и продолжите выполнение
Если нужно просто запустить предприятие из конфигуратора без отладки, используйте Ctrl+F5 («Начать без отладки»). Это быстрее и исключает случайные остановки на забытых точках останова.
Включение отладки на сервере 1С
В клиент-серверном варианте весь серверный код выполняет рабочий процесс сервера 1С, и по умолчанию он запускается без поддержки отладки. Чтобы конфигуратор мог подключиться к серверным процедурам, агент сервера должен быть запущен с ключом -debug.
На Windows откройте реестр, найдите параметр ImagePath службы агента сервера 1С (ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services с именем агента нужной версии) и добавьте в строку запуска -debug, после чего перезапустите службу. На Linux ключ добавляется в скрипт или unit-файл запуска агента. Для отладки по HTTP используется дополнительный ключ -debug -http и публикация отладчика на веб-сервере.
После перезапуска службы проверьте, что отладка доступна: в конфигураторе откройте «Отладка — Подключение» — серверные предметы отладки должны появляться в списке доступных. Если список пуст, ключ не применился либо служба не была перезапущена.
Настройка автоматического подключения предметов отладки
Частая ситуация: точка останова стоит в коде, который выполняется не в вашем интерактивном сеансе, а в фоновом задании, в сеансе другого пользователя или в COM-соединении. Отладчик по умолчанию подключён только к запущенному из конфигуратора клиенту, поэтому такой код он не видит.
Откройте «Отладка — Подключение» и нажмите кнопку настройки автоматического подключения. Отметьте типы предметов отладки, которые конфигуратор должен подхватывать автоматически: фоновые задания, веб-сервисы, HTTP-сервисы, внешние соединения, сеансы других пользователей. После этого отладчик будет подключаться к новым сеансам выбранных типов в момент их старта.
Отладка внешних обработок и отчётов
Внешняя обработка не входит в состав конфигурации, поэтому её нельзя отладить простым нажатием F5. Порядок такой: откройте файл обработки в конфигураторе через «Файл — Открыть», расставьте точки останова в её модулях, затем запустите отладку (F5) и в режиме предприятия откройте эту же обработку через «Файл — Открыть» или через подсистему дополнительных отчётов и обработок.
Ключевое условие — файл обработки, открытый в конфигураторе, и файл, запущенный в предприятии, должны совпадать. Если вы отлаживаете одну копию файла, а запускаете другую (например, обработку из справочника дополнительных обработок, которая хранится в базе), точки останова не сработают. В таком случае сначала выгрузите актуальную версию обработки из базы и откройте именно её.
Отладка фоновых заданий и веб-клиента
Фоновые задания
Код, запущенный через ФоновыеЗадания.Выполнить или регламентные задания, исполняется в отдельном сеансе. Включите автоматическое подключение фоновых заданий (см. раздел выше), расставьте точки останова и запустите задание. Отладчик подключится в момент старта задания. Для длительных регламентных заданий удобно временно запустить их принудительно из консоли заданий, чтобы не ждать расписания.
Веб-клиент
Отладка веб-клиента требует, чтобы веб-сервер был опубликован с включённой отладкой (параметр отладки в файле default.vrd публикации), а в конфигураторе в настройках отладки («Отладка — Параметры») указан адрес отладчика. Запуск выполняется через «Отладка — Начать отладку» с выбранным типом клиента «Веб-клиент» либо подключением к уже открытому сеансу браузера через окно «Подключение».
Сравнение вариантов запуска
Подходит для файловых баз и интерактивного кода; не видит фоновые задания и чужие сеансы
Подходит для уже запущенных сеансов, веб-клиента и фоновых заданий; требует включённой отладки на сервере
Подходит для фоновых заданий и сервисов; действует только на новые сеансы после включения
Типичные ошибки и проверка результата
Самая частая жалоба — «отладчик не останавливается». Причины почти всегда из короткого списка: сервер запущен без ключа -debug, код выполняется в другом сеансе, точка останова стоит в строке, которая фактически не выполняется (например, ветка условия не срабатывает), либо конфигуратор подключён к другой базе с похожим именем.
Ещё одна ошибка — редактирование конфигурации во время отладки без обновления конфигурации базы данных: сеанс продолжает работать на старом коде, и точки останова «съезжают». После изменения модулей обновите конфигурацию базы данных (F7) и перезапустите отладку.
Как проверить результат
Видны активные предметы отладки, включая серверные
Список пуст или нет серверного предмета — проверьте ключ -debug
Значок точки сплошной, выполнение останавливается
Точка неактивна или выполнение проходит мимо — код не исполняется в подключённом сеансе
Shift+F9 показывает актуальные значения в момент остановки
Пустые или устаревшие значения — сеанс работает на необновлённой конфигурации
По завершении работы обязательно снимите все точки останова («Отладка — Снять все точки останова») и, если отладка включалась на рабочем сервере, уберите ключ -debug и перезапустите службу. Это защитит пользователей от случайных остановок и вернёт серверу полную производительность.
Что важно запомнить
Файловая база отлаживается сразу по F5, клиент-серверная требует ключа -debug на сервере, а фоновые задания и чужие сеансы — настройки автоматического подключения. После работы снимайте точки останова и отключайте отладку на сервере.
Частые вопросы
Почему отладчик не останавливается на точке останова?
Проверьте три вещи: выполняется ли вообще эта строка кода (поставьте точку выше по логике), в том ли сеансе исполняется код (включите автоподключение нужного типа предметов отладки) и обновлена ли конфигурация базы данных после правок. В клиент-серверном варианте дополнительно убедитесь, что сервер запущен с ключом -debug.
Можно ли отладить код без запуска нового сеанса?
Да. Откройте «Отладка — Подключение», найдите в списке доступных нужный сеанс и подключитесь к нему. Условие: сеанс должен работать в режиме, допускающем отладку, а для серверного кода на сервере должна быть включена отладка.
Как отладить регламентное задание, не дожидаясь расписания?
Включите автоматическое подключение фоновых заданий, затем принудительно запустите задание — например, через обработку консоли заданий или программным вызовом метода. Отладчик подхватит сеанс задания в момент старта.
Влияет ли режим отладки на работу пользователей?
На файловой базе влияние минимально. На сервере ключ -debug снижает производительность, а остановка на точке останова в серверном коде может блокировать общий рабочий процесс. Поэтому на рабочих серверах отладку включают кратковременно или переносят задачу на тестовую копию базы.
Чем отличается F5 от Ctrl+F5 в конфигураторе?
F5 запускает предприятие в режиме отладки с подключением к конфигуратору, Ctrl+F5 — обычный запуск без отладки. Второй вариант быстрее и безопаснее, когда нужно просто проверить поведение прикладного решения без остановок.
Можно ли отлаживать код на мобильной платформе?
Да, но настройка сложнее: требуется публикация мобильного приложения с включённой отладкой и указание адреса отладчика в настройках. Механизм подключения аналогичен отладке веб-клиента через окно «Подключение».