1. Активируем возможность отладки скриптов:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings]
"JITDebug"=dword:00000001
2. В скрипте карточки ставим точку останова с помощью оператора "stop" в нужном месте. На выполнении этой команды выскакивает окно выбора отладчика.
Ну и далее запускаем студию и отлаживаем.
"Брякнулись":
IntelliSense в действии:
Если окно выбора отладчика не появляется, то удостоверьтесь, что в настройках MSVS: Options -> Debugging -> Just-in-Time стоит галочка "Script".
Для отладки скриптов также есть отладчик Microsoft Script Debugger, но он совсем уж простой, даже функционал watches отсутсвует, что сводит его полезность почти на нет. Также есть инструмент Microsoft Script Editor, но его поддержка ограничивается 2003-им офисом, что тоже является проблемой.
Поэтому лучше всё-таки использовать полноценную среду MSVS. Подойдёт даже бесплатная Express-редакция.
Также, при возникновении исключения в скрипте, автоматически вызывается окно выбора отладчика, без использования лексемы stop. Скрипт при этом может быть зашифрованным :)
ОтветитьУдалитьА как это сделать для скриптов в бизнес-процессах, написаных на C#? Тоже хочется отладки, да...
ОтветитьУдалитьБизнес-процессы обрабатываются службой Workflow (и даже не в реальном времени) на сервере приложений, поэтому отлаживать сценарии БП не получится. Однако, было обещание со стороны разработчиков в DV 5.0 улучшить редактор сценариев БП (подсветка точно должна быть). Возможно, мне кажется, реализовать какое-то доп. средство (может с интеграцией в MSVS), которое позволить отладить конкретный сценарий БП, но не думаю, что будет что-то подобное реализовано.
ОтветитьУдалитьТем не менее, сейчас вы можете конкретный сценарий писать в MSVS, с подсветкой и проверкой кода на очепятки и корректность синтаксиса. Для этого нужно создать пустой проект и подключить ключевые библиотеки (см. заголовок сценария БП).
Можно написать тестовый проект: экспортировать БП в xml, написать код, который из xml выдерет контекст - сформирует вызов метода
ОтветитьУдалитьExecute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo) на основе этого контекста.
Далее можно было бы это автоматизировать как то, чтобы экспорт xml происходил по ссылке на БП.
Хм... Может сработать...
>Подойдёт даже бесплатная Express-редакция.
ОтветитьУдалитьНе подходит
Этот комментарий был удален автором.
ОтветитьУдалитьМожно написать тестовый проект: экспортировать БП в xml, написать код, который из xml выдерет контекст - сформирует вызов метода
ОтветитьУдалитьExecute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo) на основе этого контекста.
Далее можно было бы это автоматизировать как то, чтобы экспорт xml происходил по ссылке на БП.
Хм... Может сработать...
А примера случайно нет такого? Или подскажите пожалуйста, где можно прочитать описание инициализации этих параметров из XML БП ?