Наверх

Отладка в 1С Предприятие

Задайте вопрос эксперту

Подберем решение под ваши задачи

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

О том, как включить отладку по протоколу TCP-IP/HTTP описано в статье

Открываем 1С Предприятие в режиме конфигуратора, в строке меню выбираем пункт «Отладка».

1.png - ITsale
2.png - ITsale

Далее необходимо выбрать режим работы отладчика.

По умолчанию кнопка «Начать отладку» запускает отладку под тонким клиентом, но также существуют и другие режимы:

3.png - ITsale

После запуска отладки иконка 4.png - ITsale изменится на 5.png - ITsale. Также изменится и список с доступными инструментами отладки.

6.png - ITsale

Чтобы убедиться в подключении предметов отладки необходимо в списке с инструментами выбрать пункт «Подключение…» Откроется форма с подключенными предметам отладки.

7.png - ITsale
Опишем доступные инструменты на данном этапе:

  • 8.png - ITsale
    Продолжить отладку – продолжает отладку до следующей точки, если точек больше нет, запускается клиент.
  • Начало отладки – выбор клиента для отладки
  • Перезапустить – завершается текущий сеанс отладки и запускается новый
  • Завершить – завершение отладки
  • Остановить – используется при зависании, например, на зацикливании
  • Остановка по ошибке – автоматический вызов отладки при возникновении ошибки (есть функция остановки на ошибках, содержащих определенный текст)

Точка останова – это точка, прерывающая выполнение программы и производящая вызов отладчика в том месте, в котором она стоит. После вызова отладчика разработчик может исследовать состояние программы, анализировать программный код, значения переменных, просматривать стек вызовов и многое другое. Разработчик может в любое время работы отладки и в любом месте модуля выбрать где поставить точку.

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


9.png - ITsaleвключенная точка – произойдет остановка в указанном месте (если для этого соблюдены условия в программном коде)
10.png - ITsaleточка с условием – остановка произойдет по заданному условию (условие задается в конфигураторе)
11.png - ITsaleотключенная точка – остановка в указанном месте не произойдет
12.png - ITsaleточка исполнения текущего предмета отладки – стрелка указывает на исполняемый на данный момент участок кода 
13.png - ITsale

В конфигураторе также есть возможность отключить все точки останова или же вывести их список, в котором возможно групповое редактирование.

14.png - ITsale

В каркасной конфигурации для примера был создан документ «Начисление зарплаты». Для отладки используем обработку проведения. Документ состоит из табличной части на основании которой будут делаться движения в регистре расчета. Обработка проведения и документ выглядят следующим образом:

15.png - ITsale
16.png - ITsale

Для синей точки необходимо указать условие, по которому отладчик должен остановиться, иначе эта точка будет проигнорирована как серая (неактивная) точка. Нажимаем правой кнопкой мыши по синей точке и в контекстном меню выбираем пункт «Точка останова с условием…»

В открывшемся окне задаем нужное условие для вызова отладки.

17.png - ITsale

В нашем примере остановка будет происходить на той итерации цикла, когда наименование реквизита табличной части «Сотрудник» будет равно «Лоханкина».

18.png - ITsale

Приступаем к проведению документа, на форме нажимаем кнопку «Провести» происходит вызов отладки, красная точка дополнилась стрелочкой 19.png - ITsale что означает остановку на нужном нам месте.

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

20.png - ITsale

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

21.png - ITsale

Вычислить выражение – используется для вычисления значений выражений в момент отладки, выполнение выражений происходит в реальной системе, например, возможно изменить номер документа во время отладки.

Открываем окно «Выражение», поскольку наш документ в системе существует, значит у него есть ссылка. В поле «Выражение» пишем «Ссылка» и нажимаем кнопку «Рассчитать».

22.png - ITsale

Попробуем во время отладки отменить проведение документа. Для этого в поле «Выражение» пишем «Отказ» и рассчитываем выражение с помощью одноименной кнопки.

23.png - ITsale

В таблице «Результат» выбираем строку в которой хотим изменить значение, нажимаем кнопку 24.png - ITsale.Откроется окно ввода выражения, прописываем «Истина» (тем самым изменяем текущее значение «Ложь») и нажимаем кнопку «Установить».

25.png - ITsale

Система оповещает нас об успешном выполнении операции. После работы в отладчике документ проведен не будет, об этом нам сообщит система сама.

26.png - ITsale

Табло – окно, используемое для просмотра значений переменных и вычислений значений.

Нужное значение добавить в табло можно используя окно выражения. Достаточно нажать кнопку «Включить в табло» выбрав нужную строку в таблице.

27.png - ITsale

Внешний вид окна «Табло»

28.png - ITsale

Можно открыть до 4 таких окон одновременно. Для этого в окне табло вызываем контекстное меню и выбираем пункт «Закладки». Появляются вкладки для выбора нужного окна. В каждом из них возможно хранить разные значения.

29.png - ITsale
30.png - ITsale

Локальные переменные – окно, показывающее переменные внутри исполняемой на данный момент процедуры или функции в режиме отладки.

31.png - ITsale

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

32.png - ITsale

После этого открываем стек вызовов.

33.png - ITsale

Знакомая уже нам стрелка показывает текущее место выполнения отладки. Двойным кликом по другой строке мы вернемся в ту процедуру из которой произошел вызов 

34.png - ITsale
После этих действий курсор мыши автоматически переместится на то место откуда в модуле произошел вызов.
Замер производительности – функционал, позволяющий измерять скорость выполнения программного кода что помогает анализировать оптимальность и быстродействие системы.

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

35.png - ITsale

Иконка замера производительности станет выделенной 36.png - ITsale. Выполняем необходимые нам для замера действия и отключаем замер. Сразу после этих действий откроются результаты замера.

37.png - ITsale

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

Перемещение по программному коду во время отладки

38.png - ITsale

Для удобства в конфигураторе реализована возможность пошагово перемещаться в модуле, осуществляется это с помощью кнопок:
Шагнуть в – если в строке присутствует процедура или функция, то вы окажетесь внутри нее.
Шагнуть через – чтобы не оказаться внутри процедуры, которая присутствует в строке через нее можно «перешагнуть»
Шагнуть из – оказавшись внутри процедуры или функции отладка, которой вам больше не требуется используйте эту кнопку для выхода из нее
Идти до курсора – отладка остановится там, где установлен курсор мыши
Текущая строка – переход к отлаживаемой строке.


Сократите время и ресурсы на обслуживание ИТ-инфраструктуры с Тарифами 1С:ИТС.

Нет комментариев
Оставьте комментарий первым
Новый комментарий

Обратный звонок
Оцените сайт