19.08.2010, 12:49 | #1 |
Участник
|
Проверка существования БП
Каким образом можно проверить, что определенный бизнес-процесс для данного экземляра сущности уже существует и новый бизнес-процесс не запускать, пока старый не завершиться?
|
|
19.08.2010, 18:40 | #2 |
Moderator
|
Например перейти в раздел бизнес процессы на панели навигации формы нужного вам экземпляра сущности.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
20.08.2010, 09:35 | #3 |
Участник
|
|
|
20.08.2010, 10:14 | #4 |
Консультант-джедай
|
1. Может быть в конце первого запускать дочерний?
2. На форме объекта можете реализовать какой нибудь флаг (битовое поле или пиклист например). Первый БП будет менять его при завершении работы, а второй поставьте реагировать на изменение этого флага
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
25.08.2010, 14:24 | #5 |
Участник
|
Попробую второй вариант.
|
|
26.08.2010, 14:41 | #6 |
Участник
|
Все-таки похоже мне нужен первый вариант.
Вы имеете ввиду запуск дочернего процесса, который будет создавать цикл (в книжке написано про логику эскалации, но мне непонятно как реализовать...)? |
|
26.08.2010, 21:02 | #7 |
Консультант-джедай
|
Цитата:
2. Причем тут цикл? Среди шагов бизнес процессов есть пункт "запустить дочерний бизнес-процес". Вот его и добавляете в конце Вашего
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
27.08.2010, 06:46 | #8 |
Участник
|
Вы имеете ввиду создать 2 одинаковых бизнес-процесса, которые можно запускать как дочерние и вызывать их друг из друга?
А возможно ли, чтобы один бизнес-процесс крутился до тех пор, пока не выполнится условие или процесс не будет остановлен вручную? Т.е. будет всего один бизнес-процесс, а не много порожденных друг другом. Последний раз редактировалось Jackie; 27.08.2010 в 06:57. |
|
27.08.2010, 09:21 | #9 |
Консультант-джедай
|
Цитата:
Сообщение от Jackie
Вы имеете ввиду создать 2 одинаковых бизнес-процесса, которые можно запускать как дочерние и вызывать их друг из друга?
А возможно ли, чтобы один бизнес-процесс крутился до тех пор, пока не выполнится условие или процесс не будет остановлен вручную? Т.е. будет всего один бизнес-процесс, а не много порожденных друг другом.
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
27.08.2010, 12:18 | #10 |
Участник
|
Да, это я уже прочитала. Но в примере создается новый бизнес-процесс, а не постоянно крутится один и тот же.
Мне примерно нужно следующее: для бизнес-партнера запускается БП, в котором проверяется условие. Если условие выполнилось, то конец БП. Если не выполнилось, то жду 1 день и снова проверяю. И так до тех пор, пока условие не выполнится или БП не остановят вручную. Не получится ограничиться одним экземпляром БП? |
|
27.08.2010, 13:07 | #11 |
Консультант-джедай
|
Цитата:
Сообщение от Jackie
Да, это я уже прочитала. Но в примере создается новый бизнес-процесс, а не постоянно крутится один и тот же.
Мне примерно нужно следующее: для бизнес-партнера запускается БП, в котором проверяется условие. Если условие выполнилось, то конец БП. Если не выполнилось, то жду 1 день и снова проверяю. И так до тех пор, пока условие не выполнится или БП не остановят вручную. Не получится ограничиться одним экземпляром БП?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
28.08.2010, 13:44 | #12 |
Moderator
|
Есть два разных шага процесса: проверка условия - обычное разовое ветвление, и условие ожидания - фактически бесконечный пустой цикл, который разрывается по определенному условию и продолжает выполнение следующих шагов. Возможно вы его просто не заметили? Тем не менее не стоит злоупотреблять этим типом шагов: ожидающие WF прожорливы к ресурсам сервера и могут тормозить выполнение других процессов. Так же они имеют свойство никогда не завершаться, если условие так и не было выполнено, поэтому рекомендуется предусматривать и запасной вариант "аварийного" завершения процесса.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
30.08.2010, 09:48 | #13 |
Участник
|
Каким же образом тогда лучше организовать автоматический запуск БП предположим раз в день? Нашла утилиту Period Workflow Tool. С помощью нее?
Еще возник такой вопрос (извините, что не по теме): при задании условия в БП не нашла условия "или" (как в расширенном поиске). Есть только "и". Интересно, почему нет? Последний раз редактировалось Jackie; 30.08.2010 в 10:42. |
|
30.08.2010, 20:24 | #14 |
Moderator
|
Если цель не дождаться события, а именно проверять раз в день, то лучше всего воспользоваться Period Workflow.
Вероятно условие или порождает какую-то неоднозначность. Хотя не совсем понял о чем вы говорите.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|