Отладка внешних обработок, которые подключаются через БСП, т.е. во все конфигурации на управляемых формах, вызывает определенные затруднения у многих программистов. Дело в том, что в предыдущих версиях подключения внешних обработок создавался временный файл, который содержал обработку. Его-то и была возможность открыть для дальнейшей отладки.
Вместе с совершенствованием БСП (Библиотеки Стандартных Подсистем), такой метод перестал работать. Сейчас БСП подключает обработки методом ВнешниеОбработкиМенеджерПодключить(<Путь>, <Имя>, <БезопасныйРежим>). А Путь задается в виде адреса во временном хранилище. При этом внешняя обработка, как файл на диске не существует и открыть ее конфигуратором не представляется возможным. Поэтому предлагается адаптировать БСП для отладки внешних обработок.
Было создано расширение конфигурации, в котором перехватываются обработки общего модуля ДополнительныеОтчетыИОбработки: ПодключитьВнешнююОбработку и ПриПолученииРегистрационныхДанных. В функции ПодключитьВнешнююОбработку устанавливается местоположение и имя обработки
//Здесь вставляем путь до файла обработки вместе с названием файла
ИмяОбработки = Менеджер.Создать("C:\otladka\ВнешняяОбработка.epf", Ложь);
//Здесь вставляем имя обработки
ИмяОбработки = "ВнешняяОбработка";
Возврат ИмяОбработки;
А в процедуре ПриПолученииРегистрационныхДанных устанавливается:
// Здесь опять пишем путь и название файла обработки
ВнешнийОбъект = Менеджер.Создать("C:\otladka\ВнешняяОбработка.epf", Ложь);
Теперь сначала размещаем свою обработку по указанному пути и устанавливаем в конфигурацию. Если вы попытаетесь загрузить из другого места, 1с выдаст ошибку. Обработка регистрируется в конфигурации. Теперь можем открыть ее и через конфигуратор, поставить точки останова и вызвать исполнение модуля (например нажав "Печать", если это печатная форма, в соответствующем документе.
Если все сделано, а точки не срабатывают, то можно поставить точки останова в расширении ОтладкаВФ и обновить уже установленный файл обработки, проследив, правильно ли указан путь к файлу и имя внешней обработки.
Одним из достоинств данного метода является возможность изменения кода "на лету". То есть в процессе отладки после замены кода, достаточно кликнуть на пктограмму сохранения и уже при следующем вызове обработки будет исполняться измененный код. Не потребутся ни перезапуск приложения, ни обновления обработки в конфигурации.
После отладки достаточно отключить расширение и обновить обработку из полученного файла. Хотя отлаживать лучше на файловой копии базы, тогда достаточно отлаженную обработку загрузить в рабочую базу.