Имя: Пароль:
1C
1С v8
RLS на реквизит справочника
0 Aether
 
30.08.11
14:00
Добрый день! Коллеги, подскажите, пожалуйста, есть ли в 1с возможность ограничить чтение значение конкретного реквизита для конкретной роли? Например, для пользователя с ролью "Менеджер" при открытии формы элемента справочника Сотрудники значение в поле "Оклад" д.б. пустое. Про форму списка тоже самое.
1 AlexNV
 
30.08.11
14:01
есть. ищи по форуму
2 Ненавижу 1С
 
гуру
30.08.11
14:01
там же можно указывать поля
3 ЧеловекДуши
 
30.08.11
14:03
Там есть все, но многое надо доделывать.
4 Aether
 
30.08.11
14:04
(1) Искал, результат неудовлетворительный... Пишу так:

Оклад                                                  |  Сотрудники ГДЕ ЛОЖЬ
Ссылка, ПометкаУдаления                  |  <Пусто>

Не работает..
5 Aleksey
 
30.08.11
14:04
Вроде бы в 8.2 это можно
6 Aether
 
30.08.11
14:05
(5) Дайте пример, пожалуйста!
7 AlexNV
 
30.08.11
14:09
8 Aether
 
30.08.11
14:10
(7) Вопрос звучит в (0) по-другому...
9 Aether
 
30.08.11
14:18
Up!
10 Злобный монстр
 
30.08.11
14:32
Регистр настроек сделай для пользователей и через него правила РЛС пиши как хочешь...
11 Aether
 
30.08.11
14:33
(10) А в конфигураторе разве нельзя?
12 Злобный монстр
 
30.08.11
14:37
(11) Можно, я просто гибкий вариант предлагаю. Но в твоем случае проще обращаться к параметру сеанса где будет лежать роль.
13 Aether
 
30.08.11
14:46
(12) А пример, можно? Как написать RLS?
14 Злобный монстр
 
30.08.11
14:51
(13) Например для поля Контрагент которое может смотреть тока менеджер

#Если &Роль = "Менеджер" #Тогда
ИСТИНА
#Иначе
ЛОЖЬ
#КонецЕсли
15 Aether
 
30.08.11
14:53
(14) Я же настраиваю RLS в конкретной роли, зачем мне проверять текущую роль пользователя?
16 Злобный монстр
 
30.08.11
14:54
(15) Тьфу блин... тогда в чем вообще проблема?
17 Злобный монстр
 
30.08.11
14:54
Я думал у тебя отдельные роли какие-то...
18 Aether
 
30.08.11
14:55
(16) =) Как написать RLS!
19 Aether
 
30.08.11
14:56
(16) + Это условие писать для поля Оклад? Надо ли что-то еще, например для "Прочие поля"?
20 Злобный монстр
 
30.08.11
14:56
Ты учитывай момент такой, если у юзера есть хоть одна роль с правами на чтение без этого правила он сможет прочитать
21 Aether
 
30.08.11
14:56
(20) У юзера 1 роль. Задача простая, не понимаю как сделать...
22 Злобный монстр
 
30.08.11
14:59
(19) Тебе условие не надо:
<Прочие поля> | Пусто
Оклад | Сотрудники ГДЕ ЛОЖЬ
23 Злобный монстр
 
30.08.11
14:59
точнее прочие поля вообще нет ниче
24 Aether
 
30.08.11
15:00
(22) <Прочие поля> | Пусто Ругается: Нельзя записывать пустое ограничение доступа!
25 Злобный монстр
 
30.08.11
15:00
Оклад | Сотрудники ГДЕ ЛОЖЬ

И больше ничего
26 acsent
 
30.08.11
15:04
Но учти ПолучитьОбъект() будет вызывать ошибку чтения
27 acsent
 
30.08.11
15:05
Лучше юзать 8.2 и права по реквизитам
28 Злобный монстр
 
30.08.11
15:05
(26) + А везде где запросы берут это поле надо будет "РАЗРЕШЕННЫЕ" добавить
29 Aether
 
30.08.11
15:06
(28) т.е типовые отчеты надо переписывать?
30 Aether
 
30.08.11
15:07
(25) Не работает! На форме изменений нет, отчеты показывают оклад...
31 Злобный монстр
 
30.08.11
15:08
(27) И где в 8.2 права по реквизитам?
(29) Ну "переписывать" это сильно сказано, тока добавлять "РАЗРЕШЕННЫЕ" в запросы где упоминается это поле справочника
32 Злобный монстр
 
30.08.11
15:08
(30) Точно под пользователем только с одной ролью смотришь?
33 Aether
 
30.08.11
15:10
(32) Вообще, у пользователя 3 роли: 2 типовые, но там нет вообще прав на этот справочник, 3-я роль моя, ее я и настраиваю.
34 Злобный монстр
 
30.08.11
15:10
(27) Его же не только просмотр интересует но и в отчетах и запросах инфа
35 Злобный монстр
 
30.08.11
15:12
(33) Странно...
36 Aether
 
30.08.11
15:12
При написании условия из (25) в отчетах вижу оклад, но вот попасть в карточку сотрудника уже не могу: пишет нет прав для операции над БД!
37 Злобный монстр
 
30.08.11
15:14
(36) А в отчете оклад откуда берется? Может там из регистра инфа идет? Вообщем походу с RLS в твоем случае больше геморроя будет...
38 Aether
 
30.08.11
15:19
(37) сейчас посмотрю
39 Aether
 
30.08.11
15:27
(37) Да, похоже поля в отчете заполняются из регистров. Если взять поле "Оклад" из справочника, оно пустое. Т.е. работает! Но, остались 2 вещи: ограничить регистры и все-таки пустить пользователя в карточку сотрудника.
40 Злобный монстр
 
30.08.11
15:30
(39) В карточке лучше без РЛС сделай запрет видимости. А в регистре сведений также как и в справочнике правило пиши. Если там накопление то не получится.... только на весь регистр сразу права
41 Aether
 
30.08.11
15:34
(40)А в случае с регистром расчета?
42 Злобный монстр
 
30.08.11
15:36
(41) Точно не знаю, но думаю что тож на весь регистр...
43 Aether
 
30.08.11
15:40
(42) Спасибо! Буду дальше сам думать!