none
Как автоматически последовательно запускать Бизнес-правила разных объектов? RRS feed

  • Вопрос

  • Добрый день!
    При настройке бизнес-правил появилась необходимость единого бизнес-правила на весь процесс, т.е. начиная созданием Интереса и заканчивая Счетом, но в системе бизнес-правила применяются к конкретному объекту "Интерес", "Возможная сделка", "Предложение" и т.д.
    Вопрос - возможно ли их в принципе объединить в одну цепочку, если да, то можно ли таким образом: Бизнес-правило для "Возможная сделка" закончилось и ответственнному посылается запрос на подтверждение перехода на следующий этап, т.е. к бизнес-правилу "Предложение" (может быть кнопка подтвердить переход), как только Ответственный нажимает подтвердить автоматически запускается следующее бизнес-правило. И так с каджым этапом. ? 

Ответы

Все ответы

  • Можно несколькими способами. Только интерактиы в бизнес-правилах невозможен. Вместо копок подтвердить переход можно, например, использовать задачи (с темой Подтвердить переход) и отслеживать их статус.
    1) с помощью подчиненных правил
    2) вызов другого бизнес-правила неявным образом, можно повесить правило на событие создания Предложения, и бизнес-праивло, применяемое к записи Возможная сделка и создающее объект Предложение, будет вызывать системное событие, которое в свою очередь запустит экземпляр БП над вновь созданной записью Предложения.


    MCT
    Модератор
  • Ещё один вопрос по workflow: можно ли сделать так:
    1. При создании "Интереса" ответственному назначается задача, скажем "связаться с потенциальным клиентом".
    2. Если за 2 дня задача НЕ закрывается, то руководителю посылается e-mail с уведомлением о невыполнении, но если задача закрыта раньше, ожидание этих двух дней заканчивается и письмо не отсылается. Процесс продолжается.

    Другими словами: 
    На отработку "Этапа 1" отводится 2 дня, в этап входят:
    - действие 1
    - действие 2
    ....
    - действие n
    Если действия этапа 1 заканчиваются раньше 2-х дней - запускается "Этап 2", если через 2 дня какие-либо из действий "Этапа 1" не закрыты - посылается письмо руководителю.
    Не могу настроить это ограничение во времени, получается: либо сначала идут действия, потом запускается ожидание 2 дня, либо ожидание выполнения всех задач, но без привязки 2-х дней. Подскажите решение.    

  • Описанная вами ситуация типична для процессов продаж и бизнес-правила в CRM идеально подходят для решения этой задачи.
    Помогает комбинация условий ожидания таймера и условий ожидания проверки, а также логическое ветвление.

    Если за 2 дня задача НЕ закрывается, то руководителю посылается e-mail с уведомлением о невыполнении, но если задача закрыта раньше, ожидание этих двух дней заканчивается и письмо не отсылается. Процесс продолжается.

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

    Примерно так:

    [Free Image Hosting at www.ImageShack.us

    Также можно организовывать поэтапную обработку в бизнес-правилах. Главное в конце этапа не забывать ставить условие проверки.

    MCT
    Модератор
  • Иван, а разве в вашем примере не происходит так: ожидание завершения задачи 1, после этого ожидание 2 дня, отправка сообщения, а затем задача 2 ?

    Нам же нужно одновременно ожидание завершения задачи и ожидание времени, при том что если завершение задачи происходит раньше ожидания времени, то правило не ждёт оставшееся время, а переходит к Задаче 2. 

    И ещё, если в одном этапе не одна задача, а скажем 5, а время отводится на этап, а не на задачу, как быть, ставить одинаковое условие ожидания времени на каждую задачу?

  • Иван, а разве в вашем примере не происходит так: ожидание завершения задачи 1, после этого ожидание 2 дня, отправка сообщения, а затем задача 2 ?

    Нам же нужно одновременно ожидание завершения задачи и ожидание времени, при том что если завершение задачи происходит раньше ожидания времени, то правило не ждёт оставшееся время, а переходит к Задаче 2. 

    И ещё, если в одном этапе не одна задача, а скажем 5, а время отводится на этап, а не на задачу, как быть, ставить одинаковое условие ожидания времени на каждую задачу?


    Ответ на вопрос, содержащийся в первом и втором абзацах - это работает именно так, как нужно - если задача закрывается раньше срока таймера, то мы выходим из условия ожидания (идем дальше по сценарию); если срабатывает таймер, то мы опять выходим из условия ожидания. При этом у на есть возможность по-разному обрабатывать обе ветки. Попробуйте воспроизвести, то что видите на скрине - посмотрите, как это работает.
    Если 5 задач, то я бы поставил одну проверку (проверка выполнения 5-ти задач в одной ветке, и условие ожидания таймера с длительностью этапа в другой).

    MCT
    Модератор
  • Добрый день.
    Помогите с workflow, весь день добиваюсь такого:

    Этап 1
    1.1 Обновить поле
    1.2 Подождать пока <поле1>равно[Да], Создать примечание.
    1.3 Одновременно ожидание 2 дня и если <поле1>равно[Нет], то Отправить электронную почту и Не переходить на этап 2, пока <поле1> не будет равно [Да].

    Этап 2
    2.1 Создать задачу1
    ......

    Делаю как на предыдущем скриншоте, получается правило ждёт ИЛИ выполнения задачи ИЛИ ожидание времени, и если одно из этих условий выполнено запускается Задача 2. Но мне нельзя запускать 2 этап пока <поле1> не будет равно [Да], как быть?

  • Нужно пункт 1.3 поместить внутрь 1.2. Если непонятно, сделаю скриншот.


    MCT
    Модератор
  • Спасибо, вышел из положения так:
    Этап 1
    1.1 Обновить поле
    1.2 Подождать пока <поле1>равно[Да], Создать примечание.
    1.3 В противном случае ожидание 2 дня. Отправка сообщения.
    1.3.1 Подождать пока <поле1>равно[Да], Создать примечание.

    Этап 2
    2.1 Создать задачу1
    ......

    Продублировал пункт 1.2 после отправки сообщения и всё заработало как надо.

  • Добрый день.
    Можно ли в workflow организовать такое правило:
    как только задача закрывается на форме выставляется галочка. Причем задач много и контролироваться их закрытие должно одновременно, как такое сделать?

    Пробовал так:
    http://pixs.ru/showimage/bpJPG_4676952_225882.jpg
    но тут выходит ожидание выполнения по-очереди каждой задачи, а не одновременно. 

  • Здравствуйте, Андрей.

    Для таких целей лучше использовать плагины.
    Truth is opened the prepared mind My blog - http://a33ik.blogspot.com
  • И снова Здравствуйте.
    Продолжим тему бизнес-правил:
    есть поле "статус задачи" (picklist), и несколько полей с датами (datetime).
    Можно ли с помощью workflow настроить так - в зависимости от выбранного статуса задачи выставлять нужные даты в полях (например: сегодня + 5 дней)?
    Если нельзя правилами, то плагинами можно? 
  • Здравствуйте, Андрей.

    Это можно сделать и плагинами и бизнес правилами.

    Truth is opened the prepared mind My blog - http://a33ik.blogspot.com
  • Можно и бизнес-правилами, "лучше использовать plugin-ы" - это мнение программиста.
    Прозрачность управления, скорость поиска нужного модуля и скорость изменения логики - все на стороне бизнес-правил.
    Можно настроить правило, которое, создавая задачу, будет ей устанавливать срок выполнения: просто вместо Сегодня нужно указывать динамическое значение Рабочий процесс-Вреся выполнения + 5 дней


    MCT
    Модератор
  • Можно и бизнес-правилами, "лучше использовать plugin-ы" - это мнение программиста.
    Прозрачность управления, скорость поиска нужного модуля и скорость изменения логики - все на стороне бизнес-правил.
    Можно настроить правило, которое, создавая задачу, будет ей устанавливать срок выполнения: просто вместо Сегодня нужно указывать динамическое значение Рабочий процесс-Вреся выполнения + 5 дней


    MCT

    Именно мнение программиста, потому как им я и являюсь. Не вижу ничего зазорного использовать плагины.
    Truth is opened the prepared mind My blog - http://a33ik.blogspot.com