TransportBase::getRequisites

  1. Bitrix24 API (v. 23.675.0)
  2. sender
  3. TransportBase
  4. getRequisites
  • Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/companycard.php
  • Класс: Bitrix\Sender\Integration\Crm\CompanyCard
  • Вызов: CompanyCard::getRequisites
static function getRequisites()
{
	// get my company id
	$myCompanyId = Requisite\EntityLink::getDefaultMyCompanyId();
	if (!$myCompanyId)
	{
		return null;
	}

	// get requisites
	$req = new EntityRequisite;
	$res = $req->getList(array(
		'filter' => array(
			'=ENTITY_TYPE_ID' => \CCrmOwnerType::Company,
			'=ENTITY_ID' => $myCompanyId
		)
	));
	$data = $res->fetch();
	if (!$data)
	{
		return null;
	}

	// prepare requisites
	$result = array();
	foreach ($data as $key => $value)
	{
		if (mb_substr($key, 0, 3) == 'RQ_')
		{
			$result[$key] = $value;
		}
	}

	// format person name
	$result[EntityRequisite::PERSON_FULL_NAME] = \CUser::formatName(
		Format\PersonNameFormatter::getFormat(),
		array(
			'NAME' => $result[EntityRequisite::PERSON_FIRST_NAME],
			'LAST_NAME' => $result[EntityRequisite::PERSON_LAST_NAME],
			'SECOND_NAME' => $result[EntityRequisite::PERSON_SECOND_NAME],
		)
	);

	// get address requisites
	$addresses = EntityRequisite::getAddresses($data['ID']);
	$addressTypes = array(
		EntityAddressType::Registered
	);

	$address = null;
	foreach ($addressTypes as $addressType)
	{
		if (isset($addresses[$addressType]))
		{
			$address = $addresses[$addressType];
		}
	}

	if (!$address && count($addresses) > 0)
	{
		$address = current($addresses);
	}

	if ($address && is_array($address))
	{
		$address = Format\AddressFormatter::getSingleInstance()->formatTextComma($address);
	}
	else
	{
		// get address from entity fields
		$address = \CCrmCompany::getByID($myCompanyId, false);
		if (!is_array($address))
		{
			$address = array();
		}
		if ($address['REG_ADDRESS'])
		{
			$addressTypeId =  EntityAddressType::Registered;
		}
		else
		{
			$addressTypeId =  EntityAddressType::Primary;
		}
		
		$address = Format\AddressFormatter::getSingleInstance()->formatTextComma(
			CompanyAddress::mapEntityFields($address, ['TYPE_ID' => $addressTypeId])
		);
	}

	$result['COMPANY_ADDRESS'] = $address;

	return $result;
}

Добавить комментарий