Command
Описание
abstract class Bitrix\Rpa\Command
- базовый класс для выполнения изменений элементов.
Чтобы не нагружать лишней логикой сами элементы, все проверки, подготовки, запуск роботов и пр. вынесено в этот класс.
Это абстрактный класс, у него есть три наследника:
Константы
public const ERROR_CODE_ITEM_MOVE_PERMISSION = 'RPA_ITEM_MOVE_ACCESS_DENIED'
;public const ERROR_CODE_ITEM_MODIFY_PERMISSION = 'RPA_ITEM_MODIFY_ACCESS_DENIED'
;public const ERROR_CODE_WRONG_STAGE = 'RPA_ITEM_WRONG_STAGE'
;public const ERROR_CODE_MANDATORY_FIELD_EMPTY = 'RPA_MANDATORY_FIELD_EMPTY'
;public const ERROR_CODE_ITEM_USER_HAS_TASKS = 'RPA_ITEM_USER_HAS_TASKS'
;public const ERROR_CODE_ITEM_TASKS_NOT_COMPLETED = 'RPA_ITEM_TASKS_NOT_COMPLETED'
;public const ERROR_CODE_ITEM_DELETE_PERMISSION = 'RPA_ITEM_DELETE_PERMISSION'
.
В этих константах лежат коды ошибок, которые могут вернуться в процессе выполнения команды
Методы
Метод | Описание | С версии |
---|---|---|
public function __construct(Item $item, array $data = []) |
Конструктор.
На вход принимает элемент и массив параметров В
Для всех этих данных есть сеттеры и геттеры, не обязательно передавать в конструктор:
|
|
public function run(): Result |
Основной метод команды.
Этот метод выполняет следующее:
При этом в момент запуска роботов над элементом могут производиться другие изменения, которые поднимут новый инстанс команды. По умолчанию все проверки включены Все проверки выполняются последовательно, если они не были отключены. Если во время одной из проверок возникла ошибка, то выполнение команды прерывается. Для включения / отключения проверок есть отдельный набор методов
Кроме того, можно отключить автоматические действия, выполняемые после сохранения изменений:
|
|
public function setPullEventId(string $eventId): Command |
Позволяет указать идентификатор события для \Bitrix\Rpa\Integration\PullManager. | |
abstract public function checkStage(): Result; |
Выполняет проверку стадии. Определен в наследниках. | |
abstract public function checkAccess(): Result; |
Выполняет проверку прав доступа. Определен в наследниках. | |
public function checkTasks(): Result |
Выполняет проверку запущенных заданий. По умолчанию не делает ничего, определен только в Bitrix\Rpa\Command\Update. | |
public function saveToHistory(ItemHistory $historyRecord): Result |
Выполняет сохранение данных в таблицу истории изменений. | |
public function checkFields(): Result |
Выполняет проверку полей. В Bitrix\Rpa\Command\Add этот метод пустой, а при удалении поля не меняются. | |
public function checkRequiredFields(UserFieldCollection $userFieldCollection): Result |
Проверяет, что все обязательные поля из коллекции $userFieldCollection заполнены. | |
public function resetNotEditableFields(UserFieldCollection $userFieldCollection): Result |
Сбрасывает значения пользовательских полей элемента из коллекции $userFieldCollection, которые недоступны для изменения. | |
public function isTerminated(): bool |
Во время выполнения метода checkTasks в Bitrix\Rpa\Command\Update может сработать режим автоматического выполнения задания.
В этом случае дальнейшее выполнение команды не имеет смысла, т.к. при выполнении задания элемент был изменен повторно. И выполнение команды надо прервать. Этот метод возвращает |