• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Operation/Copy.php
  • Класс: Bitrix\Crm\Service\Operation\Copy
  • Вызов: Copy::save
protected function save(): Result
{
	$result = new CopyResult();

	if ($this->item->isNew())
	{
		return $result->addError(new Error(
			'You can not copy a new not saved item',
			static::ERROR_CODE_ITEM_IS_NEW
		));
	}

	$factory = Container::getInstance()->getFactory($this->item->getEntityTypeId());
	if (!$factory)
	{
		return $result->addError(new Error('A factory for the item was not found'));
	}

	$copy = $factory->createItem();
	$result->setCopy($copy);

	$this->copyData($this->item, $copy);

	$copyAddResult = $this->getCopyAddOperation($factory, $copy)->launch();
	if (!$copyAddResult->isSuccess())
	{
		$result->addErrors($copyAddResult->getErrors());
	}

	return $result;
}