• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/entityrequisite.php
  • Класс: Bitrix\Crm\EntityRequisite
  • Вызов: EntityRequisite::getDefaultListFieldItems
protected function getDefaultListFieldItems(string $statusEntityId): array
{
	$result = [];

	if (is_string($statusEntityId) && $statusEntityId !== '')
	{
		if (!isset(static::$rqListFieldItemsMap[$statusEntityId]))
		{
			$matches = [];
			if (preg_match('/^(RQ_[A-Z0-9_]+)_([A-Z]{2})$/', $statusEntityId, $matches))
			{
				$fieldName = $matches[1];
				$countryCode = $matches[2];
				$countryId = GetCountryIdByCode($countryCode);
				if ($countryId > 0)
				{
					if (
						$this->isRqListField($fieldName)
						&& $this->checkRqFieldCountryId($fieldName, $countryId)
					)
					{
						if ($fieldName === 'RQ_IDENT_TYPE')
						{
							$statusIds = [
								'CIVILREG',
								'IDCARD',
								'CITIZENCARD',
								'IMMCARD',
								'FOREIGNERID',
								'NIT',
								'PASSPORT',
								'FOREIGNIDDOC',
								'EXTNIT',
								'NUIP',
							];
						}
						else
						{
							$statusIds = [];
						}

						$sort = 0;
						$sortStep = 10;
						$phrasePrefix = 'CRM_REQUISITE_ENTITY';
						$phraseSuffix = 'ENUM';
						foreach ($statusIds as $statusId)
						{
							$sort += $sortStep;
							static::$rqListFieldItemsMap[$statusEntityId][] = [
								'ENTITY_ID' => $statusEntityId,
								'STATUS_ID' => $statusId,
								'NAME' => $this->getPhrase(
									"{$phrasePrefix}_{$fieldName}_{$statusId}_{$countryCode}_{$phraseSuffix}",
									$countryId
								),
								'SORT' => $sort,
							];
						}
					}
				}
			}
		}

		if (isset(static::$rqListFieldItemsMap[$statusEntityId]))
		{
			$result = static::$rqListFieldItemsMap[$statusEntityId];
		}
	}

	return $result;
}