• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_quote.php
  • Класс: \CAllCrmQuote
  • Вызов: CAllCrmQuote::ResolvePersonType
static function ResolvePersonType(array $arFields, array $types = null)
{
	if($types === null)
	{
		$types = CCrmPaySystem::getPersonTypeIDs();
	}

	if(!(isset($types['COMPANY']) && isset($types['CONTACT'])))
	{
		return 0;
	}

	$companyId = isset($arFields['COMPANY_ID']) ? (int)$arFields['COMPANY_ID'] : 0;
	if($companyId > 0)
	{
		return $types['COMPANY'];
	}

	$contactBindings = isset($arFields['CONTACT_BINDINGS']) && is_array($arFields['CONTACT_BINDINGS'])
		? $arFields['CONTACT_BINDINGS'] : array();
	$contactId = \Bitrix\Crm\Binding\EntityBinding::getPrimaryEntityID(CCrmOwnerType::Contact, $contactBindings);
	if($contactId === 0 && isset($arFields['CONTACT_ID']))
	{
		$contactId = (int)$arFields['CONTACT_ID'];
	}
	return $contactId > 0 ? $types['CONTACT'] : 0;
}