none
Ограничения в бизнес-правилах? RRS feed

  • Вопрос

  • Добрый день.
    У меня 10 бизнес-правил запускают друг друга по очереди (каждое следующее зависит от результатов предыдущего), т.е. 1-е правило обновляет "поле1", как только "поле1" изменится - запускается 2-е правило, обновляет "поле2" и т.д. Программа постоянно не пропускает шестое правило, как будто где-то стоит ограничение в 6 правил подряд, пишет http://pixs.ru/showimage/OshibkaJPG_4686867_228069.jpg, как будто циклическая ошибка, хотя нигде цикл не замыкается.
    И если это же правило запустить в ручную - оно работает и снова через 6 правил ошибка повторяется.  
    Кто-нибудь сталкивался с такой ситуацией? Где можно снять это ограничение? 

Ответы

  • Вам сегодня однозначно везет :)
    Открываете базу данных MSCRM_CONFIG, далее табличку DeploymentProperties, и находите в ней параметр AsyncMaximumRetries :) что с ним делать надеюсь знаете :)

    Ну там дальше может понадобится сервак рестартнуть.. сам не пробовал - у меня нет такого большого бизнес-процесса :)

    Да и не забудьте бэкап сделать :)

  • 1. Серевер перезагружали? Если перезагружали все равно не помогло, то наверно нужно поменять какой либо еще параметр :) это наверно можно узнать только профайлером...2
    2. В той ссылки, что я привел есть пример кода, который возобновляет остановленные бизнес-процессы. Упаковываете его в виде сервиса, делаете в нем поиск застопореных БП и ставите на расписание. Он периодически будет искать остановленные БП и запускать :)
    3. Сервисы писать не хотим? :) ОК. Можно по старинке... ансапортом :) Вот статейка http://support.microsoft.com/kb/968601, а чтобы ручками ее каждый раз не писать засовываете ее в джоб или триггер :)
    11 июня 2009 г. 3:49

Все ответы

  • Статья интересная как раз так и происходит работает 5 workflow подряд одно из другого и стопорится.
    Но решения этой проблемы там всё равно нет.

    RetryCount

    Time to wait (seconds)

    0

    36

    1

    43

    2

    52

    3

    62

    4

    75

    >= 5

    Suspend

    3 июня 2009 г. 15:50
  • Вам сегодня однозначно везет :)
    Открываете базу данных MSCRM_CONFIG, далее табличку DeploymentProperties, и находите в ней параметр AsyncMaximumRetries :) что с ним делать надеюсь знаете :)

    Ну там дальше может понадобится сервак рестартнуть.. сам не пробовал - у меня нет такого большого бизнес-процесса :)

    Да и не забудьте бэкап сделать :)

  • Добрый день.
    У меня 10 бизнес-правил запускают друг друга по очереди (каждое следующее зависит от результатов предыдущего), т.е. 1-е правило обновляет "поле1", как только "поле1" изменится - запускается 2-е правило, обновляет "поле2" и т.д. Программа постоянно не пропускает шестое правило, как будто где-то стоит ограничение в 6 правил подряд, пишет http://pixs.ru/showimage/OshibkaJPG_4686867_228069.jpg, как будто циклическая ошибка, хотя нигде цикл не замыкается.
    И если это же правило запустить в ручную - оно работает и снова через 6 правил ошибка повторяется.  
    Кто-нибудь сталкивался с такой ситуацией? Где можно снять это ограничение? 

    И снова здравствуйте ))

    Не могу решить вопрос с этим workflow, увеличил параметр AsyncMaximumRetries  в  базе с 5 до 15 и всё равно ситуация не изменилась. После 5-ти правил остановка, запускаю вручную с места остановки - через 5 правил снова стоп:
    http://pixs.ru/showimage/Bezimyanni_7182414_240580.jpg

    А сами правила выглядят следующим образом:
    http://pixs.ru/showimage/Bezimyanni_1624044_240567.jpg
    т.е. выставляет срок этапа в зависимости от приоритета сделки, запускает правило для следующего срока и завершает текущее правило. Зацикливания нигде нет.

    Вопрос: От чего так происходит?

    (Возможное решение сразу в первом правиле выставить все сроки не подходит, т.к. пользователь может на любом этапе изменить срок, при этом остальные сроки должны пересчитаться от нового значения) 
    10 июня 2009 г. 8:50
  • 1. Серевер перезагружали? Если перезагружали все равно не помогло, то наверно нужно поменять какой либо еще параметр :) это наверно можно узнать только профайлером...2
    2. В той ссылки, что я привел есть пример кода, который возобновляет остановленные бизнес-процессы. Упаковываете его в виде сервиса, делаете в нем поиск застопореных БП и ставите на расписание. Он периодически будет искать остановленные БП и запускать :)
    3. Сервисы писать не хотим? :) ОК. Можно по старинке... ансапортом :) Вот статейка http://support.microsoft.com/kb/968601, а чтобы ручками ее каждый раз не писать засовываете ее в джоб или триггер :)
    11 июня 2009 г. 3:49