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

Из такой ситуации могут быть 2 выхода:
[spoiler]
1. Использование действия "PHP код"

То, что там можно использовать любые функции api битрикс, понятно и так. А вот каким образом в данном случае взаимодействовать с самим бизнес-процессом, в документации, к сожалению, не описано.

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

Получение значения переменной:

$rootActivity $this->GetRootActivity();

$request_iblock_id $rootActivity->GetVariable("request_iblock_id");
Установка значения переменной:

$rootActivity $this->GetRootActivity();

$rootActivity->SetVariable("variable_id",$value);

2. Разработка собственного действия

Стандартные действия для бизнес-процессов лежат в папке "/bitrix/activities/bitrix/". В зависимости от задачи, можно либо скопировать стандартное действие, либо создать собственное с нуля.

Копирование действий бизнес-процессов в 1С-Битрикс отличается от копирования компонентов. Здесь не нужно создавать папку с названием компании в папке "/bitrix/activities/". Вместо этого нужно создать там папку "custom". Причем если вы скопировали стандартное действие из папки "bitrix" в папку "custom", и ожидали после этого увидеть 2 одинаковых действия в дизайнере бизнес процессов - не удивляйтесь, этого не произойдет, и это нормальное поведение. Тут также есть отличие от копирования компонентов: при копировании стандартного действия в папку "custom", действие из папки "custom" подменяет собой действие из папки "bitrix". Если нужно скопировать действие и сохранить при этом старое, придется еще кое-что поменять:

  1. Название папки действия
  2. Название файла действия, который лежит в папке и название которого совпадает с названием папки
  3. Название класса действия

Чтобы оставить сообщение, авторизуйтесь, или войдите с помощью:
11.10.2012 03:29:13
Еще полезная информация по теме: http://dev.1c-bitrix.ru/community/forums/forum23/topic41906/