Как найти ошибку в модуле 1с

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подписывайтесь на канал
«Полезный 1С»

В телеграм канале — наш практический опыт, бизнес-кейсы и способы повышения эффективности компании, которые мы опробовали внутри группы Neti.

.

Возврат к списку

Как быстро находить ошибки в модулях

Я
   ОффПланктон

22.11.12 — 10:17

Всем Привет, в 1С новичок и меня интересует, кто как справляется со своими проблемами в 1С, в частности как найти быстро не исправный (не корректный код)?

   France

1 — 22.11.12 — 10:19

самый быстрый — выполнить код..

а логические ошибки — никак, кроме прогона тестового примера.

   ОффПланктон

2 — 22.11.12 — 10:20

(1) тестовый прогон типа 2+2=4, так что ль?

   Maxus43

3 — 22.11.12 — 10:22

что значит «не исправный (не корректный код)?»

сначала скажи

   Megas

4 — 22.11.12 — 10:22

Конфигурация — Проверка конфигурации

   Alex S D

5 — 22.11.12 — 10:23

(0) как быстро найти? ставишь везде свои комменты, где они стоят — там ошибки)

   ОффПланктон

6 — 22.11.12 — 10:23

(3) к примеру есть отчет который работал правильно, накатили обновление — стал не работать…

   Maxus43

7 — 22.11.12 — 10:24

(6) смотря по какой причине. Синтаксис — легко найти, логику — не найти не посмотрев на него

   France

8 — 22.11.12 — 10:24

(2) именно так и ищутся логические ошибки

   Megas

9 — 22.11.12 — 10:25

Чем (4) не устраивает?

   France

10 — 22.11.12 — 10:26

тем, что автор не указывает тип ошибки… если ошибка логическая, то 4 не поможет

   GLazNik

11 — 22.11.12 — 10:27

(6) ну как… менялся отчет или не менялся… менялась ли структура данных по которым он строился или не менялась

   Aprobator

12 — 22.11.12 — 10:27

(0) внимательно прочитать текст описания ошибки. Там имя общего модуля и номер строки указаны.

   ОффПланктон

13 — 22.11.12 — 10:28

(9) я не говорил что не устраивает, я еще не пробовал) (не знал про это)

   ОффПланктон

14 — 22.11.12 — 10:36

ясно, спасибо

   ОффПланктон

15 — 22.11.12 — 10:37

а вот к примеру

Справочник.ДокументыУдостоверяющиеЛичность.Форма.ФормаСписка.Форма Неразрешимые ссылки на шрифты (2)

что означает (2)

   ОффПланктон

16 — 22.11.12 — 10:38

есть от (1) и выше в конце

   Sammo

17 — 22.11.12 — 10:39

Синтаксис — в 4.

Логика — тестирование (есть даже такая специальность тестировщик и даже различные виды тестирования, например, см. нагрузочное, регресионное)

   ОффПланктон

18 — 22.11.12 — 10:48

(17) об этом есть где почитать?

   ОффПланктон

19 — 22.11.12 — 10:52

  

John83

20 — 22.11.12 — 11:18

копируешь свою ошибку в поиск и вперед

10 сентября, 2015 admin Комментировать

В платформе встроен специальный механизм позволяющий в 1с проверить ошибки синтаксиса написания кода. Проверить есть ли в вашем программном коде на языке 1С 8 ошибки можно двумя способами:

  1. Нажать на панели Модуль кнопку Проверка модуля или Ctrl + F7;
  2. Попытаться сохранить ваш код (кнопка Сохранить или Ctrl + S)? если сохранение пройдет успешно, то ошибок нет.

Как в 1с проверить ошибки модуля

Вконтакте

Facebook

Twitter

Google+

LiveJournal

Одноклассники

Мой мир

E-mail

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

Ваш адрес email не будет опубликован.

Комментарий

Имя

Email

Сайт

Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.


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

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


Открыть проверка конфигурации 1С


Проверка конфигурации 1С

Проверка логической целостности конфигурации

Проверяется логическая целостность конфигурации. Рекомендуется запускать перед обновлением конфигурации.

Проверка некорректных ссылок

Выполняется поиск ссылок на удаленные объекты. Поиск осуществляется по всей конфигурации.

Синтаксический контроль модулей

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

  • Тонкий клиент
  • Веб клиент
  • Сервер
  • Внешнее соединение
  • Внешнее соединение(вариант клиент-сервер)
  • Мобильное приложение — клиент
  • Мобильное приложение — сервре
  • Толстый клиент (управляемое приложение)
  • Толстый клиент (управляемое приложение, вариант клиент-сервер)
  • Толстый клиент (обычное приложение)
  • Толстый клиент (обычное приложение, вариант клиент-сервер)
  • Поставка модулей без исходных текстов

Поиск неиспользуемых процедур и функций

Осуществляется поиск не экспортных процедур и функций, которые нигде не вызываются. Так же проверяются обработчики событий.

Проверка существования назначенных обработчиков

Проверяются на существование назначенные обработчики событий форм, элементов формы, интерфейсов, элементов карт маршрутов.

Поиск пустых обработчиков

Осуществляется поиск назначенных обработчиков событий, в которых не выполняются никакие действия. Наличие таких обработчиков замедляет работу системы.

Расширенная проверка

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

Поиск не поддерживаемой функциональности

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

Содержание[Убрать]

    • Любая деятельность человека допускает совершение ошибок и программирование не исключение.

Как искать ошибки в 1с?

Любая деятельность человека допускает совершение ошибок и программирование не исключение.

картинка ошибки

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

Если Вы делали первые шаги в программировании, то уже сталкивались с ошибками:
1. Поле объекта не обнаружено
2. Значение не является значением объектного типа
3. Ошибки в логике программы(ошибочные суммы, неверные данные)

В платформе 1С тоже существуют инструменты для поиска ошибок, которые в обобщенном названии называются отладчик.

Вот неполный список, что позволяют делать эти инструменты:
1. Просмотр значений переменных в т.ч. и коллекций.
2. Просмотр пути выполнения программы, т.е. как программа пришла к текущему коду.
3. Возможность остановить выполнение программы в любой точке кода и по условию.
4. Возможность остановить программу непосредственно перед ошибкой.
5. Построчно просматривать выполнение кода.
6. Увидеть как код выполняется у пользователя(например как выполняется при разных наборах прав)
7. И др.

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

Вы можете познакомиться более детально с курсом Отладка (введение).

Недостаточно прав для комментирования

Понравилась статья? Поделить с друзьями:
  • Как найти ошибку в математической задаче
  • Как найти ошибку в математике
  • Как найти ошибку в макросе vba
  • Как найти ошибку в лазарусе
  • Как найти ошибку в конфигурации