• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/dealexist.php
  • Класс: Bitrix\Crm\Recurring\Entity\Item\DealExist
  • Вызов: DealExist::addExposingDeal
protected function addExposingDeal(array $fields = [])
{
	$result = new Main\ORM\Data\AddResult();
	$dealController = $this->getControllerInstance();

	try
	{
		$newDealId = $dealController->Add($fields, false, [
			'DISABLE_TIMELINE_CREATION' => 'Y',
			'DISABLE_USER_FIELD_CHECK' => true
		]);

		if ($newDealId)
		{
			$result->setId($newDealId);
			if (!empty($this->templateFields['PRODUCT_ROWS']))
			{
				$dealController::SaveProductRows($newDealId, $this->templateFields['PRODUCT_ROWS'], true, true, false);
			}

			$productRowSettings = \CCrmProductRow::LoadSettings('D', $this->templateId);
			if (!empty($productRowSettings))
				\CCrmProductRow::SaveSettings('D', $newDealId, $productRowSettings);
		}
		else
		{
			$result->addError(new Main\Error($dealController->LAST_ERROR));
		}
	}
	catch (Main\SystemException $exception)
	{
		$result->addError(new Main\Error($exception->getMessage(), $exception->getCode()));
	}

	return $result;
}