• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/userfield/userfieldmanager.php
  • Класс: Bitrix\Crm\UserField\UserFieldManager
  • Вызов: UserFieldManager::getLinkedUserFields
static function getLinkedUserFields(array $descriptions): array
{
	if (static::$linkedUserFields !== null)
	{
		return static::$linkedUserFields;
	}

	$descriptions = array_filter(
		$descriptions,
		static function($description) {
			return (
				isset($description['moduleId'], $description['title'])
				&& Main\Loader::includeModule($description['moduleId'])
			);
		}
	);
	if (empty($descriptions))
	{
		return [];
	}
	$filter = [
		'LOGIC' => 'OR',
	];
	foreach ($descriptions as $name => $description)
	{
		$userFieldFields = static::parseUserFieldFieldsFromString($name);
		if ($userFieldFields)
		{
			$filter[] = [
				'=ENTITY_ID' => $userFieldFields['entityId'],
				'=FIELD_NAME' => $userFieldFields['fieldName'],
			];
		}
	}
	if (empty($filter))
	{
		return [];
	}

	static::$linkedUserFields = Main\UserFieldTable::getList([
		'filter' => $filter,
	])->fetchAll();

	return static::$linkedUserFields;
}