...Человеческий поиск в разработке...
- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/access/service/rolepermissionservice.php
- Класс: Bitrix\Sender\Access\Service\RolePermissionService
- Вызов: RolePermissionService::saveRole
public function saveRole(string $name, int $dealCategoryId = -1, int $roleId = null): int { $nameField = [ "NAME" => Encoding::convertEncodingToCurrent($name), "DEAL_CATEGORY_ID" => $dealCategoryId ]; try { if(!$roleId) { if(! ( $role = RoleTable::getList( ['filter' => [ '=NAME' => $nameField['NAME'], '=DEAL_CATEGORY_ID' => $nameField['DEAL_CATEGORY_ID'] ]])->fetchObject() ) ) { $role = RoleTable::add($nameField); } } else { $role = RoleTable::update($roleId, $nameField); } } catch (\Exception $e) { throw new SqlQueryException(self::DB_ERROR_KEY); } return $role->getId(); }