• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/catalog/contractor/provider.php
  • Класс: Bitrix\Crm\Integration\Catalog\Contractor\Provider
  • Вызов: Provider::getContractorByDocumentId
static function getContractorByDocumentId(int $documentId): ?IContractor
{
	$documentContractor = self::getPrimaryContractorByDocumentId($documentId);
	if (!$documentContractor)
	{
		return null;
	}

	$itemFactory = Container::getInstance()->getFactory($documentContractor['ENTITY_TYPE_ID']);
	if (!$itemFactory)
	{
		return null;
	}

	/** @var Item $item */
	$item = $itemFactory->getItem($documentContractor['ENTITY_ID']);
	if (!$item)
	{
		return null;
	}

	if (!$item->getId())
	{
		return null;
	}

	if ($item instanceof Item\Company)
	{
		return new Company($item);
	}

	if ($item instanceof Item\Contact)
	{
		return new Contact($item);
	}

	return null;
}