• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/conversion/entityaddressconverter.php
  • Класс: Bitrix\Crm\Requisite\Conversion\EntityAddressConverter
  • Вызов: EntityAddressConverter::addEntityRequisite
protected function addEntityRequisite(int $entityId, $requisiteAddressMap, $requisitePresetMap)
{
	$requisiteId = 0;
	
	$requisite = EntityRequisite::getSingleInstance();

	$presetId = $this->defaultPresetId > 0 ? $this->defaultPresetId : 0;
	if ($presetId <= 0 && !empty($requisiteAddressMap))
	{
		reset($requisiteAddressMap);
		$firstRequisiteId = key($requisiteAddressMap);
		if (isset($requisitePresetMap[$firstRequisiteId]) && $requisitePresetMap[$firstRequisiteId] > 0)
		{
			$presetId = $requisitePresetMap[$firstRequisiteId];
		}
	}
	if ($presetId <= 0)
	{
		throw new EntityAddressConverterException(
			$this->entityTypeId,
			$presetId,
			EntityAddressConverterException::ERR_CANT_PICK_PRESET_FOR_REQUISITE
		);
	}
	$requisiteAddResult = $requisite->add(
		array(
			'ENTITY_TYPE_ID' => $this->entityTypeId,
			'ENTITY_ID' => $entityId,
			'PRESET_ID' => $presetId,
			'NAME' => CCrmOwnerType::GetCaption($this->entityTypeId, $entityId, false),
			'SORT' => 500,
			'ADDRESS_ONLY' => 'Y',
			'ACTIVE' => 'Y'
		)
	);
	if($requisiteAddResult->isSuccess())
	{
		$requisiteId = (int)$requisiteAddResult->getId();
	}
	
	return $requisiteId;
}