Как можно попасть в отладчиком в код внешней печатной формы, т.е. поставить там точку останова?
В окне регистрация внешней печатной формы указано наименование файла обработки "АктНаПередачуПрав.epf
размер:19 865 байт; изменен:06.11.2009 11:26:57; сохранен в ИБ:06.11.2009 11:27:14."
но поиск файла АктНаПередачуПрав.epf на дисках компьютера ничего не дает.
(1) каждый раз формируется временный файл со случайным названием. Дебажить печатную форму можно 2 способами:
1. (правильный) Добавить в обработку форму с полем СсылкаНаОбъект и кнопкой, которая вызывает процедуру с вызовом Печать(). Тогда обработку можно отлаживать как обычную сохранив её на диск и открывая через Файл-Открыть
2. (ленивый) Если обработка выдает ошибку, то достаточно в режиме отладки включить Останавливаться на ошибке. В этом случае конфигуратор сам откроет временную обработку. Но в этом случае это будет ВРЕМЕННЫЙ файл и в нём можно только посмотреть ошибку, но не исправить (точнее исправить можно, но потом надо будет искать обработку на диске).
Если обработка без ошибок, то можно в начало процедуры печать() добавить заведомо ошибочную команду через Попытка Исключение. В этом случае обработка отрабатывает нормально, но отладчик ошибку увидит.
Для 8.1. и 8.2. обычное приложение
Классика жанра
Обработка для тестирования внешних печатных форм в восьмерке (приложение к статье "Внешние печатные формы в восьмерке")
http://infostart.ru/public/14686/
8.2. управляемое приложение
Обработка для тестирования внешних печатных форм для конфигураций 1С: Предприятия 8.2 с использованием БСП
http://infostart.ru/public/73691/
(1)
"но поиск файла АктНаПередачуПрав.epf на дисках компьютера ничего не дает" - файл печатных форм, кажется на сервере сохраняется.
Что бы выудить именно эту форму, над таблицей, напротив надписи "Исходный файл: и т.д.", есть "Сохранить файл внешней обработки на диск". Нажимаете сохраняете, куда вам нужно и отлаживаете, если на форме создана форма с полем СсылкаНаОбъект, иначе действуете, как в ответе выше "anig99 (1)".
1. Откройте Обработку в конфигураторе.
2. Добавить реквизит с наименованием "СсылканаОбъект" и типом "ЛюбаяСсылка" (хотя можно указать конкретный тип принимаемый ссылкой).
Таким образом СсылкаНаОбъект - это реквизит обработки.
Как вариант. Пишем внешнюю обработку, подключаем.
Данная обработка вызывает внешнюю обработку (прямо прописан путь расположения внешней обработки) передавая ей параметры.
Классика жанра
Обработка для тестирования внешних печатных форм в восьмерке (приложение к статье "Внешние печатные формы в восьмерке")
http://infostart.ru/public/14686/
я обычно иду другим путем, я к каждой своей обработке внешних печатных форм создаю осноную форму и на ней распологаю реквизит СсылаНаОбъект, а в модуле формы
Процедура КнопкаВыполнитьНажатие(Кнопка)
Печать();
КонецПроцедуры
Затем просто открываю свою обработку через открыть файл, выбираю любой документ, который надо распечатать и спокойно отлаживаю.
Возникла необходимость выполнить отладку загруженной в базу БП Внешней обработки (печатной формы). Чтобы отладчиком попасть в модуль внешней обработки (печатной формы) надо поставить точку останова на строку
ТабДокумент = Обработка.Печать();
в общем модуле «Универсальные механизмы».
В момент интерактивного запуска процедуры вы окажетесь в отладчике на данной строке. Далее следует только нажать F11 (шагнуть в), после чего вы попадете в модуль необходимой обработки.
Важно помнить, что если вы хотите дописать модуль внешней обработки (печатной формы), то надо делать эти правки в файл который лежит вне базы, а после сохранения снова загружать файл обработки в справочник «Внешние обработки».
Поручик, все правильно постоянное подключение и отключение формы сильно напрягает. добрые люди сделали придлуду для тестирования форм, пользуйтесь и радуйтесь
&НаСервере
Функция ПечатьНаСервере()
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
// Возврат ОбработкаОбъект.Печать(МассивОбъектов);
ЭтаФорма.ТабДокумент.Вывести(ОбработкаОбъект.Печать(МассивОбъектов)); // где ТабДокумент - реквизит формы с типом ТабличныйДокумент
КонецФункции