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

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

		/** @var TypeFactory $factory */
		[$factory, $typeId] = $parseResult;
		$dataClass = $factory->getTypeDataClass();
		$typeData = $dataClass::getById($typeId)->fetch();
		if(!$typeData)
		{
			return $result;
		}
		$itemDataClass = $factory->getItemDataClass($typeData);
		$updateResult = $itemDataClass::updateUserFieldValues($id, $fields);
		if($updateResult->isSuccess())
		{
			$result = new EventResult(EventResult::SUCCESS);
		}
		else
		{
			$result = new EventResult(EventResult::ERROR);
		}
	}

	return $result;
}