ВниМАние!. Анализ кода с помощью отладчика. пРиМеЧАние. Можно просто остановиться в конкретном месте программы и посмо- треть, какие же свойства здесь доступны или какие программные объекты здесь используются
ВниМАние! Когда вы пишите процедуру, исполняемую, например, на сервере, и хотите воспользоваться синтакс-помощником, не забудьте устано- вить соответствующий флажок режима исполнения для отображения объектов встроенного языка. Анализ кода с помощью отладчика Пользоваться отладчиком наиболее удобно в тех случаях, когда нужно написать какой-то собственный код. Потому что в отличие от синтакс-помощника, где нужно, вообще говоря, хорошо представ- лять контексты исполнения, структуру объектов и пр., с помощью отладчика ничего этого представлять не нужно. Можно просто остановиться в конкретном месте программы и посмо- треть, какие же свойства здесь доступны или какие программные объекты здесь используются. Отладчик – вспомогательный инструмент, облегчающий разра- ботку и отладку программных модулей системы «1С: Предприятие». Отладчик предоставляет следующие возможности: пошаговое выполнение модуля, расстановка точек останова, прерывание и продолжение выполнения модуля, возможность отладки нескольких модулей одновременно, вычисление выражений для анализа состояния переменных, просмотр стека вызовов процедур и функций, возможность остановки по возникновению ошибки, возможность редактирования модуля в процессе отладки. Но мы пока не будем подробно останавливаться на всех этих возмож- ностях, а рассмотрим использование отладчика для того, чтобы разобраться с обработчиком события МатериалыКоличествоПриИзме- нении, приведенном в листинге 4. 1. Если в режиме Конфигуратор редактируется текст модуля, то стано- вятся доступными команды пункта главного меню Отладка, позво- ляющие расставлять и убирать точки останова. Точки останова позволяют прерывать выполнение программы в тех местах, где они установлены. Затем разработчик может проанализировать значение и тип выражений и переменных модуля в момент остановки и продолжить выполнение программы до следующей точки останова и т. д.
Итак, откроем форму документа ПриходнаяНакладная, перейдем на закладку Модуль, откроем текст процедуры МатериалыКоличе- ствоПриИзменении. Мы видим, что в пункте главного меню Отладка и на панели инструментов конфигуратора стали доступны команды для работы с точками останова (рис. 5. 36).
Рис. 5. 36. Панель инструментов «Точки останова»
Установить точку останова можно двойным щелчком мыши в служебной области слева от нужной строки. При этом в служебной области, располагающейся вдоль левой границы, появится значок точки останова. пРиМеЧАние Для установки точки останова можно также установить указатель в любое место строки модуля, в которой требуется выполнить оста- новку, и выполнить команду Отладка } Точка останова или нажать соот- ветствующую кнопку на панели инструментов Точки останова. Снять точку останова можно двойным щелчком мыши на этой точке в служебной области. пРиМеЧАние Для снятия точки останова можно также установить указатель в любое место строки модуля и выполнить команду Отладка } Отключить точку останова или нажать соответствующую кнопку на панели инстру- ментов Точки останова.
Для снятия всех точек останова нужно выполнить команду Отладка } Отключить все точки останова или нажать соответствующую кнопку на панели инструментов Точки останова. Итак, дважды щелкнем в служебной области слева от первой строки процедуры МатериалыКоличествоПриИзменении (рис. 5. 37).
Рис. 5. 37. Установка точки останова в процедуре «МатериалыКоличествоПриИзменении»
Чтобы иметь возможность отлаживать код на встроенном языке, нужно обеспечить запуск приложения, в котором исполняется код, в отладочном режиме. Для начала отладки выполним команду Отладка } Начать отладку или нажмем соответствующую кнопку на панели инструментов конфигуратора. Конфигуратор запустит «1С: Предприятие» в отладочном режиме. На самом деле мы так делали и раньше, но не устанавливали точек останова, и программа не прерывалась. Откроем список документов Приходные накладные и откроем любой из двух созданных нами документов. Изменим поле Количество в любой строке документа. Выполнение программы прервется, и в конфигураторе будет открыта процедура МатериалыКоличе- ствоПриИзменении в точке останова. Рядом с ней появится стрелка, указывающая на текущую исполняемую строку модуля (рис. 5. 38).
Также мы видим, что в пункте главного меню Отладка и на панели инструментов конфигуратора стали доступны команды для работы с конфигурацией в процессе отладки (рис. 5. 39).
Рис. 5. 39. Панель инструментов «Отладка конфигурации»
С помощью этих команд и кнопок на панели инструментов Отладка конфигурации можно пошагово выполнять программу (кнопки Шагнуть через, Шагнуть в, Шагнуть из) или продолжить отладку (кнопка Продолжить отладку) до следующей точки останова. С помощью кнопок Табло и Вычислить выражение можно получить значения интересующих вас выражений в каждый момент остановки программы. С помощью кнопки Стек вызовов можно проследить последовательность вызова процедур и функций. Но мы сейчас уже остановились в интересующей нас строке процедуры МатериалыКоличествоПриИзменении. Заметим, что эта строка еще не выполнялась, поэтому значения переменных будут еще не заполнены. Чтобы увидеть их после выполнения строки, можно нажать кнопку Шагнуть через. Итак, мы хотим понять, что означает выражение Элементы. Ма- териалы. ТекущиеДанные и что содержит этот объект в момент остановки программы. Двойным щелчком выделим слово Элементы и нажмем кнопку Вычислить выражение (Shift + F9) на панели инструментов Отладка конфигурации. В поле Выражение попадет выделенное нами слово Элементы. В соот- ветствующих колонках мы увидим значение и тип этого объекта. Мы видим, что объект Элементы является коллекцией значений ВсеЭлементыФормы, содержащей все элементы формы. Раскроем этот объект (рис. 5. 40).
Над окном Результат находится кнопка Показать значения в отдельном окне, по нажатию которой (или F2) можно будет просматривать содер- жимое коллекций. Дальше нас интересует выражение Материалы. Найдем его в списке элементов формы. Мы видим, что это объект ТаблицаФормы. Раскроем этот объект и увидим его свойства. Нас интересует свойство ТекущиеДанные. Найдем в списке и раскроем этот объект. Мы увидим данные текущей строки нашей табличной части, их значение и тип. Причем Количество содержит только что измененное нами значение (рис. 5. 41).
Закроем окно Выражение. Теперь нам нужно шагнуть в процедуру общего модуля РаботаСДокументами, где вычисляется значение переменной СтрокаТабличнойЧасти. Для этого нажмем кнопку Шагнуть в на панели инструментов Отладка конфигурации. Программа перейдет в процедуру РассчитатьСумму общего модуля РаботаСДо- кументами. Двойным щелчком выделим выражение СтрокаТаблич- нойЧасти и нажмем кнопку Вычислить выражение. Раскроем объект СтрокаТабличнойЧасти (рис. 5. 42). Мы видим, что теперь переменная СтрокаТабличнойЧасти содержит объект ДанныеФормыЭлементКоллекции. Но значения колонки Сумма еще не пересчитаны, так как вторая строка кода еще не испол- нялась. Закроем окно Выражение и еще раз нажмем кнопку Шагнуть через на панели инструментов Отладка конфигурации. Программа выполнит процедуру РассчитатьСумму общего модуля РаботаСДо- кументами и остановится в ее конце. Теперь можно подвести курсор к колонке Количество или Сумма, и система во всплывающей подсказке покажет текущее значение (рис. 5. 43).
Рис. 5. 42. Объект «СтрокаТабличнойЧасти»
Мы видим, что значения колонки Сумма пересчитались по заданному алгоритму, и, значит, объект Элементы. Материалы. ТекущиеДанные содержит новые значения.
Таким образом, можно поставить точку останова в тело цикла и смотреть значения переменных по мере его выполнения и т. д. После анализа переменных и выражений в момент остановки можно продолжить отладку, нажав кнопку Продолжить отладку. Если необ- ходимо прервать отладку, нужно выполнить команду Отладка } Завершить. В процессе отладки допускается редактирование текущей конфигурации и сохранение изменений.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|