Основные способы отладки программ в системе 1С

Перед тем, как перейти, наконец, к основам программирования экономических подсистем, посвятим некоторое время способам отладки программ в конфигураторе.

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

Поэтому, для того, чтобы выявить ошибки на стадии исполнения программ нам понадобится хорошее знание основных способов отладки, используемых в системе 1С. Это поможет учащимся существенно облегчить вхождение в практическую работу.

Для рассмотрения способов отладки воспользуемся созданной нами ранее обработкой “Циклы”. Напомним, что в модуле формы обработки “Циклы” нами были созданы две процедуры: “Цикл1” (для цикла со счетчиком) и “Цикл2” (для цикла с условием). Эти процедуры имеют следующий вид:

Рассмотрим на этом примере некоторые важнейшие способы отладки программы.

1. Установка точки останова.

Для того, чтобы установить точку останова в конфигураторе, нужно открыть отлаживаемый модуль, подвести курсор к выбранной строке и нажать клавишу F9 (можно также выбрать эту опцию в главном меню конфигуратора: Отладка – Точка останова). В выбранной нами строке появляется красный кружок, свидетельствующий о том, что точка останова установлена:

При необходимости можно установить несколько точек останова (все они будут отмечены значками “красный кружок” в окне модуля):

Точки останова могут быть также временно отключены (Отладка – Отключить все точки останова) и затем снова включены (Отладка – Включить все точки останова). Также можно снять все точки останова (Отладка – Убрать все точки останова), но в этом случае сразу восстановить точки останова уже не удастся. Для этого придется выставлять все точки останова заново.

Снять точку останова можно также с помощью повторного нажатия клавиши F9 на выбранной строке.

2. Начинаем отладку и запускаем программу 1С.

Запуск программы 1С из конфигуратора, как мы помним, производится с помощью клавиши F5.

В программе 1С вызываем обработку “Циклы” и нажимаем на кнопку “Цикл со счетчиком” (мы отлаживаем процедуру, связанную с этой кнопкой). Как и следовало ожидать, действие процедуры приостанавливается, и управление снова передается конфигуратору. Первая из строк, на которой была установлена точка останова, теперь помечается значком “красный кружок с желтой стрелкой” ):

3. Просмотр значений переменных.

Теперь, если мы в модуле формы подведем курсор к необходимой нам переменной, мы увидим значение, которое ей присвоено в настоящий момент. Например, если мы подведем курсор к переменной Кол, то рядом с ней в прямоугольнике появится ее значение 10, которое было задано нами по умолчанию:

Если же мы подведем курсор к переменной, которая еще не определена, то ее значение на экране не появится (она пока имеет тип “Неопределено”).

Имеется и другой способ мониторинга значений переменных: подвести курсор к исследуемому параметру, выделить его, вызвать контекстное меню с помощью правой кнопки мыши и выбрать опцию “Вычислить выражение (Shift+F9)”:

Затем можно просмотреть значение выражения в специальном окне:

Здесь мы видим, что переменная К имеет пока тип “Неопределено”, а ее значение отсутствует.

Если мы нажмем кнопку “Включить в табло”, то в процессе отладки мы сможем отслеживать значение параметра в нижней части экрана:

Примечание: Если мы поступим так же с более сложными объектами, чем переменная, то мы сможем подробно рассмотреть “структуру” этого объекта со значениями всех его параметров (как мы увидим позднее, это будет очень удобно):

4. Некоторые другие возможности отладки:

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

Перечислим некоторые из них, которые используются наиболее часто:

- Продолжить отладку (F5).

- Пошаговое выполнение, продвижение на один шаг вперед (F11) (в меню Отладка эта опция называется “Шагнуть в”).

- Исполнение вызова функции или процедуры (F10) (в меню Отладка эта опция называется “Шагнуть через”) (если при отладке встречается функция или процедура, то при выборе данной опции она исполняется за один шаг, в противном случае реализуется пошаговое исполнение).

- Прерывание пошагового исполнения функции или процедуры (Shift+F11) (в меню Отладка эта опция называется “Шагнуть из”).

- Выполнение модуля до той строки, на которой находится курсор (Shift+F10) (в меню Отладка эта опция называется “Идти до курсора”).

Возможны также перезапуск программы 1С сначала (Ctrl+Shift+F5) и прекращение отладки (Shift+F5).

5. При необходимости можно воспользоваться опцией “Замер производительности” в меню Отладка: