Здравствуйте.
Подскажите, какие есть способы организовать новому сотруднику доступ на чтение и изменение к, например, активностям по определённым контрагентам?
И ещё. Как сделать, чтобы ответственный имел доступ изменять активность, ему назначенную?
Нравится
2 комментария
4 марта 2013 12:03
Здравствуйте.
Если это уже существующие записи, то доступ на них нужно распространять скриптом.
Что-то вроде:
declare @UserName nvarchar(250) set @UserName = 'ИмяПользователя' --которому предоставляется доступ declare @Account nvarchar(250) set @Account = 'ИмяКонтрагента' --по которому предоставляется доступ на активности declare @AdminUnitID uniqueidentifier set @AdminUnitID = (select top 1 Id from SysAdminUnit where Name = @UserName) declare @Reading int set @Reading = 1 --0 - запрет чтения, 1 - разрешение чтения, 2 - разрешение раздачи прав доступа на чтения declare @Writing int set @Writing = 1 --0 - запрет изменения, 1 - разрешение изменения, 2 - разрешение раздачи прав доступа на изменение declare @Deleting int set @Deleting = 1 --0 - запрет удаления, 1 - разрешение удаления, 2 - разрешение раздачи прав доступа на удаление if (@AdminUnitID is null) begin return end INSERT INTO SysActivityRight([Id], [RecordId], [SysAdminUnitId], [Operation], [RightLevel]) select newid(), a.Id, @AdminUnitID, 0, @Reading from Activity a where a.AccountId = (select Id from Account where Name = @Account) INSERT INTO SysActivityRight([Id], [RecordId], [SysAdminUnitId], [Operation], [RightLevel]) select newid(), a.Id, @AdminUnitID, 1, @Writing from Activity a where a.AccountId = (select Id from Account where Name = @Account) INSERT INTO SysActivityRight([Id], [RecordId], [SysAdminUnitId], [Operation], [RightLevel]) select newid(), a.Id, @AdminUnitID, 2, @Deleting from Activity a where a.AccountId = (select Id from Account where Name = @Account)
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать