- Модуль: 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();
}