Как написать кастомную активити для бизнес-процесса для коробочного Битрикс24?

Для создания кастомной активити для бизнес-процесса в коробочном Битрикс24, вам необходимо выполнить следующие шаги:

1. Создание файла активити: Вы должны создать файл активити в формате PHP с расширением ".activity.php". Этот файл будет содержать код вашей активити. Например, вы можете назвать его "CustomActivity.activity.php".

2. Регистрация активити: Чтобы зарегистрировать вашу кастомную активити в системе Битрикс24, вы должны добавить код регистрации в файл активити. Этот код будет иметь следующий формат:

<?php
use BitrixBizprocActivityPropertiesDialogDialog as PropertiesDialog;
use BitrixMainLocalizationLoc;

class CustomActivity extends CBPActivity
{
    public function __construct($name)
    {
        parent::__construct($name);
        $this->arProperties = array(
            // Здесь должны быть перечислены все свойства вашей активити
        );
    }

    public function Execute()
    {
        // Здесь должен быть ваш код выполнения активити
        return CBPActivityExecutionStatus::Closed;
    }

    public static function GetPropertiesDialog($documentType, $activityName, $arWorkflowTemplate, $popupWindow)
    {
        return new PropertiesDialog($documentType, $activityName, $arWorkflowTemplate, $popupWindow);
    }
}

3. Определение свойств активити: Вам нужно определить свойства для вашей активити. Это можно сделать, добавив соответствующий код в функцию __construct вашего файла активити. Здесь вы должны перечислить все свойства, которые хотите использовать в активити. Например:

$this->arProperties = array(
    'Title' => '',
    'Description' => '',
    'CustomProperty' => '',
);

4. Добавление интерфейса свойств: Определите пользовательский интерфейс для настройки свойств активити. Для этого создайте файл диалога свойств в формате PHP с расширением ".properties_dialog.php". Например, "CustomActivity.properties_dialog.php". В этом файле вы можете использовать инструменты компонентов Битрикс24 для создания формы настройки свойств. Примерно так:

<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();

echo BeginNote();
echo GetMessage('ActivityDescription');
echo EndNote();

$form = $GLOBALS['CBPDocument']->GetFieldInputControl(
    $documentType,
    null,
    'CustomProperty',
    array('Form' => 'properties_dialog', 'Field' => 'CustomProperty')
);

echo $form['HTML'];

5. Регистрация активити в системе: Чтобы зарегистрировать вашу кастомную активити в системе Битрикс24, вам необходимо добавить код регистрации в файл /.parameters.php вашего модуля. Например:

$ActivityList['CustomActivity'] = array(
    'NAME' => Loc::getMessage('CustomActivityName'),
    'DESCRIPTION' => Loc::getMessage('CustomActivityDescription'),
    'TYPE' => 'activity',
    'CLASS' => 'CustomActivity',
    'JSCLASS' => 'BizProcActivity',
    'CATEGORY' => array(
        'ID' => 'document',
    ),
);

6. Установка активити в Битрикс24: Чтобы ваша кастомная активити была доступна в коробочном Битрикс24, вы должны установить ваш модуль и его активити на самом деле в вашу учетную запись Битрикс24. Для этого вы можете использовать маркетплейс Битрикс24 или установить его ручным способом через панель настроек вашего Битрикс24.

Не забудьте проверить и тестировать вашу активити перед установкой, чтобы убедиться, что она работает корректно в вашей окружающей среде Битрикс24.

Вот и все! Теперь вы знаете, как создать кастомную активити для бизнес-процесса в коробочном Битрикс24 и установить ее в своей учетной записи.