• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/entityform/scope.php
  • Класс: BitrixUiEntityFormScope
  • Вызов: Scope::setScopeConfig
public function setScopeConfig(
	string $category,
	string $entityTypeId,
	string $name,
	array $accessCodes,
	array $config,
	array $params = []
)
{
	if (empty($name))
	{
		$errors['name'] = new Error(Loc::getMessage('FIELD_REQUIRED'));
	}
	if (empty($accessCodes))
	{
		$errors['accessCodes'] = new Error(Loc::getMessage('FIELD_REQUIRED'));
	}
	if (!empty($errors))
	{
		return $errors;
	}

	$this->formatAccessCodes($accessCodes);

	$result = EntityFormConfigTable::add([
		'CATEGORY' => $category,
		'ENTITY_TYPE_ID' => $entityTypeId,
		'NAME' => $name,
		'CONFIG' => $config,
		'COMMON' => ($params['common'] ?? 'Y'),
	]);

	if ($result->isSuccess())
	{
		$configId = $result->getId();
		foreach ($accessCodes as $ac)
		{
			EntityFormConfigAcTable::add([
				'ACCESS_CODE' => $ac['id'],
				'CONFIG_ID' => $configId,
			]);
		}

		$this->forceSetScopeToUsers($accessCodes, [
			'forceSetToUsers' => ($params['forceSetToUsers'] ?? false),
			'categoryName' => ($params['categoryName'] ?? ''),
			'entityTypeId' => $entityTypeId,
			'configId' => $configId,
		]);

		return $configId;
	}

	return $result->getErrors();
}