|
Подскажите - как правильно настроить RLS | ☑ | ||
---|---|---|---|---|
0
MatrosoV AleXXXand_R
28.11.11
✎
13:18
|
Нужно настроить, чтобы пользователь мог добавлять и изменять элементы в определенной группе справочника номенклатуры, а читать и просматривать весь справочник
У пользователя к примеру 2 роли - "Пользователь" (чтение, просмотр без RLS) и "Право добавления/изменения номенклатуры" (добавление через RLS, изменение через RLS) RLS ставлю для примера просто - "Номенклатура ГДЕ (ИСТИНА)" Но он мне не дает добавлять в таком случае новые записи в справочник. Если же я добавлю во 2-ой роли еще "Интерактивное добавление" - то дает, но в интерактивное добавление я не могу добавить RLS (недоступно) Вопрос - в моем случае - во второй роли нужно и "Добавление" и "Интерактивное добавление"? Если "Интерактивное добавление" нужно - как мне сделать, чтобы добавлять можно было только в определенную группу? |
|||
1
MatrosoV AleXXXand_R
28.11.11
✎
13:32
|
UP UP
|
|||
2
Irbis
28.11.11
✎
13:34
|
RLS, как бы только на основные права устанавливается (чтение, добавление, изменение, удалени).
|
|||
3
Grusswelle
28.11.11
✎
13:35
|
Выражение, которое ты пишешь в ячейке, само по себе должно выдавать значение ИСТИНА.
|
|||
4
Beduin
28.11.11
✎
13:35
|
(0) А ты у этого нового элемента видишь группу?
|
|||
5
Ненавижу 1С
гуру
28.11.11
✎
13:35
|
(2) +100
в условии же поставь Номенклатура В ИЕРАРХИИ (&ТвояПапка) |
|||
6
MatrosoV AleXXXand_R
28.11.11
✎
13:36
|
(2) Это я уже понял
Мне главное понять - реально ли сделать так в типовой, чтобы просматривать пользователь мог весь справочник, а редактировать - только определенную группу И как это можно сделать? |
|||
7
Irbis
28.11.11
✎
13:37
|
(6) А переносить из группы в группу?
|
|||
8
Beduin
28.11.11
✎
13:38
|
(6) При "изменении" вставь его условие (5)
|
|||
9
MatrosoV AleXXXand_R
28.11.11
✎
13:38
|
(7) На это тоже + добавление
|
|||
10
Beduin
28.11.11
✎
13:38
|
(7) Я в параметр сеанса писал нужную группу)
|
|||
11
MatrosoV AleXXXand_R
28.11.11
✎
13:40
|
(10) Нет, я хочу сделать через регистр свелений "Настройки прав доступа пользователей"
|
|||
12
MatrosoV AleXXXand_R
28.11.11
✎
13:41
|
А чтобы добавлять элементы можно было только в определенную группу, это тоже как в (8) надо сделать?
|
|||
13
Beduin
28.11.11
✎
13:43
|
(12) Если в записи таблицы доступна группа на момент создания через RLS то в чем проблема?
|
|||
14
MatrosoV AleXXXand_R
28.11.11
✎
13:51
|
(13) Накладываю RLS на добавление, ограничиваю добавление только в определенной группу, добавляю роли также "Интерактивное добавление" - и он дает добавлять в любую группу справочника
|
|||
15
Beduin
28.11.11
✎
13:52
|
(14) Запрос в RLS выкладывай
|
|||
16
MatrosoV AleXXXand_R
28.11.11
✎
13:53
|
#Если &ИспользоватьОграничениеПоНоменклатура #Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.Родитель И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Номенклатура) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли |
|||
17
Beduin
28.11.11
✎
14:00
|
(16) Это у тебя на добавление условие?
|
|||
18
MatrosoV AleXXXand_R
28.11.11
✎
15:28
|
Подскажите ...
Есть вот такой запрос #Если &ИспользоватьОграничениеПоНоменклатура #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ТекущаяТаблица.Родитель В (ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ НастройкиПравДоступаПользователей.ОбъектДоступа КАК ОбъектДоступа, НазначениеВидовОбъектовДоступа.ГруппаПользователей КАК ГруппаПользователей ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО (НастройкиПравДоступаПользователей.ОбъектДоступа = &Гр) И (НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа) И (НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)) И (НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Номенклатура))) КАК ОбъектыДоступа ПО Номенклатура.Ссылка = ОбъектыДоступа.ОбъектДоступа И (ГруппыПользователей.ГруппаПользователей = ОбъектыДоступа.ГруппаПользователей) ГДЕ (НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL )) #КонецЕсли Посмотрел в консоли запросов (вместо ТекущаяТаблица брал Справочник.Номенклатура) - в результат запроса попадают записи с группами номенклатуры, в которых резрешено добавление номенклатуры. Но ... Если у меня у роли стоит один флажок "Добавление" - то ничего не добавляется, ни в какую из групп, если я добавляю флажок "Интерактивное добавление" - то добавляет без разницы - и в разрешенную и в неразрешенную В чем ошибка? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |