Показать сообщение отдельно
Старый 10.07.2003, 09:57   #1  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
? Вопрос про QueryBuildRange()
Имеется задача разделить права доступа User Groups к кодам отделов (Departments, Dimension[1]). То есть, чтобы группа GR1 видела отделы D1 и D3, а D2 и В4 - не видела. А группа GR2 - наоборот, соответственно...

Имеем: табличку rvs_DeptUserSetup с двумя полями Dimension и UserGroupId, в которую и прописываем права доступа. То есть, если в табличке есть запись {GR1, D1}, то группа GR1 имеет доступ к коду отдела D1.

Затем, при помощи запроса:
PHP код:
    if (_checkUserRights) {
        
select UserId from userGroupList
            where userGroupList
.userId == curUserId()
            
join rvs_DeptUserSetup
            where userGroupList
.GroupId == rvs_DeptUserSetup.UserGroupId &&
            
rvs_DeptUserSetup.Dimension[1] == sysDim;
    
        if (
userGroupList.RecId != {
           
// Есть доступ!
        
}
    } 
легко определяем, имеет ли данный пользователь доступ к данному отделу.

Вопрос: как бы таким же образом отфильтровать список отделов в DimensionsLookup? Ну, НИЧЕГО в голову нейдет...
__________________
Best Regards,
Roman