Удобная отладка внешней печатной формы

Обработка предназначена для отладки внешних печатных форм (обычных, не управляемых).

Некоторыми внешними печатными формами, разработанными для типовых конфигураций, можно сформировать только через добавление их к информаионной базе через внешние печатные формы. Например, новая печатная форма с/ф 1137 от фирмы 1С. Также многие программисты не заботятся о том, чтобы печатную форму можно было сформировать без подключения к базе (т.е. просто через Файл-> Открыть).

Отладка таких форм практически невозможна.

Удобная отладка внешней печатной формы исправляет эту ситуацию.

Разработана аналогично «Удобной отладке ОЗТЧ«.

0) Зарегистрировать обработку ОтладкаВПФ.epf во внешних печатных формаъ, указать в ней документы, в котором надо отлаживать другую печатную форму.
1) Запускаем конфигуратор, жмем F5. 
2) Открываем отлаживаемый документ, жмем кнопку Печать, жмем кнопку Отладка… 
С появившемся списком ничего не делаем. 
3) В конфигураторе включаем замер производительности. 
4) Возвращаемся к п.2, выбираем отлаживаемую обработку. Видим ошибку. 
5) В конфигураторе выключаем замер производительности. Появится окно выполненных команд. 
6) Из окна трассировки открываем обработку C:.. .vpf.epf 
7) Устанавливаем точку останова, например, на первом операторе в процедуре Печать. 
8) В открытом отлаживаемом документе снова жмем кнопку Печать — Отладка… 
В появившемся списке выбираем ту же отлаживаемую печатную форму. 
9) В конфигураторе выполнение остановится на точке останова из п.7. 
Отладка началась 🙂

Другие обработки по теме:

//infostart.ru/public/14686/ от 18.03.2007

//infostart.ru/public/73418/ от 23.07.2010

//infostart.ru/public/126230/ от 25.04.2012

P.S. 23.12.13. В отличие от озтч отладку внешних печатных форм можно сделать через внешнюю обработку. См. файл № 2. Так еще удобнее 🙂

28 Comments

  1. Den_D

    Да, как все не просто. Но на мой взгляд что бы отладить подключаемую печатную форму не нужно придумывать велосипед. Какие сложности могут возникнуть если в отлаживаемой печатной форме создать форму обработки с одним полем ввода и одной процедурой привязанной к кнопке выполнить? Процедурой, в которой всего 2-е строчки.

    Reply
  2. adhocprog

    (1) Денис, где публикация на твое решение? )

    По <количеству плюсов>/<количество просмотров> можно было бы судить, какое решение лучше.

    А так, это твое личное мнение, коих на данном сайте 300 тыс.

    Reply
  3. Den_D

    (2) уважаемый adhocprog, я ни в коем случае не хотел Вас обидеть. Свое решение не считаю достойным публикации, и как мне кажется я его полностью описал в своем комментарии. Это всего лишь мое имхо. В вашем решении каждый раз надо заново записывать в справочник Внешние обработки измененную внешнюю обработку после чего запускать отладку, в моем можно работать как с обычной обработкой.

    Reply
  4. adhocprog

    (3) я не обиделся, просто ответил 🙂

    Комментарии писать легко, ты публикацию сделай 😉

    >> В вашем решении каждый раз надо заново записывать в справочник Внешние обработки измененную внешнюю обработку после чего запускать отладку

    Конечно, так вести разработку не удобно. Я и не советую 🙂 В этом случае надо сразу грамотно делать.

    Мой вариант подходит, когда надо быстро понять причину ошибки (может быть она в исходных данных), при необходимости поправить пару строчек кода в отлаживаемой обработке и обновить ее в базе.

    Вот для чего подходит эта обработка.

    Reply
  5. Den_D

    Пробежался по всем ссылкам, которые вы указали в своей публикации. В каждой из них вопрос аналогичный моему задается в первых же комментариях.)))

    Reply
  6. frc

    (2)

    давно есть обработка от Poppy.

    Искать научить?

    Reply
  7. Den_D

    (4)

    Комментарии писать легко, ты публикацию сделай

    то ли я не очень хороший профессионал, то ли я очень скромен, но большую часть собственных разработок считаю не очень интересной и малополезной для сообщества, по этой причине у меня их тут нету)

    Reply
  8. adhocprog

    (6) такой, как эта, нету )

    Reply
  9. frc

    (3) Den_D,

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

    все это, и более того — например, обработка параметров, — реализовано 100 уже у Poppy.

    Reply
  10. Den_D

    (6) frc, эта обработка кажется по первой ссылке у автора

    Reply
  11. adhocprog

    (6) frc, где публикации? )

    Reply
  12. frc

    (8)

    Отладка таких форм практически невозможна.

    о да, главное — пиар 🙂

    Reply
  13. adhocprog

    +(8) в обработке у Poppy надо внешнюю обработку сохранить на диск.

    В моей не надо 🙂

    Reply
  14. frc

    (13)

    а как.. мм.. обработка становится «внешней», если она не сохранена на диск? 🙂

    Reply
  15. frc

    (11)

    какие?

    (10) Den_D,

    совершенно верно. Простая и удобная. Без всяких справочников.

    Разработана аналогично «Удобной отладке ОЗТЧ».

    обработок ТЧ — мильен 🙂

    У Poppy — одна из лучших.

    Reply
  16. adhocprog

    (12) согласен, пиар 🙂

    Америку уже давно открыли.

    Кстати, идея возникла, когда читал другую (не по этой теме) публикацию на Инфостарте.

    Меня вдохновила идея. Подумал, фантазия человеческая не имеет предела 🙂

    И тут по-новому взглянул на то, что уже сам применял много лет.

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

    Мне казалось это долго и муторно 🙂

    Мой вариант мне больше нравится. Пользуюсь теперь им 🙂

    Reply
  17. adhocprog

    >> обработок ТЧ — мильен 🙂

    Тебя, наверно, сильно удивляет разнообразие автомобильных марок. Mercedes, BMW, Audi… жуть 🙂

    Reply
  18. adhocprog

    (14) >> У Poppy — одна из лучших.

    Никто и не говорит, что она плохая 🙂

    У моей обработки есть очевидное преимущество 🙂 Кстати, и не одно.

    Поэтому я ее и написал 🙂

    Наверняка, кому-то она тоже приглянется. О, 11 скачиваний…

    Reply
  19. adhocprog

    (14) >> какие?

    твои 🙂 где твои публикации?

    Reply
  20. mikhailovaew

    (1) нет, серьезно, к чему такие сложности?

    Я поддерживаю Den_D.

    В ВПФ создаем одну форму, размещаем на ней реквизит СсылкаНаОбъект, для кнопки Выполнить пишем простой код (для типовых это УниверсальныеМеханизмы.НапечататьДокумент(Печать()))

    Куда проще-то? зачем ухищрения?

    Reply
  21. adhocprog

    (20) Ну, во-первых, речь не про разработку у себя на рабочем месте.

    Речь идет, когда вы у клиента и время на вес золота 🙂

    5 минут стоит 150 руб.

    А во-вторых, вы уж определитесь, а то с одной стороны старая обработка хороша:

    http://infostart.ru/public/14686/ от 18.03.2007

    а аналогичная, немного улучшенная, уже плоха 🙂

    Reply
  22. mikhailovaew

    (21) adhocprog, почему Вы предлагаете определиться мне? ))) Вы увидели меня в плюсовавших или восторженно комментировавших в той статье? 😉

    Остаюсь при своем мнении: одна строчка кода плюс форма — это не сложно, и не требует дополнительного инструментария для отладки )

    Reply
  23. adhocprog

    (22) >> почему Вы предлагаете определиться мне? )))

    потому что написали вы в моей публикации 🙂

    Reply
  24. MegaMouse

    Класс! Суть коментов свотится к «Сам дурак» .

    Мультик помните крылья, ноги, Главное ХВОСТ!!!

    Там фраза была : Лучше полчаса потерять , потом за 5 минут долететь!!!

    Думаю тут 30 минутами не обойдется:

    облом на 1 этапе : немогу подключить.

    ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2147)}: Ошибка при вызове метода контекста (Создать)

    ВнешнийОбъект = Менеджер.Создать(ПараметрыОбработки.ИмяОбъекта);

    по причине:

    {ВнешняяОбработка.ОтладкаВПФ.МодульОбъекта(28,24)}: Переменная не определена (УниверсальныеМеханизмы)

    по причине:

    {ВнешняяОбработка.ОтладкаВПФ.МодульОбъекта(28,24)}: Переменная не определена (УниверсальныеМеханизмы)

    {ВнешняяОбработка.ОтладкаВПФ.МодульОбъекта(28,24)}: Переменная не определена (УниверсальныеМеханизмы)

    ДеревоМакетовПечати = <<?>>УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Объект.Ссылка, СтруктураВнутреннихПечатныхФорм,,,Ложь);

    {ВнешняяОбработка.ОтладкаВПФ.МодульОбъекта(68,20)}: Процедура или функция с указанным именем не определена (ВосстановитьЗначение)

    ЗначениеПрошлое = <<?>>ВосстановитьЗначение(«_vpf»);

    {ВнешняяОбработка.ОтладкаВПФ.МодульОбъекта(84,3)}: Процедура или функция с указанным именем не определена (СохранитьЗначение)

    <<?>>СохранитьЗначение(«_vpf», ЭлСз.Значение);

    УТ 11,1,2,8 платформа свежая.

    В целях экономии времени буду действовать по старинке (как в коментах писалось).

    Удачи автору!!!!

    Reply
  25. adhocprog

    (24) по скрину, вроде, видно, что формы обычные (не управляемые).

    Обновил свойства публикации.

    Reply
  26. Kov495

    Спасибо Автору за обработку, НО вариант с добавлением формы и реквизита (ДокументСсылка например) 100% удобен и понятен в отладке.

    Reply
  27. fomix

    Хотел было скачать, но после прочтения комментариев и огрызания на них автора, который в упор не хочет видеть рациональное, желание пропало! Жаль…

    Reply
  28. adhocprog

    (27) >> в упор не хочет видеть рациональное

    Как же не вижу, если соглашаюсь с доводами?

    Для многих просто не важна выгода в моей версии (или они просто не видят).

    Отличия незначительные, но есть. И для меня это очень важно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *