• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/usertypemanager.php
  • Класс: CUserTypeManager
  • Вызов: CUserTypeManager::getUserFieldValuesByEvent
protected function getUserFieldValuesByEvent(array $userFields, string $entityId, int $value): ?array
{
	$result = [];
	if($value === 0)
	{
		return null;
	}
	$isGotByEvent = false;
	$event = new BitrixMainEvent('main', 'onGetUserFieldValues', ['userFields' => $userFields, 'entityId' => $entityId, 'value' => $value]);
	$event->send();
	foreach($event->getResults() as $eventResult)
	{
		if($eventResult->getType() === BitrixMainEventResult::SUCCESS)
		{
			$parameters = $eventResult->getParameters();
			if(isset($parameters['values']) && is_array($parameters['values']))
			{
				$isGotByEvent = true;
				foreach($userFields as $fieldName => $userField)
				{
					if(isset($parameters['values'][$fieldName]))
					{
						$result[$fieldName] = $parameters['values'][$fieldName];
					}
				}
			}
		}
	}
	if($isGotByEvent)
	{
		return $result;
	}

	return null;
}