- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/crm/fields/mapper.php
- Класс: BitrixTasksIntegrationCRMFieldsMapper
- Вызов: Mapper::map
public function map(array $crmFields): Collection
{
if (!Loader::includeModule('crm') || empty($crmFields))
{
return new Collection(...[]);
}
$collection = [];
foreach ($crmFields as $value)
{
[$type, $id] = explode('_', $value);
$id = (int)$id;
$typeId = CCrmOwnerType::ResolveID(CCrmOwnerTypeAbbr::ResolveName($type));
if ($typeId === CCrmOwnerType::Undefined)
{
continue;
}
$caption = CCrmOwnerType::GetCaption($typeId, $id);
$caption = is_string($caption) ? $caption : '';
$url = CCrmOwnerType::GetEntityShowPath($typeId, $id);
$collection[] = new Crm(
$id,
$typeId,
$caption,
$url
);
}
return new Collection(...$collection);
}