Документация для разработчиков
Темная тема

Кастомизация

Переопределение логики

Модуль позволяет использовать свои классы вместо предустановленных (Bitrix\Rpa\Driver).

Таким образом можно изменить поведение модуля.

Чтобы это сделать, необходимо подписаться на событие onDriverCollectClasses модуля rpa.

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

Например, вы хотите использовать свою реализацию менеджера сценариев (например, чтобы добавить больше полей в черновик процесса).

Для этого создаете своего наследника:

class MyDirector extends Bitrix\Rpa\Director 
{
	public function getDraftTypeScenarios(): Bitrix\Rpa\Scenario\Collection
	{
		// MyDraftTypeScenario - ваш сценарий
		return new Bitrix\Rpa\Scenario\Collection([new MyDraftTypeScenario()]);
	}
}

После этого в init.php подписываетесь на событие:

Bitrix\Main\EventManager::getInstance()->addEventHandler(
	'rpa',
	'onDriverCollectClasses', 
	static function(\Bitrix\Main\Event $event) {
		return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
			'director' => MyDirector::class,
		]);
	}
);

Теперь Bitrix\Rpa\Driver::getInstance()->getDirector() вернет инстанс вашего класса.

Классы, которые можно подменить, их имена и классы, которые надо наследовать:

[
    'factory' => Bitrix\Rpa\Factory::class,
    'urlManager' => Bitrix\Rpa\UrlManager::class,
    'director' => Bitrix\Rpa\Director::class,
    'pullManager' => Bitrix\Rpa\Integration\PullManager::class,
    'taskManager' => Bitrix\Rpa\Integration\TaskManager::class,
];

Переопределение адресов

Один из вариантов изменения адресов страниц - переопределить класс Bitrix\Rpa\UrlManager.

В своем классе можно переопределить все методы или только их часть и получить новые адреса.

Другой вариант - это указать свои шаблоны ссылок.

$templates['bitrix:rpa.panel'] = 'panel/';

\Bitrix\Rpa\Driver::getInstance()->getUrlManager()->saveCustomUrlTemplates($templates);

Теперь вместо старого адреса списка процессов будет открываться новый.

По новому адресу вы можете вставить свой компонент вместо стандартного, а со старого адреса на новый сделать редирект.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх