• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_contact.php
  • Класс: \CAllCrmContact
  • Вызов: CAllCrmContact::createCompatibilityAdapter
static function createCompatibilityAdapter(): Bitrix\Crm\Entity\Compatibility\Adapter
{
	$factory = Crm\Service\Container::getInstance()->getFactory(\CCrmOwnerType::Contact);
	if (!$factory)
	{
		throw new Error('No factory for contact');
	}

	$compatibilityAdapter =
		(new Crm\Entity\Compatibility\Adapter\Operation($factory))
			->setRunBizProc(false)
			->setRunAutomation(false)
			->setAlwaysExposedFields([
				'ID',
				'MODIFY_BY_ID',
				'FULL_NAME',
			])
			->setExposedOnlyAfterAddFields([
				'CREATED_BY_ID',
				'ASSIGNED_BY_ID',
				'LAST_NAME',
				'CATEGORY_ID',
				'BIRTHDAY_SORT',
				'HAS_IMOL',
				'HAS_PHONE',
				'HAS_EMAIL',
			])
	;

	$addressAdapter = new Crm\Entity\Compatibility\Adapter\Address(\CCrmOwnerType::Contact, EntityAddressType::Primary);
	$compatibilityAdapter->addChild($addressAdapter);

	return $compatibilityAdapter;
}