• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/resultentity.php
  • Класс: Bitrix\Crm\WebForm\ResultEntity
  • Вызов: ResultEntity::addDynamic
protected function addDynamic($options = [])
{
	$this->addClient();

	$params = array(
		'FIELDS' => [
			'SOURCE_ID' => 'WEBFORM',
		]
	);
	if($this->companyId || $this->contactId)
	{
		if($this->companyId)
		{
			$params['FIELDS']['COMPANY_ID'] = $this->companyId;
		}

		if($this->contactId)
		{
			$params['FIELDS']['CONTACT_ID'] = $this->contactId;
		}
	}

	$this->isDynamicDuplicateControlEnabled = ($this->formData['FORM_SETTINGS']['DYNAMIC_DC_ENABLED'] ?? 'N') === 'Y';

	$params['SET_PRODUCTS'] = true;
	$params['DYNAMIC_ENTITY'] = true;
	$entityTypeId = (int)($options['DYNAMIC_TYPE_ID'] ?? 0);
	$categoryId = (int)($this->formData['FORM_SETTINGS']['DYNAMIC_CATEGORY'] ?? 0);
	if (!$entityTypeId)
	{
		return;
	}
	if ($categoryId)
	{
		$params['FIELDS']['CATEGORY_ID'] = $categoryId;
	}

	$this->dynamicTypeId = $entityTypeId;
	$this->dynamicId = $this->addByEntityName(\CCrmOwnerType::resolveName($entityTypeId), $params);

	if($options['ADD_INVOICE'])
	{
		$this->addInvoice();
	}
}