Отладка внешней обработки 1С

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

Вместе с совершенствованием БСП (Библиотеки Стандартных Подсистем), такой метод перестал работать. Сейчас БСП подключает обработки методом ВнешниеОбработкиМенеджерПодключить(<Путь>, <Имя>, <БезопасныйРежим>). А Путь задается в виде адреса во временном хранилище. При этом внешняя обработка, как файл на диске не существует и открыть ее конфигуратором не представляется возможным. Поэтому предлагается адаптировать БСП для отладки внешних обработок.

Было создано расширение конфигурации, в котором перехватываются обработки общего модуля ДополнительныеОтчетыИОбработки: ПодключитьВнешнююОбработку и ПриПолученииРегистрационныхДанных. В функции ПодключитьВнешнююОбработку устанавливается местоположение и имя обработки


	//Здесь вставляем путь до файла обработки вместе с названием файла
	ИмяОбработки = Менеджер.Создать("C:\otladka\ВнешняяОбработка.epf", Ложь);
	//Здесь вставляем имя обработки
	ИмяОбработки = "ВнешняяОбработка";
	Возврат ИмяОбработки;

А в процедуре ПриПолученииРегистрационныхДанных устанавливается:

	// Здесь опять пишем путь и название файла обработки
	ВнешнийОбъект = Менеджер.Создать("C:\otladka\ВнешняяОбработка.epf", Ложь);

Теперь сначала размещаем свою обработку по указанному пути и устанавливаем в конфигурацию. Если вы попытаетесь загрузить из другого места, 1с выдаст ошибку. Обработка регистрируется в конфигурации. Теперь можем открыть ее и через конфигуратор, поставить точки останова и вызвать исполнение модуля (например нажав "Печать", если это печатная форма, в соответствующем документе.

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

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

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