Как сделать отладку внешней печатной формы
Использование внешних обработок — довольно популярный механизм расширения функциональности стандартной конфигурации, который часто используют разработчики. Кроме того, специалистам приходится самостоятельно осуществлять их дальнейшую поддержку, это же Ваша обработка и компания 1С за Вас этого делать не будет. Разумеется, во время написания внешней обработки и в дальнейшем при ее сопровождении возникает необходимость отладки и исправления ошибок (куда же без них). Предлагаю следующую технологию, которая, с моей точки зрения, упрощает этот процесс.
Сразу скажу, что особенность данного способа в ускорении процесса отладки и отсутствии внесения каких-либо изменений непосредственно в исходном коде стандартной конфигурации. Рассмотрим весь процесс на примере 1С 8 ЗУП 3.1.
1. Изменение стандартной загрузки внешней обработки через расширение
Далее ищем то место в конце модуля функции 1С, которое нам необходимо откорректировать. Вот оно:
Заменяем этот текст следующим:
на аналогичный предыдущему:
Это весь подготовительный этап.
2. Подключение обработки к основной конфигурации 1С
Для запуска и отладки внешней обработки вы можете использовать один из имеющихся в рабочей области проектов конфигурации, либо можете создать новый проект специально для этой цели.
В этом примере мы рассмотрим оба сценария отладки.
Если внешняя обработка предназначена для работы с конкретной конфигурацией или вы хотите отлаживать обработку на определенных данных, содержащихся в информационной базе, то сначала вам нужно импортировать конфигурацию из этой базы в 1C:EDT — подробнее. После этого вы можете перейти к пункту 5.
Если же в вашей рабочей области нет ни одного проекта и внешняя обработка может быть запущена с любой конфигурацией, то вы можете воспользоваться следующими шагами.
- Создайте новую информационную базу. С конфигурацией или без конфигурации — подробнее.
Откроется диалог импорта. Обратите внимание, что в этом диалоге уже выбран базовый проект — База_для_отладки . Это та конфигурация, вместе с которой будет запускаться внешняя обработка после импорта.
В поле Внешние обработки и отчеты появится EPF-файл, уже отмеченный для импорта, а в поле Название проекта — имя нового проекта внешних отчетов и обработок, в который будет импортирована эта обработка.
В панели Навигатор появится новый проект ServersControl , который содержит импортированную обработку.
После того, как 1C:EDT сохранит изменения, она сразу же обновит EPF-файл внешней обработки. Этот файл хранится в рабочей области, найти его просто.
Разрабатываете внешнюю печатную форму, а в отладчике никак не посмотреть что происходит во время ее выполнения?
Данная обработка решит эту проблему!
1. Подключаете "Отладчик внешних печатных форм" в качестве внешней печатной формы для нужного документа.
2. Запускаете ее из документа.
3. В конфигураторе ставите точку останова в вашей обработке
4. В пользовательском режиме, в форме открывшегося отладчика, выбираете свою обработку
5. Нажимаете "Выполнить"
6. Наслаждаетесь отладкой
Специальные предложения
Обработка для отладки внешних печатных форм
Обработка для отладки внешних печатных форм
А зачем так сложно? Можно в обработке внешней печатной формы создать форму, вынести на неё реквизит "СсылкаНаОбъект", в модуле формы в процедуре "КнопкаВыполнитьНажатие()" поместить такой текст:
Открывать эту печ форму по Файл -> Открыть и наслаждаться отладкой. Когда печ форма готова, поместить её в справочник внешних печ форм
спасибо, пригодится, час думал - почему на точке останова отладчик не тормозит во внешней печатной форме)) оказывается это даже и не предусмотрено)
Можно процедуру Печать() начинать со строк:
Попытка
нн = 10/0;
Исключение
КонецПопытки;
при отладке ставить "Остановку по ошибке"
при обычной работе не мешает
Просмотры 14460
Загрузки 294
Рейтинг 23
Создание 28.09.11 16:26
Обновление 28.09.11 16:28
№ Публикации 92211
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Видеокурс-самоучитель "1С:Документооборот " для самостоятельного внедрения Промо
Самый детальный и самый полный самоучитель по программе 1С:Документооборот, в котором Вы научитесь правильно работать, настраивать, администрировать и внедрять конфигурацию 1С:Документооборот. Все уроки курса построены на последовательном заполнении пустой базы 1С:Документооборот КОРП в клиент-серверном варианте.
30.10.2018 34285 12 0
1С: Документооборот. Роли, использующие объекты адресации. Конфигурация остается типовой (используется расширение)
Расширение функционала документооборота. Реализована возможность использования ролей с объектами адресации. Конфигурация остается типовой (используется расширение)
5 стартмани
10.01.2019 19536 30 sulig 27
Год жизни с Яндекс.Почтой
Опишу свой опыт работы с Яндекс.Почтой из 1С:Документооборота. Ошибки, которые, видимо, редки и поэтому нигде не описаны, в основном побеждены и, может, мой опыт поможет кому-нибудь в его борьбе.
1 стартмани
05.01.2019 17946 5 soulner 0
Печать pdf документа со штампом ЭЦП
Печать pdf файла, прикрепленного к внутреннему документу, подписанному ЭЦП, с установкой отметки о подписании.
1 стартмани
24.05.2018 26675 132 App0st0l 14
Перенос документов и процессов между двумя базами 1С:Документооборота Промо
Обработка по переносу документов поможет перенести документы и процессы из одной базы 1С:Документооборот в другую. Версии двух баз должны совпадать, а релизы конфигураций 1С:Документооборот могут быть различными. Главное, чтобы была синхронизирована НСИ.
09.06.2016 31087 8 10
Ограничения запуска процессов в 1С:Документооборот
Расширение "Ограничение запуска процессов" позволяет для разных групп пользователей убрать не нужные типы процессов для запуска для разных видов документов.
03.04.2017 20224 34 0
Блокировка повторного запуска комплексного процесса в 1С: Документооборот 2
Острой проблемой при работе документооборота стал повторный запуск комплексного процесса. Пользователи несколько раз запускали один и тот же комплексный процесс по документу, не убедившись, что этот же процесс уже запущен. В результате наступил хаос, все возмущались и недоумевали, почему один и тот же документ приходил на согласование и исполнение несколько раз.
2 стартмани
04.10.2016 29908 99 zabaluev 25
Права доступа в 1С:Документооборот 2.1
В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.
16.09.2016 90090 vlush78 0
Нагрузочное тестирование 1С:Документооборот
Перед запуском 1С:Документооборот для средних и крупных внедрений крайне желательно провести нагрузочное тестирование, чтобы проверить корректность и скорость работы системы электронного документооборота в условиях максимальной нагрузки. В данной статье пойдет речь о том, как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП.
Отладчик 1С умеет останавливать отладку при возникновении ошибки, даже внутри блока Попытка-Исключение-КонецПопытки.
Дописываем в начало модуля:
Собственно, запускаем отладку
Запускаем нужную нам внешнюю форму/обработку
После того, как отладчик остановится на вызванной нами ошибке — расставляем точки останова там, где нам нужно.
Внимательно! На самом деле мы отлаживаем НЕ исходную обработку/отчет, а ту, что сохранена во временный каталог из информационной базы. Вносить в нее изменения как минимум бессмысленно
Upd: Если вышеуказанный способ по каким-либо причинам не сработал, то можно попробовать вот так:
В функции СведенияОВнешнейОбработке() отключаем БезопасныйРежим
В процедуре Печать() добавляем следующий код
Сохраняем нашу обработку по указанному в ПутьКФайлу адресу с указанным именем.
Обычным способом подключаем полученную на шаге 2 обработку в дополнительных отчетах/обработках.
Ставим точку останова в нашей обработке после закомментированного кода, в пользовательском режиме запускаем печать ВПФ, убеждаемся, что отладка работает
Читайте также: