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