Простой и интересный на мой взгляд кейс бизнес-процесса (Битрикс24 коробка)


На одном из проектов понадобилось настроить такой бизнес-процесс: в ходе БП создается рабочая группа, далее создаются задачи и прикрепляются к данной рабочей группе. У некоторых задач есть подзадачи.

Создание рабочей группы и подзаачи — сделаны как вставки php кода:

Для рабочей группы:

CModule::IncludeModule(‘socialnetwork’);
CModule::IncludeModule(‘disk’);
CModule::IncludeModule(‘webdav’);

$SocGroup=new CSocNetGroup;
global $USER;

$arFieldsSG=array(
   «NAME»=>»{=Document:TITLE}»,
   «SITE_ID» => «s1»,
   «DESCRIPTION»=>»{=Document:TITLE} Workgroup»,
   «ACTIVE»=>»Y»,
   «VISIBLE»=>»Y»,
   «OPENED»=>»Y»,
   «CLOSED»=>»N»,
   «SUBJECT_ID»=>4,
   «OWNER_ID»=>1,
   «INITIATE_PERMS»=>A,
   «SPAM_PERMS»=>»N»,
   «SUBJECT_NAME»=>»Management Board»

);

$GroupID=CSocNetGroup::CreateGroup($USER->GetID(),$arFieldsSG);

if (CModule::IncludeModule(«disk»))
{
 BitrixDiskDriver::getInstance()->addGroupStorage($GroupID);
}

$this->SetVariable(‘WORKGROUPID’,$GroupID);

Для подзадачи:

if (CModule::IncludeModule(«tasks»))
{
global $USER;

    $arFields = Array(
        «TITLE» => «Task title»,
        «DESCRIPTION» => «Task description»,
        «RESPONSIBLE_ID» => $USER->GetID(),
        «GROUP_ID» => $this->GetVariable(‘WORKGROUPID’),
        «PARENT_ID»=>'{=A2629_10558_53461_99205:TaskId}’,
    );

    $obTask = new CTasks;
    $ID = $obTask->Add($arFields);
    $success = ($ID>0);
}

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *