Как выяснилось не все 1С-разработчики в курсе, что выполнять отладку можно и при запуске конфигурации в режиме web-клиента. Ведь как оно бывает, в толстом и тонком клиенте все работает нормально, а при работе через браузер начинают появляться разного рода подводные камни.
Если такие проблемы обнаружились, то лучший способ от них избавиться – пройтись по коду отладчиком. Правда здесь есть один нюанс. После публикации приложения на web-сервере, в окне «Подключение отладки» не отображается сеанс, открытый из веб-клиента.
Мой приятель столкнулся с подобной проблемой и был уверен, что отладка при работе в режиме веб-клиента в «1С:Предприятие» в принципе невозможна. А ведь на самом деле это заблуждения. Выполнять отладку можно стандартными средствами.
Как выполнить отладку в режиме веб-клиента
Первым делом выполняем публикацию на веб-сервере (я для разработки использую Apache). Следующим шагом запускаем браузер и вбиваем url для доступа к базе:
Http://localhost/ИмяПубликацииНаСервере?debug
Http://localhost/test?debug
Если все указали правильно, то попадете на стартовую форму своей конфигурации. Вводите логин/пароль, а затем возвращаетесь в конфигуратор. В главном меню выбираете пункт «Отладка» -> «Подключение» и выбираете предмет отладки «Веб-клиент». Дальше процесс отладки выполняете в обычном режиме.

А можно и по-другому
Это далеко не единственный способ выполнять отладку веб-клиента. Указать параметры для отладчика можно:
Если не работает
Первый способ у меня работает всегда. Вот при указании URL в окне публикации решения часто возникали мистические странности. Конфигуратор периодически отказывался находить предмет отладки. Решить проблему помогал перезапуск веб-сервера. В итоге чаще я пользуюсь первым способом.
Ах, да, чуть не забыл. Если вы работаете в клиент-серверном режиме, то убедитесь, что сервер «1С:Предприятие » запущен в отладочном режиме (применяется ключ debug ).
8 назрела необходимость (о чём ниже) в значительной переработке процедуры отладки. Это отразилось в версии 8.3.7.1759. Во-первых, был создан для этой процедуры универсальный интерфейс, а во-вторых, таким изменением обеспечивается дальнейшее развитие самой программы. Ведь теперь с отладкой можно работать не только через Конфигуратор, но и с помощью Development Tools. Рассмотрим, как включить отладку на сервере 1С начиная с новой версии.
Использование нового протокола
Предыдущий отладчик, который был реализован в предыдущих версиях,осуществлял управление клиентскими и серверными приложениями с помощью протокола TCP/IP.
В настоящее время использование такого протокола стало ограничивать выход программы 1С:Предприятие в интернет и порождало неудобства для работы мобильных приложений.
Поэтому для свободного доступа к информационным базам, которые могут находиться за пределами локальной сетки, теперь принят к использованию гибкий протокол HTTP.
Новая архитектура
Ранее, осуществляя конфигураторные отладки, сотрудник должен был подключаться к информационной базе. Для этого требовалось наделить его правами администратора.
В новой версии в прямом соединении с базами нет необходимости - достаточно просто обладать такой же базой, как у клиента. А загрузить её можно из файла.
Мобильные приложения
По протоколу HTTP теперь имеется возможность отлаживать и серверные данные, и клиентские, и приложения.
Другие изменения
С новой версией в отладочной процедуре доступно изменение значений для локальных переменных, - для этой цели реализовано новое окно быстрого просмотра.
Режим вычислений изменён на асинхронный, позволяющий продолжать работу не дожидаясь результатов.
Отладчик в Development Tools
Взаимодействие с новой процедурой выполнено в специально разработанном универсальном программном интерфейсе. С одной стороны, этот интерфейс используется Конфигуратором. С другой стороны - он внедрён в новую среду 1C:Enterprise Development Tools.
Как это выглядит теперь
После изменения программы процедура происходит по следующему сценарию:

Теперь в ней участвуют не только отладчик и предметы, как это было ранее. Теперь в цепочку введён дополнительный элемент - Server.
Мало того, что он добавлен - он служит основным элементом обмена информацией между отладчиком и предметами. А сам обмен происходит посредством выстраиваемых в очередь сообщений.
А поскольку обмен этот проводится через протокол HTTP, то теперь не имеет значения, где именно могут быть расположены данные.
Обращения к серверу формируются со стороны отладчика и предметов в форме дополнительных запросов-соединений. При появлении таковых - им направляются соответствующие ответы.
Включение отладки при разных сценариях
Для прикладного разработчика не произошло никаких изменений. Значительное отличие состоит в том, что новый механизм требуется включать. Ведь по умолчанию он теперь отключён.
Рассмотрим, что же происходит при запуске режима если мы выбираем один из двух сценариев.
Файловый сценарий
В начале файлового варианта необходимо в конфигураторных настройках указать использование нового механизма - «Отладка по протоколу HTTP».
Тогда со стороны Конфигуратора будет автоматически предложено использовать локальный сервер. Это условие нужно принять и заново запустить программу в режиме Конфигуратора.

После этого вновь запущенный Конфигуратор при следующем сеансе сохранит избранный нами новый способ. Но для той же информационной базы. Поэтому при обращении к другой инфобазе его также требуется включить.
Включённый механизм теперь автоматически будет запускать Сервер отладчика, который представляет собой специальное приложение dbgs.exe. Отражается оно в окне Диспетчера задач.
Значение параметра ownerPID будет соответствовать идентификатору приложения, которое привязано к нему.
При запуске отладочного сеанса через Конфигуратор - серверное подключение произойдёт автоматически. А в нём отразятся подключённые предметы.

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

Заходим в Сервис — Параметры
Он находится в настройках предметов:

Заходим Подключение — Настройка
При использовании файлового сценария с несколькими базами одновременно нужно учесть важный нюанс, - каждый из Конфигураторов (с включённым механизмом по HTTP) отправляет свой Сервер:

Поэтому если открыто несколько Конфигураторов, то для подключения Клиента нужно указать верный из них.
Клиент-серверный сценарий
Отладка на сервере 1С по клиент-серверному сценарию, как и в предыдущем случае, начинается запуском режима. Здесь указывается использование нового механизма HTTP. Делается это таким образом:
ragent.exe -debug -http
При его запуске автоматически стартует за ним и отладчик.
Значение параметра ownerPID будет соответствовать идентификационному номеру менеджера кластера 1С.
Программой будет сформировано предложение использовать теперь отладочный сервер кластера (а не локальный как в предыдущем сценарии). Соглашаемся и перезапускаем его.

В дальнейшем всё будет проходить подобно файловому сценарию. Только при запуске Конфигуратора серверной базы локальный сервер-отладчик уже не будет запускаться.
Надеемся, что наша публикация помогла вам разобраться с проблемой, как включить отладку на сервере 1С.
Отладка 1С — очень мощный и функциональный механизм платформы 1С 8.3, позволяющий быстро найти ошибки в программном коде (в других языках программирования это называется «дебаг», от английского «debug»).
Ниже рассмотрим основные методы использования механизма отладки в виде практической инструкции на конкретном примере.
Внимание! Если Вы используете клиент-серверный режим работы (на сервере), Вам необходимо .
Самый простой способ запустить отладку в 1С — открыть 1С в режиме и из него запустить режим отладки в нужном режиме работы (тонком/толстом, управляемом/обычном):

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

В этом окне Вы можете установить соответствующий флаг.
Помимо фоновых заданий, в данном окне Вы можете включить отладку внешних соединений, http и .
Установка точки останова (брейкпойнта)
Вторым этапом при отладке является установка точки останова (в других языках программирования — брейкпойнт).
Для примера я выбрал для отладки обработчик «При изменении» на форме документа :

Для того чтобы установить точку останова, необходимо найти нужный программный код и кликнуть дважды на поле, слева от поля ввода кода (или нажать кнопку F9):

Чтобы увидеть список всех установленных, необходимо зайти в меню Отладка — Список точек останова (alt + F9):

Получите 267 видеоуроков по 1С бесплатно:
Точка останова 1С с условием (синяя)
Помимо обычной точки останова в 1С есть еще один вид точек останова — с условием. Графически такая точка отображается синим цветом. Такая точка останова очень полезна, когда нужно отловить какую-либо определенную итерацию при обходе в цикле. Отладка включится в тот момент, когда выполнится определенное условие.
Например, остановим цикл на строке с номером 25:

Неактивная точка останова (серая)
Серая точка останова означает, что она не активна, система не будет останавливаться на такой точке. Сделать не активной её можно, нажав специальную кнопку на панели «Отключить точку останова» (shift+ctrl+F9):

Точка останова по ошибке
Система может остановиться по вызванной ошибке, для этого необходимо в меню Отладка — Остановка по ошибке установить соответствующий флаг:

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

Для того чтобы сделать шаг к следующей строке, необходимо нажать кнопку «F11″(Шагнуть в).
Если Вы пошагово проходите по строчкам программного кода и на строке присутствует процедура или функция, то Вы «провалитесь» внутрь этой процедуры (или функции).
Чтобы не «проваливаться», достаточно вместо F11 (Шагнуть в) выполнять переход по строкам кнопкой F10 (Шагнуть через), эта кнопка позволяет перешагивать через процедуры в программном коде.
Чтобы перейти с текущего положения курсора к нужному, минуя промежуточные строчки кода, необходимо установить курсор на нужной строке и нажать shift + F10 (Идти до курсора).
Анализ значений в режиме отладки 1С
Посмотреть значения определенных значений можно разными способами:
Отображение значения при наведении курсора
При наведении на переменную система «подсвечивает» значения переменной:

Использование «Вычислить выражение» или «Табло»
- Форму Вычислить выражение можно вызвать с помощью контекстного меню или нажатия быстрых клавиш — (Shift + F9), или меню (Отладка — Вычислить выражение).
- Табло вызывается с помощью быстрых клавиш Ctrl + Alt +W или из меню (Отладка — Табло).
Эти два метода анализа очень похожи, основные отличия в интерфейсе. Табло удобнее использовать для группы показателей, выражения — для одиночных.
Использовать эти методы очень просто. Достаточно ввести в табло имя нужной переменной. Большой плюс произвольных вычислений — Вы можете добавить в выражение свои данные.
Например:

Очень полезно использовать вычисление выражения и выполнить запрос, выгрузить в таблицу значений и посмотреть её.
Как узнать откуда вызвана процедура в отладке — Стек вызовов
Очень часто требуется понять, откуда была вызвана та или иная процедура или функция и с какими параметрами. Для этого в 1С предусмотрена специальная функция — «Стек вызовов». Для запуска Стека вызовов необходимо нажать горячие клавиши — Ctrl + Alt + C или через меню (Отладка — Стек вызовов).
С помощью него Вы можете подробно узнать, откуда была вызвана процедура и с какими параметрами:

Если Вас интересует оценка производительности при отладке — .
Смотрите также обзорное видео по отладке в 1С:
Фактически модуль состоит из функций и процедур. Это строчки программы, объединенные названием. Внутри одной функции может быть вызвана другая, в том числе находящаяся в другом модуле.
Программа пишется в режиме Конфигуратора 1С. Программа выполняется в режиме Предприятия 1С.
А как выполняется программа?
Как выполняется программа?
Во-первых, при первом обращении к модулю, выполняются строки программы, расположенные в самом конце модуля, не заключенные в функцию или процедуру (если таковые есть).
Во-вторых, должен произойти вызов функции или процедуры. Это может быть сделано при выполнении какого-нибудь другого модуля. Если это модуль формы или модуль объекта – то в модуле есть обработчики. Обработчики – это такие функции, которые вызываются платформой 1С автоматически при возникновении определенного события. Например «при открытии формы» выполняется соответствующий обработчик (если он был назначен).
Когда появляется необходимость выполнить функцию – платформа начинает ее выполнение с первой строки программы внутри функции и идет последовательно вниз до конца функции, строчка за строчкой.
Исключение – если вызвана другая функция, тогда платформа переходит к выполнению нее и только потом возвращается обратно, откуда пришла.
Что такое отладка 1С?
Когда программа пишется – программист может только предположить как она должна работать. Когда она начинает работать по-настоящему, пользователь вводит в поля формы какие-то данные, начинают действовать определенные условия и настройки и программа внезапно может начать работать не совсем так, как предполагал программист.
При этом интересны конкретные решения, принимаемые программой, результаты сравнения в условиях «Если» и так далее.
Для этих целей используется отладка 1С. Ее общая идея состоит в том, что программист может поставить точку останова на нужной строке программы и программа остановит выполнение на ней – на паузу. В это время можно посмотреть какие значения приняли переменные и другие параметры.
Программист может нажать кнопку в отладчике 1С и программа продолжит свое выполнение, но не целиком, а только на одну строчку. И далее снова станет на паузу.
Таким образом можно отлавливать проблемные места программы.
Запуск отладки 1С
Так как программа пишется (и находится) в конфигураторе, а выполняется в режиме Предприятия, то для использования отладки 1С нужно иметь 1 конфигуратор и 1 отлаживаемый режим Предприятия:
- запущенными
- связанными.
Режим Предприятия можно сразу запустить с отладкой 1С. Для этого в конфигураторе можно использовать соответствующую кнопку как на картинке.
Или использовать меню Отладка/Начать отладку или Отладка/Начало отладки/Выбрать вариант клиента 1С.

Если же у Вас уже есть запущенная 1С в режиме Предприятие и Вы хотите подключиться к ней, нужно сделать следующие действия:
1) В клиенте 1С в режиме Предприятие в меню Сервис/Параметры на закладке «Служебные» установите галочку «Отладка в текущем сеанса разрешена»

2) В конфигураторе выберите пункт меню Отладка/Подключение
3) В открывшемся окне выделите курсором нужный клиент и нажмите кнопку Подключиться.

Точка останова 1С (брейкпоинт)
После того, как Вы связали конфигуратор и запущенный клиент отладкой 1С (то есть «подключились отладчиком 1С») – все действия программ из модулей этого клиента выполняются под контролем этого конфигуратора.
Чтобы начать смотреть как происходит выполнение – необходимо установить в нужно месте точку останова (брейкпоинт).
Для этого необходимо открыть тот модуль, который Вы хотите отлаживать. Далее найти требуемую процедуру. Точку останова можно установить следующими способами:
- Щелкнуть левой кнопкой мыши на серую полосу слева от текстов модулей
- Нажать F9
- Выбрать пункт меню Отладка/Точка останова.
В результате появится красный кружок, как на картинке. Это и есть точка останова. Как только программа, выполняющаяся в режиме Предприятие, дойдет до этой строчки, она перестанет выполняться и остановится на паузу.

Когда это произошло (программа остановилась на паузу) – на строчке, на которой сейчас «находится выполнение» будет стоять желтая стрелочка.
Чтобы просмотреть значение переменной в этот момент – выделите курсором требуемую переменную и нажмите Shift + F9.
Чтобы выполнить одну строку (то есть перейти на следующую строку) – нажмите соответствующую кнопку как на картинке или выберите пункт из меню Отладка 1С.

Точка останова с условием
Кроме обычной точки останова, можно установить такую, которая будет срабатывать только если выполняется условие, указанное в ней. Она называется «Точка останова с условием» — см. одноименный пункт в меню Отладка 1С.
Например, в программе есть цикл, который повторяется множество раз. Мы можем поставить точку останова, которая сработает на определенном повторении цикла («итерации цикла»).

Точка останова по ошибке
Для подобных целей есть точка останова, которая срабатывает когда при работе «в отладчике 1С» происходит любая ошибка или ошибки определенного вида.
Обратите внимание, что такая точка остановки отлавливает даже те ошибки, которые происходят в .
В этой статье я разберу основы работы с отладкой в . Что такое отладка и для чего она нужна? Очень часто необходимо понять, как работает тот или другой кусок кода, и какие значения содержат различные переменные. для этих целей имеет механизм отладки. В этой статье мы разберем основные моменты работы с отладкой.
Для того чтобы программа остановилось на определенном месте нужно установить точку останова. Для этого необходимо поставить курсор на нужную строку и кликнуть мышкой по левому полю. Слева появился красный кружок. Точку останова можно поставить используя главное меню
Или используя контекстное меню

В этом месте программа сделает остановку, чтобы дать возможность разработчику ознакомится с ее поведением
Обращаю Ваше внимание, что точку останова необходимо устанавливать на том месте кода, где написан какой-нибудь оператор. Либо объявлены неявно переменные.
Есть несколько вариантов, рассмотрим их все по отдельности.
Первый вариант, можно просто идти по коду, не заходя ни в какие процедуры и функции. Для этого используем кнопку «Шагнуть через» или клавишу F10.
Имейте в виду, что если отладка передает управление какой-нибудь интерактивной функции, где требуется вмешательство пользователя, то либо сразу Вас программа перекинет на 1С Предприятие, либо отладка зависнет, и тогда в 1С Предприятие придется перейти самостоятельно.
Второй способ, можно идти по коду и заходить во все написанные процедуры и функции, чтобы посмотреть, как они работают. Для этого необходимо нажать кнопку «Шагнуть В», или клавишу F11.
Если нам необходимо выйти из какой-то процедуры или функции, не дожидаясь её выполнения, то необходимо нажать кнопку «Шагнуть из» или держа клавишу Shift нажать клавишу F11.

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

Второй способ: установить курсор на нужную и нажать на кнопку «Идти до курсора», либо держа клавишу Shift нажать клавишу F10.

Если работая с кодом Вы заблудились в нём и хотите быстро вернуться к текущей строке отладки, то достаточно нажать кнопку «Текущая строка»

Как двигаться по коду в отладке мы узнали. Теперь самое главное, как узнать значения переменных? В этом нам поможет табло .
Открыть его можно несколькими способами.
Первый: используя главное меню.

Второй: используя панель «Отладка конфигурации».

Третий: используя комбинацию клавиш Ctrl + Alt + W.
Внизу появилось табло, куда мы можем внести любые переменные и увидеть их значения.

Кроме переменных примитивных типов у Вас есть возможность вносить в выражение переменные объектных типов, и посмотреть их состав этой переменной (если Вы не отлаживаете выполнение кода на в ).

В табло можно вносить и функции (как собственные, так и глобального контекста), чтобы узнать, что они будут возвращать.

Узнать значение переменной можно и без использования табло. Достаточно выделить эту переменную и нажать на кнопку «Вычислить выражение» (комбинация клавиш Shift + F9).



Посмотрите наглядную работу с отладкой в этом видео.
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг:

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы.