Задача: разграничение доступа к данным в отчетах на реестре.
Текущая реализация: в БО на запросе добавляем текстовый параметр user_roles - расчетный элемент CURRENTUSERROLES() и в тексте запроса БО в условии WHERE используем runtime.role join runtime.security_entities_accessrule и :user_roles
Вопрос: можно ли обойтись без переменной в БО и получить логин / роли текущего пользователя прямо в SQL?
И есть ли альтернативные решения этой задачи?
по-моему в SQL нельзя получить логин текущего пользователя. Так как бд ничего не знает о контексте происходящего сейчас в Альфе. Альфа в бд ходит под одним пользователем, который прописан в alpha.config
но для разграничений на уровне данных в Альфе есть RLA (row level access) настройки безопасности.