gifts2017

Отладка дополнительных отчетов и обработок

Опубликовал Denis Shvydenko (denmax) в раздел Программирование - Инструментарий

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

Тема отладки дополнительных отчетов и обработок поднимается среди 1С программистов регулярно. Проблема состоит в том, что если обработка/отчет добавлены в справочник дополнительных (внешних) отчетов и обработок, то их отладка сопровождается определенными неудобствами:

  • т.к. обработка хранится в конфигурации внутри элемента справочника, то ее невозможно открыть в конфигураторе, без выгрузки на диск
  • но открытый в конфигураторе выгруженный файл будет лишь копией обработки, сохраненной в справочнике, и установленные в ней точки останова не сработают
  • до недавнего времени, конфигурации 1С при запуске доп. обработок предварительно сохраняли их во временный файл. Таким образом была возможность перейти к отладке обработки, принудительно вызвав в ней исключение. Но в последних версиях конфигураций обработки запускаются непосредственно, минуя временный файл (за исключением случая толстого клиента), что не позволяет использовать этот метод
  • в принципе, можно запустить конфигурацию в толстом клиенте и попытаться выполнить отладку во временно файле, но часто работа в толстом клиенте конфигураций на УФ сопровождается глюками или различием в поведении с тонким клиентом
  • также можно добавить в обработку специальную. отладочную форму, и выполнять отладку, запустив обработку из меню файл -> открыть. Но такой способ неудобен для отладки печатных форм и обработок заполнения/создания связанных объектов, т.к. невозможно контролировать передачу параметров

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

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

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

1. Подключение

  1. Сделайте резервную копию
  2. Включите возможность изменения конфигурации. (Если ранее этого не сделали).
  3. Включите возможность изменения с сохранением поддержки самой конфигурации (Опять же, если ранее не делали)
  4. Запустите объединение со скаченным .cf файлом и подтвердите постановку на поддержку
  5. В окне объединения снимите общую галочку конфигурации
  6. Выберите "Действия" -> "Отметить по подсистемам файла"
  7. Выберите только подсистему "LSOFT_ОтладкаВнешнихОбработок" и нажмите "Установить"
  8. Выполните объединение и обновите ИБ
  9. База готова к использованию

2. Использование

В меню разделов появляется новая подсистема (LSOFT) . В ней доступны команды включения/отключения отладки и список обработок для отладки.

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

  • выбрать саму обработку из справочника дополнительных обработок/отчетов. Именно эта обработка будет отлаживаться
  • поставить галочку активности отладки. Если галочку снять - отладка для данной конкретной обработки будет недоступна.
  • указать пользователя, который будет выполнять отладку. Если пользователь указан - то отладка выполняется только под выбранным пользователем, остальные пользователи ничего не замечают. если пользователь не выбран - отладка выполняется под любым пользователем.
  • указать путь к файлу обработки на диске. При активности отладки, обработка будет загружена именно из этого файла. Сохраненый вариант обработки из справочника дополнительных отчетов и обработко игнорируется.

Сам процесс отладки:

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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Отладка доп. обработок
.cf 20,11Kb
25.03.16
36
.cf 1.0.0 20,11Kb 36 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Лыткин (TrinitronOTV) 26.03.16 05:19
как быть, если стоит базовая версия?
2. Denis Shvydenko (denmax) 26.03.16 11:23
(1) TrinitronOTV, увы, для базовой не применимо
3. Сергей Старых (tormozit) 27.03.16 19:28
Спасибо за идею. Добавил аналогичный инструмент "Отладка внешних обработок БСП" в подсистему "Инструменты разработчика".
4. Игорь Фелькер (Brawler) 18.05.16 08:55
1С такие 1С, что прям слов нет культурных в их адрес...
Нагородили огород, так хоть бы предоставили инструментарий отладки...
Как-то жалко снимать с поддержки базу, а на тестовых базах не всегда отлаживаться приходится.
5. Сергей Старых (tormozit) 18.05.16 09:21
(4) Строго говоря с поддержки ее снимать не нужно, но нужно включить возможность изменения корня. Это практически не затрудняет дальнейшний процесс обновления конфигурации поставщика.
6. Игорь Фелькер (Brawler) 18.05.16 11:30
(5) tormozit, это я знаю, еще у нас в базе появится еще один экземпляр конфигурации, из-за чего по времени обновление будет идти дольше, так как обновляться будут уже две конфигурации, конфа поставщика и основная.
7. Denis Shvydenko (denmax) 18.05.16 12:00
(6) Что за "второй" экземпляр?
8. Александр Лопатин (lopatin) 19.05.16 11:37
Почему текст исходного модуля отсутствует???
9. Denis Shvydenko (denmax) 19.05.16 14:26
(8) Потому что нам так захотелось
10. Анна Новикова (ktion) 16.08.16 15:56
Добрый день!

Купила "Отладка дополнительных отчетов и обработок", но она к сожалению не работает на 1С:УПП и код закрыт для редактирования. Появляется Сообщение: Недопустимое значение параметра №1 (СправочникСсылка.ДополнительныеОтчетыИОбработки). Пожалуйста исправьте ошибку.
Спасибо!


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