• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/catalog/contractor/provider.php
  • Класс: Bitrix\Crm\Integration\Catalog\Contractor\Provider
  • Вызов: Provider::getPrimaryContractorByDocumentId
static function getPrimaryContractorByDocumentId(int $documentId): ?array
{
	$storeDocumentContractors = static::getTableName()::query()
		->setSelect(['ENTITY_TYPE_ID', 'ENTITY_ID'])
		->where(static::getDocumentPrimaryField(), $documentId)
		->exec()
		->fetchAll()
	;

	$contacts = [];
	foreach ($storeDocumentContractors as $storeDocumentContractor)
	{
		if ((int)$storeDocumentContractor['ENTITY_TYPE_ID'] === CCrmOwnerType::Company)
		{
			return $storeDocumentContractor;
		}

		if ((int)$storeDocumentContractor['ENTITY_TYPE_ID'] === CCrmOwnerType::Contact)
		{
			$contacts[] = $storeDocumentContractor;
		}
	}

	if ($contacts)
	{
		return $contacts[0];
	}

	return null;
}