Методы отладки в 1С

Также на эту тему:
Как включить отладку 1С
Отладка 1С - где я?
Методы исправления ошибок 1С
Методы оптимизации 1С

Дополнительные материалы:
Электронная книга "Программирование 1С"

Программа – это набор строчек на языке программирования 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С» происходит любая ошибка или ошибки определенного вида.

Обратите внимание, что такая точка остановки отлавливает даже те ошибки, которые происходят в обработчике ошибок Попытка/Исключение.


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (29 голосов, среднее: 4,90 из 5)
Loading ... Loading ...

Также на эту тему:
Как включить отладку 1С
Отладка 1С - где я?
Методы исправления ошибок 1С
Методы оптимизации 1С

Дополнительные материалы:
Электронная книга "Программирование 1С"

3 комментария

Написать комментарий»
  1. Мне нужно добавить объект «Справочники» при загрузке из текстового файла,если их там нет.Подскажите,умные люди,код,пожалуйста!)

  2. […] зы: отлаживать можно как в тонком так и в толстом, а отладочного клиента как такового в восьмерке нет (в 7.7 был). Режим отладки включается отдельно и работает в обоих режимах. Методы отладки […]

Добавить комментарий