1с как отладить внешнюю обработку
Перейти к содержимому

1с как отладить внешнюю обработку

  • автор:

Отладка внешних обработок

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

Способ заключается в следущем:

  • Сохраняю внешнюю обработку на диск
  • Открываю ее в конфигураторе и в том месте с которого хочу начать отладку пишу примерно такой код:

Отладка в 1С

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

Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:

Отладка внешних объектов

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

Отладка внешних печатных форм

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

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

Для управляемого приложения нужно сделать примерно тоже самое — эмулировать вызов функции «Печать», для этого создать форму обработки, добавим ей реквизит «СсылкаНаОбъект» (и выведем его на форму) и команду с примерно таким кодом:

Форма обработки

Форма обработки

Отладка внешних обработок табличных частей

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

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

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

Кроме этого имеется прекрасная обработка, которая помогает отлаживать внешние обработки заполнения: ссылка.

Отладка Web-сервисов, HTTP-сервисов и интерфейса OData

Для отладки Web-сервисов, HTTP-сервисов и интерфейса OData нужно разрешить соответствующую возможность при публикации сервиса/интерфейса на веб-сервере, например:

Включение отладки при публикации сервиса/интерфейса

Включение отладки при публикации сервиса/интерфейса

После этого нужно настроить автоматическое подключение соответствующих предметов отладки. Для этого нужно выбрать пункт меню «Отладка»-«Подключение…», открыть окно настройки автоматического подключения и выбрать нужные предметы отладки, например:

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

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

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

Отладка регламентных/фоновых заданий

Напомню, что регламентные задания — это механизм 1С, предназначенный для каких-либо действий по расписанию. А фоновое задание — это объект, который создается регламентным заданием и непосредственно выполняет требуемые действия. Стало быть в отладке нуждаются именно фоновые задания, а регламентные задания просто настраиваются (расписание, пользователь и тд.).

Для отладки фонового задания, так же как и в предыдущем разделе, нужно настроить автоматическое подключение предметов отладки. Для этого идем в меню «Отладка»-«Подключение…» , открываем окно настройки автоматического подключения и указываем, что нам нужно автоматически подключать фоновые задания:

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

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

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

Отладка мобильного приложения

Отладка мобильного приложения возможна только по протоколу HTTP. Хотя для устройств на Android-е возможен вариант с подключением по USB-кабелю и использованием Android Debug Bridge, но это частный случай. В общем же случае нужно переключиться на отладку по протоколу HTTP (подробнее об этом в предыдущих статьях цикла). Затем в настройках мобильного приложения нужно разрешить настройку и указать адрес отладчика, например так:

Разрешаем отладку и указываем адрес отладчика

Разрешаем отладку и указываем адрес отладчика

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

УжасноПлохоНеплохоХорошо Отлично(оценок: 6, средняя оценка: 5,00 из 5)

Отладка обычной внешней обработки.

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

Отладка внешней печатной формы.

Отладка внешней обработки заполнения табличных частей.

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

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

В этом временном файле можно ставить точки останова и отлаживать.

Далее убираем ошибку, сохраняем. Устанавливаем обработку без ошибок и отлаживаем через этот временный файл.

  • Главная />
  • В помощь 1с программисту />
  • Отладка внешней обработки. Отладка внешней обработки заполнения табличных частей 8.2

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

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