click fraud detection

Поиск места корректировки в коде, 1С

Дата публикации: 11.08.2017

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

1. Нужно найти, откуда вызывается сообщение об ошибке.

Если в пользовательском режиме вышло длинное сообщение об ошибке, нужно выделить часть текста ошибки, желательно без подробностей ошибки (таких, как наименование элементов справочников, номер строки, название документа и т.п.), перейти в Конфигуратор и попробовать найти часть текста ошибки в модулях конфигурации, меню Правка – Глобальный поиск… (рис. 1):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1. Правка – Глобальный поиск

В открывшемся окне Глобальный поиск по текстам ввести часть текста ошибки и нажать Искать (рис. 2):

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2. Поиск текста ошибки

Можно настроить различные параметры для поиска текста, т.к. нам нужно найти часть текста ошибки, а этот текст находится в модуле, в Типы текстов отмечаем Модули (рис. 2). На вкладке Конфигурации можно выбрать конфигурацию, в которой будет происходить поиск (Основная конфигурация или Конфигурация базы данных).

После нажатия Искать в окне Результаты поиска появится список мест, в которых найден заданный текст (рис. 3):

 

 

Рис. 3. Результаты поиска текста

Если два раза щелкнуть мышкой по выделенной найденной строке в окне Результаты поиска, то откроется модуль с выделенной найденной строкой (рис. 4):

 

Рис. 4. Найденный в модуле текст

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

Далее ставим точку останова на строке с ошибкой (двойным щелчком мышки на сером поле в строке, рис. 4, появится красный кружок). Затем запускаем отладку, если она еще не запущена: меню Отладка – Начать отладку (рис. 5):

 

Рис. 5. Запуск отладки

В отладке в режиме Предприятие выполняем действия, после которых появляется сообщение об ошибке, и в момент сообщения об ошибке срабатывает установленная ранее точка останова, у красного кружка появляется стрелка (рис. 6):

Рис. 6. Точка останова

Далее, чтобы понять, какая процедура вызвала вывод этого сообщения, переходим в меню Отладка – Стек вызовов (рис. 7):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7. Отладка – Стек вызовов

Открывается окно Стек вызовов, в котором видна вся последовательность событий, которая привела к выводу сообщения об ошибке (рис. 8):

Рис. 8. Стек вызовов

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

1. Нужно определить, когда и как происходит запись в регистр.

Для этого нужно поставить точку останова в процедуре ПередЗаписью или ПриЗаписи в Модуле набора записей нужного регистра. Если в Модуле набора записей регистра не определены эти процедуры, то можно:

1) временно определить одну из них и затем в отладке изучить последовательность переходов работы процедур до записи в регистр по стеку вызовов, аналогично поиску возникновения ошибки в пункте 1 (рис. 7, рис. 8).

2) поставить точку останова в процедуре, в которой предположительно выполняется запись в нужный регистр, и после срабатывания точки останова в Конфигураторе нажимать F11 для последовательного перехода по строкам кода до нужного места.

В процессе отладки можно смотреть значения переменных, выделяя переменную и нажимая Shift F9 (рис. 9) или меню Отладка – Вычислить выражение… (рис. 7), в поле Выражение можно написать любой выполняемый текст кода, например, ТабЗначений.Выгрузить(), где ТабЗначений – это переменная типа ТаблицаЗначений, которая существует в отлаживаемой процедуре.

Рис. 9. Вычисление выражения

Автор: Дина Королева.

 

Аренда разработчика 1С

Опытные специалисты, 1 200 руб./час

Подробнее

Другие записи в блоге

12.10.2017
Рассмотрим задачу, когда на форму нужно добавить кнопку, при нажатии на которую должно что-то произойти. Рассмотрим на примере заполнения табличной части документа.На форму на вкладку Команды –...
03.10.2017
Продолжаем рассматривать варианты размещения элементов на форме на примере вывода реквизитов документа на форму документа, состав документа представлен на рис. 1:Рис. 1. Реквизиты документа
28.09.2017
Продолжаем рассматривать варианты размещения элементов на форме на примере вывода реквизитов документа на форму документа, состав документа представлен на рис. 1:Рис. 1. Реквизиты документа

Подпишитесь на блог

Все интересные статьи нашего блога на Вашем почтовом ящике!

Подписка
 

Сервис звонка с сайта RedConnect