170  /  175

Как запустить из одного бизнес процесса другой?

Просмотров: 4714 (Статистика ведётся с 06.02.2017)

Среди стандартных действий бизнес-процессов нет специального действия, которое непосредственно запустило бы выполнение другого бизнес-процесса. Поэтому необходимо воспользоваться универсальным действием выполнения PHP кода и API модуля бизнес-процессов. Рассмотрим пример решения данной задачи на основе запуска бизнес-процесса Двухэтапное утверждение из стандартных шаблонов. Для этого необходимо:

  • В визуальном конструкторе добавить в шаблон запускающего бизнес-процесса действие PHP код (находится в разделе Прочее). Это действие позволяет выполнить произвольный PHP код.

    Внимание! Для использования данного действия вы должны быть наделены правами администратора.

  • Откройте диалог настроек параметров действия с помощью иконки и введите код:
    CBPDocument::StartWorkflow(
          6,
          array("bizproc","CIBlockDocument",{=Document:ID}),
          array("Voters"=>array("user_1")),
          $arErrors
    );

    Где:

    • Первый параметр - это ID запускаемого шаблона бизнес процесса. В нашем случае это 6, что соответствует Двухэтапному утверждению.

      Примечание: ID одних и тех же бизнес процессов могут отличаться для разных установок продукта. Всегда внимательно проверяйте данный параметр.

    • Второй параметр - это код документа, для которого создается бизнес-процесс. Он задается в виде массива, элементами которого являются соответственно название модуля, класс документа и код документа в модуле.

      Примечание: шаблон запускаемого бизнес-процесса должен соответствовать типу указываемого документа. В данном примере бизнес-процесс запускается для того же элемента информационных блоков, над которым работает запускающий бизнес-процесс.

    • Третий параметр - это массив входных параметров запускаемого бизнес-процесса. Его состав зависит от бизнес-процесса. В нашем случае, это тот пользователь, которого необходимо ознакомить с документом. В примере, это администратор сайта.

      Примечание: если передается значение множественного параметра, то оно должно передаваться в виде массива.

    • В четвертом параметре по ссылке передается переменная, в которой будут возвращены ошибки запуска бизнес-процесса. Этот параметр можно проигнорировать, если обработка ошибок не важна.

Пример вызова бизнес-процесса для CRM

18
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии