Начал только осваивать Террасофт. Разбираюсь с правами доступа.
Создал невизуальный компонент - пункт контекстного меню для wnd_MyGridArea. Как настроить, чтобы этот пункт меню видела только группа к примеру Бухгалтерия?
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Разобрался как можно настроить доступ к конкретному пользователю:
К примеру:
[javascript]
var NameUser = 'User1';
var CurrentUserLoginName = Connector.CurrentUser.Name;
if (CurrentUserLoginName == NameUser ) {
ПунктМеню.IsVisible = true;
ПунктМеню.IsEnabled = true;
return;
[/javascript]
А вот как настроить доступ к определенной группе?
К примеру:
[javascript]
function ДоступМенюГруппа() {
//
if (ТекущийЮзер принадлежит Группе1) {
return true;
}
return false;
}
[/javascript]
Как прописать синтаксис?
Alex, можно так:
[javascript]
var dsUserInGroup = Services.GetNewItemByUSI('ds_UserInGroup');
var UserName = Connector.CurrentUser.Name;
var GroupName = 'GroupName';
ApplyDatasetFilter(dsUserInGroup, 'GroupName', GroupName, true);
ApplyDatasetFilter(dsUserInGroup, 'UserName',
UserName, true);
dsUserInGroup.Open();
if (!dsUserInGroup.IsEOF) {
//пользователь в группе
}
dsUserInGroup.Close();
[/javascript]
Сделал, как Вы рекомендовали:
[javascript]
function MyUserInGroup() {
var dsUserInGroup = Services.GetNewItemByUSI('ds_UserInGroup');
var UserName = Connector.CurrentUser.Name;
var GroupName = 'Группа1';
ApplyDatasetFilter(dsUserInGroup, 'GroupName', GroupName, true);
ApplyDatasetFilter(dsUserInGroup, 'UserName', UserName, true);
dsUserInGroup.Open();
if (!dsUserInGroup.IsEOF) {
return true;
}
dsUserInGroup.Close();
return false;
}
[/javascript]
В строчке
[javascript]
ApplyDatasetFilter(dsUserInGroup, 'GroupName', GroupName, true);
[/javascript]
пишет: "Предполагается наличие объекта". Что тут некорректно?
Alex, остановитьесь дебаггером и посмотрите содержание переменных dsUserInGroup и GroupName.
Может, подойдёт стандартная функция GetIsCurrentUserHas(RecordAdminUnitID) из скрипта scr_Access?