Имя: Пароль:
1C
 
Настройка прав доступа к отдельным полям таблицы.
0 Said_We
 
08.11.10
21:42
Есть простая таблица. Пусть справочник. У справочника есть реквизиты простого типа (число, строка дата). Нужно дать доступ к отдельным реквизитам или закрыть доступ. При этом может быть одновременно для одного пользователя у одного элемента этого справочника быть доступ к реквизиту1, а у соседнего элемента не быть доступ к этому реквизиту1.
Т.е. если сделать запрос к таблице, то результат должен быть примерно таким.

Полные права:
Элемент1, Реквизит1, Реквизит2, Реквизит3
Элемент2, Реквизит1, Реквизит2, Реквизит3
Элемент3, Реквизит1, Реквизит2, Реквизит3
Элемент4, Реквизит1, Реквизит2, Реквизит3

Ограниченные права:
Элемент1, NULL, Реквизит2, Реквизит3
Элемент2, Реквизит1, Реквизит2, Реквизит3
Элемент3, NULL, Реквизит2, NULL
Элемент4, NULL, NULL, Реквизит3

Такое возможно настроить правами или нет?
1 IronDemon
 
08.11.10
23:37
Да. Если где-то будут правила по доступу к реквизитам.
2 Said_We
 
09.11.10
16:28
У меня получилось только так:
Полные права:
Элемент1, Реквизит1, Реквизит2, Реквизит3
Элемент2, Реквизит1, Реквизит2, Реквизит3
Элемент3, Реквизит1, Реквизит2, Реквизит3
Элемент4, Реквизит1, Реквизит2, Реквизит3


Ограниченные права:
Элемент2, Реквизит1, Реквизит2, Реквизит3

Если где-то нет доступа к реквизиту, то недоступна вся запись.
3 Said_We
 
11.11.10
12:18
(1) Так можно только как в (2) или как в (0) тоже можно?
4 Said_We
 
11.11.10
20:54
Сколько много народу по ходу занимается ограничением прав....

Может я вопрос как-то некорректно задал? Поправте меня тогда пожалуйста.
5 Dmitrii
 
гуру
11.11.10
21:35
(3) только как в (2)
6 AlteZ
 
11.11.10
22:18
(2) Конспект лекций где брал, в типовых? RLS разбираю как раз
7 Armando
 
11.11.10
22:28
Навскидку, если для значений реквизитов использовать ПВХ, то, я думаю, можно выкрутиться.
8 Said_We
 
16.11.10
21:38
(6) Каких лекций?
(7) ПВХ - это что за абривиатура?
9 Armando
 
16.11.10
21:54
план видов характеристик
10 Said_We
 
22.11.10
14:15
(9) Не выход. Реквизиты уже есть и активно используются.
11 Рыжий Лис
 
22.11.10
15:41

ВЫБРАТЬ РАЗРЕШЕННЫЕ Ссылка, Реквизит1, Реквизит2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Ссылка, Реквизит1, NULL
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Ссылка, NULL, Реквизит2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Ссылка, NULL, NULL

и сгруппировать по Ссылке, Максимум по реквизиту1 и 2
12 Said_We
 
23.11.10
22:59
(11) Неа...
Цель не запросом собрать, а организовать доступ на уровне полей записи, а не целой записи.
В Вашем варианте необходимо переписывать все конфигурации все запросы внутри, но и это не спасёт. Любая консоль запросов и получи тот же геморой.
Хотелось бы одним запросом без объединений.
13 Jstunner
 
23.11.10
23:03
в 8.2 это есть
14 Said_We
 
23.11.10
23:06
(13) Я на 8.2 пробовал в (0).
15 Said_We
 
23.11.10
23:06
в (2)
16 Said_We
 
24.11.10
10:33
Учитывая что тебе пару недель. Думаю что получить результат в (0) не получиться. Жаль!!!
17 Said_We
 
24.11.10
20:58
тебе = теМе
18 Said_We
 
25.11.10
20:40
ну тогда ап что ли... :-(
19 Злобный Йожег
 
25.11.10
20:51
Можно попробоавть, примерно как делалось по старинке, в 7.7
Сваяй справочник, в нем сделай реквизит типа твоего справочника, другой реквизит, где будет храниться имя юзера, и ТЧ, в которой будет храниться перечень тех реквизитов твоего справочника, которые данному юзеру можно трогать, к примеру.
Потом в модуль формы списка справочника вписать в событие начала редактирования обращение к этому контрольному справочнику и смотреть в его ТЧ имя редактируемого поля. Если его там нет - отфутболивать чувака. Как-то так, наверно...
20 Злобный Йожег
 
25.11.10
20:55
вдогонку(19) можно даже проще: новый справочник не заводить, а в самом рабочем справочнике добавить ТЧ с полями "Юзер" и "РазрешенныеРеквизиты". В первой колонке будет храниться юзер, во второй - список разрешенных к редактированию ему реквизитов. Лальше проверка при начале редактирования аналогично тому, что уже описывалось выше.
21 acsent
 
25.11.10
20:56
(14) rls ом пытался чтоли?
22 Said_We
 
26.11.10
14:37
(19) Это не запретит юзеру консолью залезть и получить доступ к чему угодно запросом. Права должны раздаваться на уровне платформы. Завёл свою роль, прописал права. И без разницы чем тянешь, запрос, форма, отчёт и т.д.
(21) Ну в правах пытался к объекту по полям. В типовых это тоже есть, но работает так же.
23 Рыжий Лис
 
26.11.10
14:46
Реквизиты сделать отдельным регистром с измерениями Объект, Реквизит (ПВХ), ЗначениеРеквизита. RLS ограничивать доступ к регистру, не ограничивая к справочнику.
24 Злобный Йожег
 
26.11.10
17:04
(22) Ну, тогда в см. (23), самое оптимальное решение.
А вообще, "на каждую хитрую *опу всегда найдется *уй с резьбой", если кому здорово надо, он и эти ограничения обойти сможет.
25 Said_We
 
27.11.10
17:02
(23) Ну а владельцы типовых сиди и переписывай... ?
Странное решение 1С - алгоритм проверки прав запускается для реквизитов, а закврывается вся запись. Не пойму логики.
26 Said_We
 
30.11.10
10:42
Если уже всё равно проверка для реквизитов запускается, так и закрывать реквизиты.
В общем понятно что банан что получиться. Всем спасибо.