Точка останова с условием

Содержание
  1. Автоматизация бизнеса на платформе 1С:Предприятие 8
  2. 1.     Варианты запуска отладки
  3. 2.      Запуск отладки в режиме, когда предмет отладки выполняется от имени пользователя 1С (не разработчика)
  4. 3.     Установка точек останова 1С
  5. 4.     Остановка по ошибке при выполнении отладки
  6. 5.     Пошаговая отладка
  7. 6.     Вычисление выражений при выполнении отладки
  8. 7.     Окно «Табло» при выполнении отладки (открывается внизу окна конфигурации в 1С)
  9. 8.     Окно “Локальные переменные” (также открывается внизу окна конфигурации в 1С)
  10. 9.     Окно “Стек вызовов” (также открывается внизу окна конфигурации в 1С)
  11. 10.  Восстановление связи с предметом отладки
  12. Хитрости отладки в 1С
  13. Крайние важные особенности отладки в 1С
  14. Как запустить отладчик от имени другого пользователя
  15. Отладка в клиент-серверном режиме
  16. У пользователя проблема, как к нему подключиться и отладить кусок кода
  17. Подключение к web-сервису, подключение к фоновому заданию
  18. Контрольные точки
  19. Min-width
  20. Max-width
  21. Одиночная точка останова
  22. Между точками останова
  23. Пять эффективных инструментов отладки в конфигураторе 1С
  24. Стек вызовов
  25. Подключение отладки
  26. Точка останова с условием
  27. Список точек останова
  28. Остановка по ошибке
  29. Отладка 1С – полная инструкция по работе
  30. Запуск отладки в 1С
  31. Отладка фоновых заданий 1С
  32. Установка точки останова (брейкпойнта)
  33. Точка останова 1С с условием (синяя)
  34. Неактивная точка останова (серая)
  35. Точка останова по ошибке
  36. Пошаговое перемещение по программному коду 1С
  37. Анализ значений в режиме отладки 1С
  38. Отображение значения при наведении курсора
  39. Использование «Вычислить выражение» или «Табло»
  40. Как узнать откуда вызвана процедура в отладке — Стек вызовов

Автоматизация бизнеса на платформе 1С:Предприятие 8

Точка останова с условием

5.     Пошаговая отладка.

6.     Вычисление выражений при выполнении отладки.

7.     Окно Табло при выполнении отладки.

8.     Окно “Локальные переменные”.

9.     Окно “Стек вызовов”.

10. Восстановление связи с предметом отладки.

В статье речь пойдет об “азах” работы с отладчиком 1С.  

1.     Варианты запуска отладки

Возможные режимы: “тонкий клиент”, “веб-клиент”, “мобильный клиент”, “мобильное приложение”, толстый клиент”, “толстый клиент (обычное приложение)”.

Не буду останавливаться на особенностях названных режимов работы 1С:Предприятия – это тема отдельной статьи. Скажу лишь, что выбор нужного режима запуска отладки осуществляется через меню “Отладка”→”Начало отладки”.

Также запуск отладки в нужном режиме можно осуществить с помощью соответствующей кнопки в панели “Конфигурация” панели инструментов конфигуратора, предварительно добавив в нее кнопки для используемых при отладке режимов запуска.  

2.      Запуск отладки в режиме, когда предмет отладки выполняется от имени пользователя 1С (не разработчика)

Часто требуется “отловить” ошибку, которая возникает только у пользователей, не имеющих полных прав, или проверить, как работает добавленный функционал у пользователей с “неполными” правами.

В таких случаях можно запустить отладку под одним из таких пользователей, выбрав его из списка в соответствующих настройках в меню “Сервис”→”Параметры”.

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

После чего нужно запустить или перезапустить отладку в выбранном режиме. 

3.     Установка точек останова 1С

Точка останова 1С без условий: позиционируемся на нужной строке кода и затем либо нажимаем “F9”, либо выполняем двойной щелчок мышью на затемненной полосе слева от белой области с кодом.

Еще можно в контекстном меню (нажатие правой кнопки мыши) выбирать пункт “Точка останова в 1С”.

На полосе слева от области с кодом появится значок установленной точки останова 1С в виде кружочка розового цвета.

Точка останова 1С с условием (когда требуется чтобы остановка отладки происходила только при выполнении определенного условия): позиционируемся на нужной строке и затем в контекстном меню (нажатие правой кнопки мыши) выбираем пункт “Точка останова с условием…”. В открывшемся поле ввода условия точки останова 1С вводим необходимое условие для срабатывания данной точки останова 1С.

На полосе слева от области с кодом появится значок установленной точки останова (по условию в виде синего кружочка со знаком вопроса).

Если требуется отключить/включить срабатывание точки останова в 1С (как простой, так и с условием): позиционируемся на нужной строке и затем либо нажимаем сочетание “Ctrl+Shift+F9”, либо в контекстном меню (нажатие правой кнопки мыши) выбираем пункт “Включить/отключить точку останова”. При этом отключенная точка останова в 1С будет обозначена кружочком серого цвета, а включенная в зависимости от типа: розовым кружочком либо синим кружочком со знаком вопроса.

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

Замечу, что возможные действия с точками останова в 1С отображаются в соответствующих группах контекстного меню (нажатие правой кнопки мыши) и пункте меню “Отладка” главного меню.

Чтобы открыть список всех установленных точек, нужно либо нажать сочетание “Alt+F9”, либо выбрать пункт меню “Отладка”→”Список точек останова” главного меню. Откроется окно со списком точек останова 1С, в котором у активных точек останова взведен флаг “Вкл./выкл.”.

Доступные действия с точками останова отображаются справа над списком.

По двойному щелчку по любой из точек в списке либо при нажатии кнопки “Перейти к исходному коду” над списком происходит открытие («переключение на») соответствующего модуля с позиционированием на соответствующей строке с установленной точкой останова.

4.     Остановка по ошибке при выполнении отладки

Существует возможность включения автоматической остановки выполнения отладки при возникновении ошибок. Для этого необходимо выбрать пункт меню “Отладка”→”Остановка по ошибке…” главного меню. Откроется окно, в котором нужно установить флаг “Останавливаться при ошибке”.

При необходимости можно установить флаг “Останавливаться только на ошибках, включающих текст” и в списке под ним добавить фрагмент уникального текста ошибки, при возникновении которой необходимо останавливаться, пропуская другие ошибки (которые не приводят к аварийному завершению выполнения кода до возникновения отлаживаемой ошибки).  

5.     Пошаговая отладка

Пошаговая отладка выполняется следующим образом.

«Шагнуть» (клавиша “F11”, или соответствующий пункт в панели “Отладка конфигурации” панели инструментов, или соответствующий пункт в меню “Отладка” главного меню).

Происходит выполнение кода текущей строки, и курсор отладки останавливается на следующей строке кода.

При этом, если курсор отладки находился на строке с вызовом какой-либо процедуры (функции), происходит переход курсора на первую строку в теле вызванной процедуры (функции).

«Шагнуть через» (клавиша “F10” или соответствующий пункт в панели “Отладка конфигурации” панели инструментов, или соответствующий пункт в меню “Отладка” главного меню).

Если курсор отладки находился на строке с вызовом какой-либо процедуры (функции), происходит переход курсора на следующую за этой строкой кода строку без остановки в этой процедуре (функции).

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

Следующее действие в Пошаговой отладке: «шагнуть из» (сочетание “Shift+F11” или соответствующий пункт в панели “Отладка конфигурации” панели инструментов, или соответствующий пункт в меню “Отладка” главного меню).

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

После чего курсор отладки позиционируется на строке после той, из которой произошел вызов данной процедуры (функции).

«Идти до курсора» (сочетание “Shift+F10”, или соответствующий пункт в панели “Отладка конфигурации” панели инструментов, или соответствующий пункт в меню “Отладка” главного меню).

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

После чего курсор отладки позиционируется на строке, на которой находится курсор редактора кода.  

6.     Вычисление выражений при выполнении отладки

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

А можно выделить курсором название переменной и нажать “Shift+F9”.

Еще вариант: выбрать соответствующий пункт в контекстном меню (нажатие правой кнопки мыши), на панели инструментов “Отладка конфигурации либо в меню “Отладка” главного меню.

Откроется окно, в котором в поле “Выражение” будет название переменной, а в поле “Результат” – текущее значение переменной и ее тип. В поле “Выражение” можно указывать не только названия переменных, но и выражения для вычисления, в том числе производить вызовы любых доступных из данной процедуры функций текущего модуля или общих модулей конфигурации, или функций встроенного языка 1С.  

7.     Окно «Табло» при выполнении отладки (открывается внизу окна конфигурации в 1С)

При желании в окне “Вычислить выражение” можно, нажав кнопку “Включить в табло”, добавить выражение из поля “Выражение” или выделенное свойство в поле “Результат” в служебное окно «Табло» внизу окна конфигурации в 1С, в которое можно добавить и просматривать результаты вычисления интересующих переменных (выражений) в процессе пошаговой отладки. Окно «Табло» также можно открыть либо в панели инструментов “Отладка конфигурации” панели инструментов, либо в меню “Отладка” главного меню. 

8.     Окно “Локальные переменные” (также открывается внизу окна конфигурации в 1С)

   Похожий на окно «Табло» функционал реализован в окне “Локальные переменные”, в котором в процессе пошаговой отладки можно просматривать значения локальных переменных текущей процедуры (функции).

#Локальные переменные

Для переменных и свойств в окнах “Вычислить выражение”, “Табло” и “Локальные переменные” в контекстном меню (нажатие правой кнопки мыши) доступен пункт “Установить новое значение в виде выражения”, при выборе которого отрывается окно, в котором можно установить новое значение переменной (свойства).

Отмечу также, что в окнах “Вычислить выражение” и “Табло” доступно непосредственное редактирование значений переменных (свойств), а также рекурсивное разворачивание (нажатием на пиктограмму “плюс” слева от переменной(свойства)) их вложенных свойств.

9.     Окно “Стек вызовов” (также открывается внизу окна конфигурации в 1С)

С помощью Окна “Стек вызовов” мы можем, например, исправить следующую ошибку: в какой-то процедуре (функции) возникает ошибка из-за некорректного значения одного из параметров вызова, которое передавалось по цепочке вызывающих друг друга процедур и функций. Мы можем “выследить” ту процедуру или функцию, которая оказалась “источником” некорректной установки значения параметра, переданного далее по цепочке.

10.  Восстановление связи с предметом отладки

Возникают ситуации, когда теряется связь с предметом отладки (чаще всего для кода, выполняемого на сервере). То есть отладчик перестает останавливаться на точках останова.

В таких случаях обычно помогает в окне “Подключение” меню “Отладка” главного меню отключить и снова подключить требуемый предмет отладки (клиент, сервер и т.д.).

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

Специалист компании ООО «Кодерлайн»

Аскер Жансуев

Источник: https://www.koderline.ru/expert/instruktsii/article-rabota-s-otladchikom-instruktsiya-dlya-chaynikov/

Хитрости отладки в 1С

Точка останова с условием

Отладка – это основной инструмент которым должен овладеть начинающий программист. Без отладки написание любой более менее сложной функции и\или объекта превратиться в настоящую муку. Сам я выбираю такой способ, хорошо себя зарекомендовавший себя: пишу блок кода в 50-100 строк не останавливаясь и не проверяя отладчиком.

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

Затем однократно полностью прохожу весь код построчно, останавливаясь на каждой переменной и сверяю ее “тип значения”, а также ее “значение” с тем что было спланировано перед доработкой.

  • Запуск отладчика производится с панели, нажатием на соответствующую кнопку (F5):
  • Чтобы остановить отладчик на нужной строке, надо поставить красную точку (двойным кликом) слева от строки, она называется точка останова:
  • После того как отладчик остановится на строке выделяем любую переменную и жмем Shift+F9 (или кнопку на панели вверху)
  • Переход по строкам, с заходом в вызываемые процедуры – F11
  • Переход по строкам, не заходя в процедуры которые вызываются в вашем коде – F10

Крайние важные особенности отладки в 1С

  • Если необходимо быстро перейти к строке, на которой платформа “вываливается” с ошибкой, то необходимо установить флаг “Останавливаться по ошибке”:
  • Если в есть подозрение что где то в коде спрятана “попытка\исключение” и вы не можете найти это место, хотя есть мнение что она отсекает крайне важное для вас событие, то необходимо установить этот же флаг остановки. При ошибке в блоке “попытка..исключение” отладчик остановится на этой строке.
  • Если программа зависла на выполнении, допустим где-то бесконечный цикл, то можно легко перейти на строку, которая выполняется в данный момент, если нажать Меню “Отладка – Остановить”.
  • Если вы находитесь в процедуре и не знаете откуда она была вызвана – необходимо вызвать окно “стек вызовов”, в нем будет видно всю цепочку вызова процедур:
  • При обнаружении ошибки необходимо не прекращая отладки менять код и идти дальше. Интересная особенность, только что измененный код часто можно сразу же проверить на работоспособность. Например у вас есть код “Если А=Б Тогда” в результате отладки вы понимаете что код надо поменять. Даже если отладчик спустился уже на строку ниже смело меняем на “Если АБ Тогда”, тутже выделяем блок “АБ” и жмем Shift+F9, в окне вычисляющим выражение будет уже новый код и значение вычисленное по этому новому куску кода.

Как запустить отладчик от имени другого пользователя

  1. В конфигураторе нажать “Сервис – Параметры” и задать имя пользователя на вкладке “Запуск 1С:Предприятия”:
  2. Затем запустить отладчик в требуемом режиме:
  3. В итоге на экран будет выдано окно авторизации под заданным пользователем:

Отладка в клиент-серверном режиме

В режиме клиент-сервер, начинающего программиста ждет сюрприз,  отладчик прекрасно “входит” в процедуры “на клиенте” но дойдя до вызова серверной процедуры не заходит в нее, а как бы проходит строку, если вы бы вы нажали “шагнуть через F10”. Причина проста – отладчику необходим доступ к серверной части 1С, и пока вы его не откроете вы не сможете отлаживать “серверный” участок кода.

Как включить отладку на сервере. Все очень просто необходимо изменить параметры запуска службы 1С-сервера:

  1. Открываем реестр (на ПК где крутится сервер 1С:предприятия) – пуск – regedit
  2. Ищем в реестре виндоус службу 1С, примерно по такому пути: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.3 Server Agent
  3. В ключе ImagePath добавляем параметр “-debug”, не забываем оставить пробелы.
  4. После правки реестра перезапускаем службу через панель управления – .. службы.
  5. Готово! Теперь отладчик будет заходить внутрь серверных модулей\процедур.

У пользователя проблема, как к нему подключиться и отладить кусок кода

Бывают ситуации когда возникает трудноуловимая ошибка и появляется только у одного пользователя. Если ошибку пользователю удается воспроизвести, можно подключиться отладчиком к уже запущенному процессу пользователя и отладить процедуру. Как сделать:

  1. В запущенной программе пользователя поставить флаг разрешающий отладку в этом сеансе. В меню – сервис – параметры – отладка в текущем сеансе.
  2. запустить рядом конфигуратор и нажать меню “отладка” – “подключение” – в списке “доступные предметы отладки” появится сеанс проблемного пользователя.

Подключение к web-сервису, подключение к фоновому заданию

Для того чтобы отладить web-сервис надо поймать нужный “поток” на сервере. А это означает а) надо включить отладку на сервере (см. выше) б) надо включить спец. флажок, который позволит перехватить управление потоком.

Включение перехвата:

  1. Установить точку останова на процедуре, которую необходимо отладить.
  2. Меню “отладка” – “подключение” – “автоматическое подключение…”- установить флажок “web-сервисы..\фоновые задания”.
  3. Дальше ждем когда точка останова сработает – готово! сеанс перехвачен.
  4. Далее если ваша база более менее “живая”, необходимо убрать вышеустановленные флажки и только затем продолжить отладку процедуры. Если этого не сделать то при переходе к следующей строке у вас начнется чехарда с перескоками между строк. Ведь к вам будут подключаться все новые и новые фоновые задания и web-сервисы.

Источник: https://codexp.ru/interesnoe/zametki-po-1s/18-khitrosti-otladki-v-1s

Контрольные точки

Точка останова с условием

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

  • Точки останова – это строительные блоки адаптивного дизайна. Используйте их, чтобы контролировать, когда ваш макет может быть адаптирован к определенному окну просмотра или размеру устройства.
  • Используйте медиа-запросы для создания вашего CSS по точке останова. Медиа-запросы – это функция CSS, которая позволяет вам условно применять стили на основе набора параметров браузера и операционной системы. Мы чаще всего используем min-width в наших медиа-запросах.
  • Прежде всего, мобильные устройства, наша цель – адаптивный дизайн. CSS Bootstrap нацелен на применение минимума стилей, чтобы макет работал с наименьшей точкой останова, а затем наложение стилей для настройки этого дизайна для более крупных устройств. Это оптимизирует ваш CSS, сокращает время рендеринга и обеспечивает отличный опыт для ваших посетителей.

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

Точка останова Инфикс класса Размеры
X-маленькийНикто0–576 пикселей
Маленькийsm≥576 пикселей
среднийmd≥768 пикселей
Большойlg≥992 пикселей
Очень большойxl≥1200 пикселей
Очень очень большойxxl≥1400 пикселей

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

Эти точки останова можно настраивать через Sass – вы найдете их на карте Sass в нашей _variables.scss таблице стилей.

$grid-breakpoints: ( xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px );

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

Поскольку Bootstrap разработан в первую очередь для мобильных устройств, мы используем несколько медиа-запросов для создания разумных точек останова для наших макетов и интерфейсов. Эти точки останова в основном основаны на минимальной ширине области просмотра и позволяют увеличивать размеры элементов по мере изменения области просмотра.

Min-width

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

// Source mixins // No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { … }` @include media-breakpoint-up(sm) { … } @include media-breakpoint-up(md) { … } @include media-breakpoint-up(lg) { … } @include media-breakpoint-up(xl) { … } @include media-breakpoint-up(xxl) { … } // Usage // Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint .custom-class { display: none; } @include media-breakpoint-up(sm) { .custom-class { display: block; } }

Эти миксины Sass переводятся в наш скомпилированный CSS с использованием значений, объявленных в наших переменных Sass. Например:

// X-Small devices (portrait phones, less than 576px) // No media query for `xs` since this is the default in Bootstrap // Small devices (landscape phones, 576px and up) @media (min-width: 576px) { … } // Medium devices (tablets, 768px and up) @media (min-width: 768px) { … } // Large devices (desktops, 992px and up) @media (min-width: 992px) { … } // X-Large devices (large desktops, 1200px and up) @media (min-width: 1200px) { … } // XX-Large devices (larger desktops, 1400px and up) @media (min-width: 1400px) { … }

Max-width

Иногда мы используем медиа-запросы, которые идут в другом направлении (данный размер экрана или меньше):

// No media query necessary for xs breakpoint as it's effectively `@media (max-width: 0) { … }` @include media-breakpoint-down(sm) { … } @include media-breakpoint-down(md) { … } @include media-breakpoint-down(lg) { … } @include media-breakpoint-down(xl) { … } @include media-breakpoint-down(xxl) { … } // Example: Style from medium breakpoint and down @include media-breakpoint-down(md) { .custom-class { display: block; } }

Эти миксины берут объявленные точки останова, вычитают .02px из них и используют их в качестве наших max-width значений. Например:

// X-Small devices (portrait phones, less than 576px) @media (max-width: 575.98px) { … } // Small devices (landscape phones, less than 768px) @media (max-width: 767.98px) { … } // Medium devices (tablets, less than 992px) @media (max-width: 991.98px) { … } // Large devices (desktops, less than 1200px) @media (max-width: 1199.98px) { … } // X-Large devices (large desktops, less than 1400px) @media (max-width: 1399.98px) { … } // XX-Large devices (larger desktops) // No media query since the xxl breakpoint has no upper bound on its width Зачем вычитать 0,02 пикселя? В настоящее время браузеры не поддерживают запросы контекста диапазона , поэтому мы обходим ограничения min-и max-префиксы и области просмотра с дробной шириной (что может происходить при определенных условиях, например, на устройствах с высоким разрешением), используя значения с более высокой точностью.

Одиночная точка останова

Существуют также медиа-запросы и миксины для нацеливания на один сегмент размеров экрана с использованием минимальной и максимальной ширины точки останова.

@include media-breakpoint-only(xs) { … } @include media-breakpoint-only(sm) { … } @include media-breakpoint-only(md) { … } @include media-breakpoint-only(lg) { … } @include media-breakpoint-only(xl) { … } @include media-breakpoint-only(xxl) { … }

Например @include media-breakpoint-only(md) { … }, результатом будет:

@media (min-width: 768px) and (max-width: 991.98px) { … }

Между точками останова

Точно так же медиа-запросы могут охватывать несколько значений ширины точки останова:

@include media-breakpoint-between(md, xl) { … }

Что приводит к:

Источник: https://bootstrap5.ru/docs/layout/breakpoints

Пять эффективных инструментов отладки в конфигураторе 1С

Точка останова с условием

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

Стек вызовов

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

Или, используя панель «Отладка конфигурации»

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

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

На этом рисунке мы кликнули на вторую сверху строку стека вызова, и открылось место в модуле, где произошел вызов процедуры «ПечатнаяФорма», в которой сработала точка останова.

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

Подключение отладки

Обычно, разработчики запускают отладку кода в конфигураторе 1С, используя кнопку «Начать отладку».

Этот метод очень удобен, и, конечно же, имеет право на жизнь. Но очень часто могут возникать следующие ситуации:

  • 1С: Предприятие уже запущенно и в нем выполняется какой-то процесс, остановить Вы его не можете
  • Нужно отладить работу программы под пользователем, у которого нет прав на работу с конфигуратором

В этом случае, после открытия конфигуратора 1С необходимо подключить отладку к уже запущенному сеансу. Сделать это можно при помощи команды «Подключение» меню «Отладка».

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

Чтобы начать отлаживать нужный тип подключения, достаточно выделить соответствующую строку и нажать на кнопку «Подключить» (дважды кликнуть левой кнопкой мышки).

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

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

Подробно о клиентском и серверном контексте формы читайте в моей книге: Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов

Обычно, нельзя подключиться к пользовательскому сеансу. Чтобы это стало возможным, необходимо в параметрах пользовательского приложения 1С включить возможность отладки. Установить в параметр «Откладка в текущем сеансе» значение «Разрешена (протокол TCP/IP)» , когда отлаживаем работу по локальной сети.

В этом случае отладка будет включена единовременно. Если мы хотим, чтобы под этим пользователем всегда была включена отладка, то нужно в параметр «Отладка при перезапуске» установить значение  «Разрешена (протокол TCP/IP)»

Точка останова с условием

Очень часто нужно остановиться в каком-то месте кода не просто так, а когда какая-нибудь переменная принимает определенное значение. В этом нам поможет точка останова с условием.

При установке точки останова с условием, в условие необходимо указать какое-либо булево выражение.

Можно задать различные комбинации условий

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

Список точек останова

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

Или  с помощью комбинации клавиш Alt + F9

В этом списке можно как включить-выключить нужную точку останова, так и перейти в модуль, где эта точка находится. Достаточно просто дважды кликнуть по нужной строке.

У формы списка точек останова есть очень интересные возможности сохранения и последующей загрузки сохраненных точек останова, которые осуществляются при помощи кнопок «Сохранить» и «Открыть файл»

Остановка по ошибке

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

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

Включить остановку по ошибке достаточно просто: Главное меню – Отладка- Остановка по ошибке.

В открывшемся окне нужно установить флаг «Остановка по ошибке» и нажать на кнопку «Ок».

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

И Вы при помощи табло (или Вычислить выражение) сможете проанализировать значения переменных, которые, возможно, привели к ошибке.
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Книга «Основы разработки в 1С: Такси»

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

: https://.com/1c_prosto
Фейсбуке: https://www..com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://.com/signum2009

Источник: https://www.1s-up.ru/5_effectivnich_instrumentov_otladki_v_konfiguratore_1c/

Отладка 1С – полная инструкция по работе

Точка останова с условием

Отладка 1С — очень мощный и функциональный механизм платформы 1С 8.3, позволяющий быстро найти ошибки в программном коде (в других языках программирования это называется «дебаг», от английского «debug»).

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

Внимание! Если Вы используете клиент-серверный режим работы (на сервере), Вам необходимо включить отладку на сервере 1С Предприятия.

Запуск отладки в 1С

Самый простой способ запустить отладку в 1С  — открыть 1С в режиме конфигуратор и из него запустить режим отладки в нужном режиме работы (тонком/толстом, управляемом/обычном):

Рекомендуем при рядовой разработке использовать режим отладки «Толстого клиента». Но в чистовом варианте всегда прогонять в режиме «тонкого» и «веб-клиента».

Отладка фоновых заданий 1С

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания – попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

В этом окне Вы можете установить соответствующий флаг.

Помимо фоновых заданий, в данном окне Вы можете включить отладку внешних соединений, http и web-сервисов.

Установка точки останова (брейкпойнта)

Вторым этапом при отладке является установка точки останова (в других языках программирования — брейкпойнт).

Для примера я выбрал для отладки обработчик «При изменении» на форме документа Доверенность:

Для того чтобы установить точку останова, необходимо найти нужный программный код и кликнуть дважды на поле, слева от поля ввода кода (или нажать кнопку F9):

Чтобы увидеть список всех установленных, необходимо зайти в меню Отладка — Список точек останова (alt + F9):

Точка останова 1С с условием (синяя)

Помимо обычной точки останова в 1С есть еще один вид точек останова — с условием. Графически такая точка отображается синим цветом. Такая точка останова очень полезна, когда нужно отловить какую-либо определенную итерацию при обходе в цикле. Отладка включится в тот момент, когда выполнится определенное условие.

Например, остановим цикл на строке с номером 25:

Неактивная точка останова (серая)

Серая точка останова означает, что она не активна, система не будет останавливаться на такой точке. Сделать не активной её можно, нажав специальную кнопку на панели «Отключить точку останова» (shift+ctrl+F9):

Точка останова по ошибке

Система может остановиться по вызванной ошибке, для этого необходимо в меню Отладка — Остановка по ошибке установить соответствующий флаг:

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

Пошаговое перемещение по программному коду 1С

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

Для того чтобы сделать шаг к следующей строке, необходимо нажать кнопку «F11″(Шагнуть в).

Если Вы пошагово проходите по строчкам программного кода и на строке присутствует процедура или функция, то Вы «провалитесь» внутрь этой процедуры (или функции).

Чтобы не «проваливаться», достаточно вместо F11 (Шагнуть в) выполнять переход по строкам кнопкой F10 (Шагнуть через), эта кнопка позволяет перешагивать через процедуры в программном коде.

Чтобы перейти с текущего положения курсора к нужному, минуя промежуточные строчки кода, необходимо установить курсор на нужной строке и нажать shift + F10 (Идти до курсора).

Анализ значений в режиме отладки 1С

Посмотреть значения определенных значений можно разными способами:

Отображение значения при наведении курсора

При наведении на переменную система «подсвечивает» значения переменной:

Использование «Вычислить выражение» или «Табло»

  • Форму Вычислить выражение можно вызвать с помощью контекстного меню или нажатия быстрых клавиш — (Shift + F9), или меню (Отладка — Вычислить выражение).
  • Табло вызывается с помощью быстрых клавиш Ctrl + Alt +W или из меню (Отладка — Табло).

Эти два метода анализа очень похожи, основные отличия в интерфейсе.

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

Использовать эти методы очень просто. Достаточно ввести в табло имя нужной переменной. Большой плюс произвольных вычислений — Вы можете добавить в выражение свои данные.

Например:

Очень полезно использовать вычисление выражения и выполнить запрос, выгрузить в таблицу значений и посмотреть её.

Как узнать откуда вызвана процедура в отладке — Стек вызовов

Очень часто требуется понять, откуда была вызвана та или иная процедура или функция и с какими параметрами. Для этого в 1С предусмотрена специальная функция — «Стек вызовов». Для запуска Стека вызовов необходимо нажать горячие клавиши — Ctrl + Alt + C или через меню (Отладка — Стек вызовов).

С помощью него Вы можете подробно узнать, откуда была вызвана процедура и с какими параметрами:

Если Вас интересует оценка производительности при отладке — Замер производительности при отладке.

Смотрите также обзорное видео по отладке в 1С:

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник: https://programmist1s.ru/otladka-1s/

Все лайфхаки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: