• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Operation.php
  • Класс: Bitrix\Crm\Service\Operation
  • Вызов: Operation::changeResultClass
protected function changeResultClass(Result $original, string $newClass): Result
{
	if (!is_a($newClass, Result::class, true))
	{
		throw new ArgumentException('New class should be a subclass of Result', 'newClass');
	}

	if (is_a($original, $newClass))
	{
		return $original;
	}

	/** @var Result $newResult */
	$newResult = new $newClass();
	if (!$original->isSuccess())
	{
		$newResult->addErrors($original->getErrors());
	}
	if (!empty($original->getData()))
	{
		$newResult->setData($original->getData());
	}

	return $newResult;
}