• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/userfield/internal/userfieldhelper.php
  • Класс: BitrixMainUserFieldInternalUserFieldHelper
  • Вызов: UserFieldHelper::onGetUserFieldValues
static function onGetUserFieldValues(Event $event): EventResult
{
	$result = new EventResult(EventResult::SUCCESS);

	$entityId = $event->getParameter('entityId');
	$userFieldHelper = static::getInstance();
	$parseResult = $userFieldHelper->parseUserFieldEntityId($entityId);
	if($parseResult)
	{
		$userFields = $event->getParameter('userFields');
		$value = $event->getParameter('value');

		/** @var TypeFactory $factory */
		[$factory, $typeId] = $parseResult;
		$dataClass = $factory->getTypeDataClass();
		$typeData = $dataClass::getById($typeId)->fetch();
		if(!$typeData)
		{
			return $result;
		}
		$itemDataClass = $factory->getItemDataClass($typeData);
		$values = $itemDataClass::getUserFieldValues($value, $userFields);

		if(!$values)
		{
			$values = [];
		}

		$result = new EventResult(EventResult::SUCCESS, [
			'values' => $values,
		]);
	}

	return $result;
}