• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/controller/userfieldconfig.php
  • Класс: BitrixMainControllerUserFieldConfig
  • Вызов: UserFieldConfig::updateAction
public function updateAction(string $moduleId, int $id, array $field, CRestServer $restServer = null): ?array
{
	$access = $this->getAccess($moduleId, $restServer);
	if (!$access)
	{
		return null;
	}
	if (!$access->canUpdate($id))
	{
		$this->addError($this->getUpdateAccessDeniedError());
		return null;
	}

	$field = $this->prepareFields($field);
	$userTypeEntity = new CUserTypeEntity();
	$isUpdated = $userTypeEntity->Update($id, $field);
	if ($isUpdated)
	{
		if ($field['USER_TYPE_ID'] === 'enumeration')
		{
			$this->updateEnums($id, (array)$field['ENUM'], (array)UserFieldTable::getFieldData($id)['ENUM']);
		}

		return [
			'field' => $this->preparePublicData(UserFieldTable::getFieldData($id)),
		];
	}

	$this->fillErrorsFromApplication();
	if (!$this->getErrors())
	{
		$this->addError($this->getCommonError());
	}

	return null;
}