Хранить информацию надо так, как это проще и удобнее именно вам.

БЛОКНОТ

 

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

В противоположность подходу, который предполагает использование обработки-стартера, идея автора статьи заключается в адаптации самой БСП для отладки внешней обработки.
  1. Любой уважающий себя программист, ведет разработку и отладку в тестовой базе.
    Поэтому сделайте ФАЙЛОВУЮ копию базы 1с, если вы используете типовую конфигурацию то вполне подойдет демо-база, которая поставляется вместе с любой типовой конфигурацией 1с.
  2. Включите возможность изменения конфигурации «Конфигурация-Поддержка-Настройка поддержки…-Включить возможность изменения»
    Для общего модуля ДополнительныеОтчетыИОбработки включите режим «Объект поставщика редактируется с сохранением поддержки»
  3. В модуль ДополнительныеОтчетыИОбработки вносим следующие изменения:

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

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


  4. Открываем в отладчике обработку «c:МояОбработка.epf» ставим точки останова, можно ставить их как в модуле объекта обработки — в СведенияОВнешнейОбработке(), Печать() и т.д., так и в модуле формы, если обработка имеет форму и использует команду «ОткрытиеФормы»
  5. Запускам 1с в режиме предприятия, добавляем обработку в справочник «Дополнительные отчеты и обработки», если точка останова была поставлена в функции СведенияОВнешнейОбработке(), то она тут же должна сработать. Вот и всё, теперь можно отлаживать обработку в штатном режиме.
  6. Внимание! Если точка останова не сработала то в связи с особенностью некоторых релизов платформы 8.3.6, для отладки необходимо в первую очередь поставить точку останова на строке СведенияОВнешнейОбработке = ВнешнийОбъект.СведенияОВнешнейОбработке(); процедуры ПриПолученииРегистрационныхДанных(…) модуля ДополнительныеОтчетыИОбработки. Затем в режиме предприятия регистрируем внешнюю обработку(либо заменяем файл, уже зарегистрированной обработки). Когда сработает точка останова необходимо нажать «Шагнуть в(F11)», откроется модуль обработки, а если модуль уже был открыт, то его КОПИЯ(!). Именно этот модуль и нужно отлаживать в обычном порядке, ставить точки останова и т.д.
  7. Обратите внимание, что при изменении исходного кода обработки нет необходимости заменять файл обработки в справочнике «Дополнительные отчеты и обработки», потому что фактически происходит запуск и отладка обработки «c:МояОбработка.epf», а не обработки из элемента справочника «Дополнительные отчеты и обработки». Это существенно сокращает и упрощает процесс отладки.
  8. Отмечу, что с помощью описанной технологии можно отлаживать внешние обработки ЛЮБОГО вида: «ДополнительнаяОбработка», «ДополнительныйОтчет», «ЗаполнениеОбъекта», «Отчет», «ПечатнаяФорма»,»СозданиеСвязанныхОбъектов», содержащие ЛЮБЫЕ команды: «ОткрытиеФормы», «ВызовКлиентскогоМетода», «ВызовСерверногоМетода»
  9. Возможные проблемы: время от времени точки останова перестают срабатывать, это происходит потому что по непонятным причинам отключается режим отладки, зайдите в «Отладка-Подключение…» и заново подключите отладку, либо перезапустите 1с предприятие в режиме отладки.
  10. P.S. Разумеется в рабочую базу никаких изменений вносить не нужно! Просто подключите к ней уже отлаженную внешнюю обработку.




Источник: ОБРАБОТКИ.com
Реклама:

Реклама: