Отладка клиентского приложения в 1С

Отладка клиентского приложения в 1С

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

Для работы с «Отладчиком» используется пункт меню «Отладка» и панели инструментов: «Отладка конфигурации», «Точки останова» и «Предмет отладки».

Панели и пункты меню отладки

Запуск отладчика

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

Запуск конфигурации для отладки

Если конфигурация уже запущена в режиме 1С:Предприятие и необходимо выполнить ее отладку, без закрытия текущего сеанса, то необходимо запустить конфигуратор, выполнить пункт меню «Отладка – Подключение…». Заранее в режиме 1С:Предприятие в «Параметрах» нужно разрешить отладку используя параметр «Отладка в текущем сеансе».

Включение отладки в текущем сеансе

После разрешения в окне «Параметры отладки» в списке «Доступные предметы отладки» появятся записи доступных сеансов для отладки.

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

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

Точки останова

Для остановки на конкретной строке в коде программного модуля «Отладчик» использует «Точки останова» устанавливаемые на полях программных модулей, после остановки управление передается отладчику.

Существует несколько разновидностей «Точек останова»:

  • Безусловные (красные) – при достижении ее, исполнение программного модуля останавливается в любом случае
  • С параметром (синие) – при достижении ее, исполнение программного модуля останавливается только в том случае, если заданное условие точки остановы истинно
  • Выключенные (серые) – при достижении ее, исполнение программного модуля продолжается

Режимы выполнения кода

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

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

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

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

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

В отладчике предусмотрен режим «Остановки по ошибке». Включается пунктом меню «Отладка – Остановка по ошибке…». В окне имеется настройка остановки на любых возникающих ошибках или только на ошибках, включающих определенный текст.

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

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

Список «Точек останова» можно посмотреть в специальном окне «Точки останова», данное окно вызывается пунктом меню «Отладка – Список точек останова».

Окно «Точки останова»

В окне «Точки останова» можно выполнить ряд действий используя панель действий:

– настроить условия и действия при срабатывании «Точки останова»

– перейти к исходному коду текущей «Точки останова»

– включать и отключать все «Точки останова»

– удалить конкретную «Точку останова» или все разом

– загрузить список «Точек останова» из файла *.xml и сохранить список в файл *.xml

Точки останова с параметрами

Для «Точки останова» можно настроить параметры – условия срабатывания и действия в окне «Параметры точки останова». Данное окно можно открыть из окна «Точки останова» или пунктом меню «Отладка – Точка останова с параметрами …».

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

В последних версиях платформы можно задать дополнительные параметры точки останова:

  • Останавливаться в процедуре или функции только тогда, когда она вызвана из определенного метода.
  • Останавливаться при определенном количестве попадания в строку, в которой установлена «Точка останова». Удобно использовать при отладке циклов.

В разделе «Действия» можно указать «Описание точки останова», написать выражение для вычисления, включить вывод стека вызова и вывод количество попаданий в данную «Точку останова».

Флагом «Продолжить выполнение» можно включить остановку отладчика в данной точке или разрешить продолжить выполнять дальше код после «Точки останова».

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

«Точки останова» включать и отключать можно не только в окне «Точки останова», но и в меню «Отладка – Включить/Отключить точку останова», а также в контекстном меню пунктом «Включить/Отключить точку останова», перед выполнением пункта курсор необходимо установить в строку с «Точкой останова».

Включение и отключение точки останова

Окно «Выражение»

Окно «Выражение» ‑ специальное окно для просмотра значений переменных, а также значений свойств этих переменных, если переменные  агрегатного типа, такие переменные представляются в виде древовидной структуры.

Окно «Выражение»

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

В поле «Выражение» можно указывать не только переменные, но и произвольные выражения, которые способны вернуть результат.

Вычисление произвольного выражения в окне «Выражение»

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

Просмотр содержимого в отдельном окне

В окне «Выражение» можно устанавливать новые значения используя кнопку «Установить новое значение в виде выражения»

Установка нового значения в виде выражения

Стек вызовов

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

Окно «Стек вызовов»

Окно «Стек вызовов» открывается пунктом меню «Отладка – Стек вызовов»

Схема связи строк стека вызова с программными модулями

В окне используются специальные иконки:

– показывает местонахождение остановленного курсора выполнения кода

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

Замер производительности

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

Окно «Замер производительности»

Замер запускается и останавливается пунктом меню «Отладка – Замер производительности». Замер включают непосредственно перед выполнением проверяемого участка кода и выключают замер после выполнения проверяемого участка кода. Участок кода можно ограничивать «Точками останова».

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

Замер можно произвести:

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

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

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

Результат замера производительности

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

Суммирование выбранных строк

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

Система позволяет сохранить результат замера производительности в файл *.pff используя пункт меню «Файл – Сохранить как». Сохраненные результаты замера производительности при сравнении и анализе с другими результатами могут помочь выбрать оптимальный вариант алгоритма выполнения кода.

Файл результата замера производительности

Табло

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

Окно «Табло»

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

Агрегатные типы данных — специальные типы данных, соответствующие типам объектов дерева конфигурации системы «1С: Предприятие»: Константа, Справочник, Перечисление, Документ и др., а также универсальные коллекции значений, такие как Структура, Массив и т.д.

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

Установка нового значения в виде выражения

Возможности окна «Табло» рассмотрели в мастер-классе «Общие инструменты».

Конструктор шаблонов текста

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

Конструктор шаблонов текстов

При составлении шаблона разработчик может указать:

  • Параметры, которые программист заполняет при использовании этого шаблона
Параметр заполнения в шаблоне текста
Использование параметра заполнения
  • Список значений, из которых программист выбирает один вариант
Список значений выбора в шаблоне текста
Выбор значения из списка заполнения
Результат использования параметров и списка выбора

Шаблоны хранятся в нескольких файлах с расширением *.st.

Стандартные файлы шаблонов текста можно дополнить пользовательскими файлами.

Добавление новых шаблонов из файлов с расширением *.st

Глобальный поиск и замена

В платформу 1С:Предприятие  включен специальный режим «Глобальный поиск и замена», который предназначен для поиска определенной строки в свойствах, модулях, ролях, элементах формы, макетах, картах маршрутах и в справочной информации, с точностью до объекта раздела основной конфигурации, расширения или конфигурации базы данных, а также в файлах. Найденный текст может быть заменен на другой.

Пункты меню открытия режима «Глобального поиска» и «Глобальной замены»

Поиск можно осуществить во внешних файлах каталога. Поиск осуществляется только в определенных типах файлов: *.txt; *.mxl; *.xml; *.epf; *.erf; *.grs; *.geo; *.cf; *.cfe; *.pff.

Список доступных типов документов для поиска

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

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

При поиске и замене в «Расширениях» есть ряд условий:

  • Расширение должно сохранено в системе (обновлено Расширение конфигурация (базы данных)).
  • Окно конфигурации расширения открыто.
Результат поиска в сохраненной «Конфигурации базы данных расширения»

Локализация конфигураций

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

Окно мастера установки 1С:Предприятие из дистрибутива

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

  • При установке системы 1С:Предприятие из дистрибутива указать язык по умолчанию
  • Изменить язык в файле conf.cfg расположенного по адресу «C:\Program Files\1cv8\conf» или «C:\ Program Files (x86)\1cv8\conf» заменив значение System на конкретный язык, например, RU или EN или др. Результат: SystemLanguage=RU
Файл conf.cfg
  • Для конкретной базы конфигурации в настройках «Редактирование информационной базы» указать в поле «Дополнительные параметры запуска» ключ /L с кодом языка, например, /L en
Окно редактирования информационной базы
  • При отладке конфигурации язык запуска можно указать в параметрах конфигуратора используя пункт меню «Сервис – Параметры» вкладка «Запуск 1С:Предприятия», «Дополнительные» параметр «Язык интерфейса системы»
Установка языка интерфейса в параметрах

Результат изменения языка интерфейса конфигуратора.

Интерфейс конфигурации на английском языке

Редактирование текстов интерфейса

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

Окно «Редактирование текстов интерфейса»

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

Механизм «Редактирование текстов интерфейса» вызывается пунктом меню «Правка – Редактирование текстов интерфейса…».

Позволяет искать тексты интерфейсов:

  • в основной конфигурации, в конфигурации базы данных
  • в расширениях конфигураций, в расширениях конфигураций базы данных (расширения должны быть открыты)
  • в открытых окнах версий конфигураций хранилища
  • в открытых документах
  • во внешних файлах
  • в функциях “НСтр” в модулях

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

Ввод нового текстового представления

В поле выбора «Сворачивать» можно выбрать режим сворачивания текстового представления на разных языках:

  • Нет – сворачивание не производится
Списки без сворачивания
  • Совпадающие на языке сортировки – совпадающие текстовые представления в колонке отсортированного языка сворачиваются
Совпадающие на языке сортировки
  • Совпадающие на всех языках – сворачиваются только те текстовые представления, которые совпадают на всех языках
Совпадающие на всех языках

В окно «Редактирование текстов интерфейса» можно настроить, вызвав настройки пунктом меню «Действия – Настройка…»

Настройки окна «Редактирование текстов интерфейса»

В настройках можно указать способ расположения колонок языков:

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

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

Результат установки флага «При сворачивании отображать в виде дерева»

Если флаг «Открывать редакторы при изменении» установлен, то при изменении текста на заднем фоне будет открываться редактор, с помощью которого редактируется данный текст (формы, табличные документы и др.).

В меню «Действия» кроме открытия настроек можно осуществить ряд операций

Меню «Действия»
  • Новый поискоткрывает окно нового поиска без закрытия окна результат
  • Копировать тексты… копирует текстовые представления из одного языка в другой, при этом устанавливая флаг «Заполнять только незаполненные» текстовые представления в колонке языка приемника не будут затираться новым текстом. Данная операция интересна когда оба языка практически совпадают
Диалоговое окно «Копировать тексты…»
  • Очистить тексты… – позволяет полностью очистить колонку выбранного языка
Диалоговое окно «Очистить тексты…»
  • Экспорт в табличный документ… – экспорт строковых представлений в файл *.mxl по всем языкам
Диалоговое окно «Экспорт в табличный документ…» и результат экспорта
  • Заполнить тексты… – Загружает файл *.mxl с подготовленным переводом. Обязательное условие, в первой колонке должен прописываться только код языка
Диалоговое окно «Заполнить тексты…»

Быстро текст можно перевести в «Таблице Google» используя формулу =GOOGLETRANSLATE(B49;”ru”;”en”) или используя ИИ.

Вставка формулы перевода с одного языка на другой язык
Результат использования формулы перевода

Синтакс-помощник

Синтакс-помощник – это инструмент разработки, встроенный в конфигуратор. Позволяет быстро находить подсказки по синтаксису встроенного языка, операторам, свойствам глобального контекста, объектам системы, языку запросов, выражениям механизма компоновки данных и т.д. Фрагменты кода можно перетаскивать в модули.

Окно «Синтакс-помощника»

Вызвать его можно пунктом меню «Справка ‑ Синтакс-Помощник», соответствующей иконкой в Конфигураторе , комбинацией клавиш «Ctrl + Shift + F1», в контекстном меню пунктом «Поиск в Синтакс-помощнике» или комбинацией клавиш «Ctrl + F1» (если курсор находится на процедуре, функции, операторе или синтаксической конструкции, то сочетание клавиш «Ctrl + F1» выдает её описание).

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

Ваганов Сергей, эксперт в области разработки прикладных решений на платформе 1С:Предприятие, преподаватель-методист CORS Academy и автор курса «Разработчик 1С с нуля до профессионала».

Статья создана на основе материалов курса «Разработчик 1С с нуля до профессионала».

Отладка клиентского приложения в 1С
Подписаться
Уведомить о
guest

wp-puzzle.com logo

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

подпишитесь на рассылку академии

2 письма в неделю со свежими новостями о скидках, курсах и других событиях

Нажимая на кнопку “Подписаться”, вы даете согласие на обработку персональных данных