Отладка дополнительных отчетов и обработок (Управляемые формы 8.3 БСП)

Публикация № 982505

Программирование - Практика программирования

25
Собственно отладка дополнительных отчетов и обработок (Управляемые формы 8.3 БСП).

Доброго всем времени суток. Хотел бы поделиться способом отладки обработок БСП. Нового для себя Знатоки ничего не узнают, а вот новичкам, возможно, будет интересно. Метод заезженный, но здесь не встречал. При данном методе точки останова срабатывают всегда, проблем в своей практике не встречал (раз сделал и работает).

Те, кто не любит читать, могут посмотреть изображения и (думаю) все будет понятно без слов! 

 

1. Снимаем конфигурацию с поддержки (делаем копию и снимаем, мы же все делаем на копиях?! :) )

Конфигурация -> Поддержка -> Настройка поддержки -> Включить возможность изменения

2. Открываем Конфигурацию и ищем Общий модуль: ДополнительныеОтчетыИОбработки 

1

3. Редактируем функцию и процедуру:

Функция

2

3

 

Текст для копирования

Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт

// Было:
// ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, ,БезопасныйРежим);
// Стало:
ИмяОбработки = Менеджер.Создать("c:\qwe.epf", Ложь);
ИмяОбработки = "qwe"; // Имя Внешней обработки, которую Вы отлаживаете, как оно задано в конфигураторе

 

Процедура

4

 

Текст для копирования

Процедура ПриПолученииРегистрационныхДанных(Объект, РегистрационныеДанные, ПараметрыРегистрации, РезультатРегистрации)
// Было:
// ВнешнийОбъект = Менеджер.Создать(РезультатРегистрации.ИмяОбъекта);
// Стало:
ВнешнийОбъект = Менеджер.Создать("c:\qwe.epf", Ложь);

 

4. Сохраняем и обновляем Конфигурацию

5. Создаем или переименовываем свою обработку, которую будем отлаживать. Задаем имя qwe и разместим ее в корне диска C:

6. Открываем ее в Конфигураторе и ставим Безопасный режим - Ложь

 

7. Запускаем 1С Предприятие и добавляем обработку в список, сохраняем.

 

8. Ставим точки останова в обработке

 

9. Запускаем нашу обработку на исполнение (вернее ту часть где стоит точка останова)

 

10. При нажатии попадаем в место отладки!  

На этом все.

После успешной отладки, не забываем задать правильное имя обработки ( и Безопасный режим - Истина, если это необходимо)

 

P.S

Привык к данному методу и пользуюсь таковым.

Источник помощник

25

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. dsdred 1005 17.01.19 21:39 Сейчас в теме
А по проще то ни как?

Почитайте, еще в 8.3.9 появилась Аннотация &Вместо: http://v8.1c.ru/o7/201603module/index.htm

Есть и другие варианты отладки попроще:
https://infostart.ru/public/827126/#4P
2. davdykin 17 18.01.19 05:19 Сейчас в теме
Да, решение со снятием с поддержки конфы не эффективно, посмотрел я "https://infostart.ru/public/827126/#4P" какой-то не очень просто вариант.. там километр кода.
Когда появились расширения я сделал для основных конфигураций по расширению. В нем я перехватывал:
1. ПРоцедуру добавления внешней печатной формы из файла и писал путь к файлу в коментарий
2. Процедуру печати, если в коменте путь к существующему файлу, то открывал его вместо загруженного.
Таким образом данное расширение весит не много, можно подключать на живые базы, мои узкие задачи - отладка печатных форм, закрыло полностью.
3. dsdred 1005 18.01.19 08:07 Сейчас в теме
(2)
"https://infostart.ru/public/827126/#4P" какой-то не очень просто вариант.. там километр кода.

Там статья про регламенты с использованием БСП: Дополнительная обработка и отчеты просто, а в самом низу 4 пункт "Отладка" с ссылкой на статью где около 10 строчек кода и с одной строкой в случае если вы в доп обработке храните параметры и вам надо протестировать с сохраненными параметрами.

Просто данная статья как я думал будет о том как тестировать доп обработки которые могут быть Командой, регламентом, формой, отчетом... А тут только про команду, да еще и метод который снимает с поддержки.

Команды вообще тестировать проще до добавления в допы. На форму ссылку на документ вывести и все протестировать, после чего уже добавлять обработку в допы.
5. davdykin 17 18.01.19 10:58 Сейчас в теме
(3)Чего-то я не понял как вы хотите протестировать печатную форму до подключения? В любом случаи правка конфы - не вариант.. если вы сидите в одной конторе можно копию поправить, а вот если у вас на обслуги фиг пойми сколько... это вообще не вариант.
7. dsdred 1005 18.01.19 14:44 Сейчас в теме
(5)
Чего-то я не понял как вы хотите протестировать печатную форму до подключения

Наша беседа это тот случай когда комментарии лучше статьи...
Прикрепленные файлы:
ТестПечатнойФормыКартинки.doc
10. davdykin 17 18.01.19 21:24 Сейчас в теме
(7) Нет, ваш способ мне не нравиться, и вот почему:
Все-таки у вас процедура вызывается не через стандартные механизмы, соответственно будут "пробелы" в отладке, что, на мой взгляд, не очень удобно., для обычных форм была такая штука, ВнешниеПечатныеФормы.epf, вещь отличная, но не на БСП. Я сделал вот такое расширение, первый раз промаялся долго, в районе получаса часа, затем по аналогии для других конфигураций.
Пользоваться очень просто:
1. Подключаем расширение
2. Загружаем форму во внешние (при этом в коментарии прописывается путь к файлу, который и будет вызывать)
3. ТЕстируем.
Все механизмы стандартные, т.е. все параметры передаются как при реальной печати.
Прикрепленные файлы:
ДАВ_ОтладкаПечати_БП3.cfe
11. dsdred 1005 18.01.19 22:48 Сейчас в теме
(10)На вкус и цвет как говорится.

П.С. Если все комменты собрать и нормально заилюстрировать и по типам команд разбить отличная статья выйдет
4. motorkuzbassa.it 98 18.01.19 09:36 Сейчас в теме
А зачем снимать с поддержки? модуль же можно в расширение "вместо", закинуть..не?
6. aagubarev 95 18.01.19 14:09 Сейчас в теме
(4)

Не слышал, поведайте на примере?
8. dsdred 1005 18.01.19 14:48 Сейчас в теме
(6)Шутите?
Вот пример с вместо
https://infostart.ru/public/829577/#2P


В первом комментарии ссылка на 1с с подробной документацией, даже с картинками.
9. v_id 95 18.01.19 20:29 Сейчас в теме
13. Bassgood 873 20.01.19 13:21 Сейчас в теме
(9) Осваивать этот большой инструмент только ради отладки внешних обработок?
Ничего посложнее не нашлось? ;)
15. v_id 95 21.01.19 09:37 Сейчас в теме
(13)Весь не нужно (хотя полезно со все точек зрения), а в части отладки его установка и запуск проще и лучше документированы чем текущий способ. Обычно следующий вопрос, "а как отладить запрос"
16. Bassgood 873 21.01.19 13:27 Сейчас в теме
(15) Все зависит от характера работы прогера - если дорабатывает конфиги внешних заказчиков (аутсорс или фриланс), то использование данной подсистемы будет нецелесообразным (для доработок зачастую достаточно пары-тройки внешних консолей и далеко не всегда есть возможность ее встраивания в конфу заказчика), если идет разработка крупного проекта или постоянные доработки своих конфигов (штатный прогер) - другое дело, подсистема будет полезна, а встраивать ее во все базы только ради использования тех же внешних 2-3 консолей - ну как бы и нафиг оно нужно?
p.s. Плюс подсистема реализована на обычных формах, каждый раз запускать обычный режим приложения для ее использования тоже постепенно начинает вымораживать, нежели простое открытие внешних консолей.
17. v_id 95 21.01.19 16:12 Сейчас в теме
(16)Похоже вы давно ИР не пользовались. Есть вариант в виде расширения, для отладки достаточно работать под толстым клиентом.
tormozit; Bassgood; +2 Ответить
12. zeegin 42 20.01.19 11:18 Сейчас в теме
Доп отчеты и обработки это легаси, используйте расширения.
14. dsdred 1005 20.01.19 17:33 Сейчас в теме
(12)
Доп отчеты и обработки это легаси

Это всего лишь Ваше мнение, а не реальность.

1 Более менее дорабатывать можно в расшерении с версии 8.3.9, а что делать если режим совместимости 8.3.8 или младше?
2 Доп обработки позволяют создавать команды, регламенты, формы и т.д. с хранимыми параметрами без добавления констант и прочих прелестей.
3 Позволяют делать горячее обновление которое не требует перезахода клиентом.
4 Позволяет легко настраивать видимость под конкретных пользователей.

П.С. Сам я использую расширения уже более 3-х лет и очень уважаю данную возможность и слежу за развитием, но доп отчеты и обработки в плане регламентов и добавления формы обработки использую регулярно.
Bassgood; +1 Ответить
18. acsent 1135 21.01.19 17:32 Сейчас в теме
может проще у обработки сделать форму и там выбирать объект и вызывать команду модуля?
https://infostart.ru/public/84922/
19. МимохожийОднако 122 22.01.19 09:35 Сейчас в теме
Любопытно посмотреть применение этого метода на компьютере с базовой версией ) без патчей и кряков ))
21. aagubarev 95 22.01.19 09:45 Сейчас в теме
22. МимохожийОднако 122 22.01.19 13:19 Сейчас в теме
20. aagubarev 95 22.01.19 09:42 Сейчас в теме
Почитал комменты, спасибо за подсказки и критику.
Оставьте свое сообщение