• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/scenario/defaultstages.php
  • Класс: BitrixRpaScenarioDefaultStages
  • Вызов: DefaultStages::play
public function play(): Result
{
	$result = new Result();

	$stages = $this->type->getStages();
	if($stages->count() > 0)
	{
		return $result;
	}

	$defaultStagesData = $this->getDefaultStagesData();
	$resultData = [
		'eventIds' => [],
	];

	$sort = Stage::SORT_STEP;
	foreach($defaultStagesData as $fields)
	{
		$controller = new Stage();
		$stage = $this->type->createStage();
		$fields['sort'] = $sort;
		$eventId = Random::getString(6);
		$controller->updateAction($stage, $fields, $eventId);
		$resultData['eventIds'][] = $eventId;
		if($controller->getErrors())
		{
			$result->addErrors($controller->getErrors());
		}
		else
		{
			$stages->add($stage);
			$resultData['defaultStages'][] = $stage;
		}

		$sort += Stage::SORT_STEP;
	}

	if($result->isSuccess())
	{
		$allowResult = $this->allowMovingToFinalStages();
		if(!$allowResult->isSuccess())
		{
			$result->addErrors($allowResult->getErrors());
		}
	}

	$result->setData($resultData);

	return $result;
}