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

Урок 240 из 248
Автор: Марина Павлова
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Просмотров: 24288
Дата изменения: 15.04.2024
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Старт, Стандарт, Малый бизнес

Запуск одного процесса из другого

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

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

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

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

    Где:

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

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

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

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

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

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

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

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

Нам жаль это слышать… Но мы постараемся быть лучше!

Мы благодарны Вам за помощь в улучшении документации.

Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
Курсы разработаны в компании «1С-Битрикс»