- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/userfield/datamodifiers/element.php
- Класс: Bitrix\Crm\UserField\DataModifiers\Element
- Вызов: Element::setDynamics
static function setDynamics(array &$result, array $params, $userPermissions): void
{
foreach($params['ENTITY_TYPE'] as $entityTypeName)
{
$entityTypeId = \CCrmOwnerType::ResolveID($entityTypeName);
if (($factory = Container::getInstance()->getFactory($entityTypeId)) === null)
{
continue;
}
if (\CCrmOwnerType::isPossibleDynamicTypeId($entityTypeId))
{
$result['ENTITY_TYPE'][$entityTypeId] = mb_strtolower($entityTypeName);
$list = $factory->getItemsFilteredByPermissions([
'order' => ['ID' => 'DESC'],
'limit' => self::ELEMENTS_LIMIT
]);
foreach ($list as $item)
{
$sid = (
$result['PREFIX'] === 'Y'
? \CCrmOwnerTypeAbbr::ResolveByTypeID($entityTypeId) . '_' . $item->getId()
: $item->getId()
);
$result['ELEMENT'][] = [
'title' => (str_replace([';', ','], ' ', $item->getTitle())),
'desc' => '',
'id' => $sid,
'url' => null,
'type' => mb_strtolower($entityTypeName)
];
}
}
}
}