- Модуль: 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;
}