Имя: Пароль:
1C
1С v8
УТ 10.3 Чтобы пользователь видел только документы своего проекта
,
0 Vigor06
 
15.06.13
13:31
Доброго времени суток!
Работа на фирме ведется в контексте проектов. У большинства документов есть соответствующий проект. Так же основной проект указывается в настройках пользователя

Хочется,чтобы пользователь видел и мог редактировать только те проекты,которые указаны у него в настройках.

Причем создавать мог документы и с другими проектами,но как только проведет документ с другим проектом - этот документ ему уже не виден будет.

Как реализовать? RLS  или в настройках документа прописать?
1 Alterife
 
15.06.13
14:32
Я делал так же, только по подразделениям. У УТ 10.3 не предусмотрено. Пришлось допиливать RLS.
1. Регистр сведений с измерениями "Пользователь" и "Проект";
2. Параметр сеанса, например, "ДоступныеПроекты" типа фисированный массив;
3. Процедура, которая ПриЗапускеСистемы заполняет наш параметр сеанса должным образом;
4. RLS на роль "Пользователь" по всем документам, где есть реквизит "Проект" вида "ГДЕ Проект в &ДоступныеПроекты".

Вуаля!
2 Vigor06
 
15.06.13
14:35
(1)Спасибо,сейчас попробую)
3 Vigor06
 
15.06.13
14:41
(1)Как правильнее заполнять регистр?
в п.3 видимо как раз из регстра проет и достаем?
в п.4 разве в rls мы можем ограничивать видимость? Вроде же только чтение,изменение,добавление,удаление?
4 Alterife
 
15.06.13
14:57
(3) Заполняешь под пользователем с полными правами. Да, массив из проектов и должен состоять. Чтением просмотр и ограничивается.
5 Vigor06
 
15.06.13
15:02
(4) ну я пока ограничился 1м проектом у каждого пользователя)
6 Alterife
 
15.06.13
15:08
(5) Ну как? Получилось?
7 Vigor06
 
15.06.13
15:14
(5)Вроде да)

Но вот еще вопрос: внедрять такую штуку на предприятии с 10 сотрудниками - нетрудно,А если 100,500,1000?

Идея такая: есть Справочник "Группы пользователей".
В ней мы задаем название,администратора группы и состав.

Можно ли ограничивать опять же чтение,добавление,видимость и тд для каждой такой группы без контекста проекта? То есть для состава группы пользователей?
8 Vigor06
 
15.06.13
15:14
(6) в предыдущем)простите)
9 Alterife
 
15.06.13
15:38
(7) Аццтой. Больше 10 пользователей -> SQL Server, а там есть ограничение таблиц в запросе, количества полей и т. д., так что некоторые запросы/отчёты могут перестать работать. Тут чем проще - тем лучше. Даже обычная настройка прав УТ 10.3 - глянь сколько "лишних" таблиц подтягивает.
10 Vigor06
 
15.06.13
15:39
(9) и все же)Как через ГруппыПользолвателей реализовать такую дивность?
11 Alterife
 
15.06.13
15:42
(10) Ну если уж совсем невтерпёж - так и реализуй. Через справочник с табличной частью, например. Но учти, это уже +2 таблицы.

ЗЫ: покури шаблоны RLS, посмотри как там реализовано.
12 Vigor06
 
15.06.13
15:54
(11) можно поподробнее про справочник с табличной частью?
13 ОбычныйЧеловек
 
15.06.13
15:54
(0) Когда требуется универсальный механизм управления доступом,видимостью,доступностью и т.д. - всегда рекомендую смотреть "Регистры правил".
14 Alterife
 
15.06.13
15:57
(12) Ну сделай справочник "Группы пользователей" с табличной частью "Пользователи", например... Или как ты себе группы представляешь? Папками в справочнике? "В ИЕРАРХИИ" в RLS не работает.
15 Alterife
 
15.06.13
16:01
...Вообще есть справочник "Группы пользователей", но я считаю его слишком навороченным по той же самой причине ограничений SQL Server.
16 Alterife
 
15.06.13
16:05
...Хотя можешь его и использовать. Нормальный он. ))
17 Vigor06
 
15.06.13
16:15
(12) не,представляю именно справочником "Группы пользователей"
Мы в RLS можем запросом проверять принадлежность пользователя к какой-то группе и в зависимости от настроек группы(тоже-как?) устанавливаем доступность чтения,изменения и тд
18 Vigor06
 
15.06.13
16:31
да что со мной такое то?? (16) там