|
Ограничение доступа! RLS | ☑ | ||
---|---|---|---|---|
0
KonstantinK90
09.06.17
✎
05:55
|
Всем привет! комплексная 1.1. настроил права на уровне записи чтобы пользователь видел только своих контрагентов. Все нормально работает за исключением пользователь не может создать заявку на доставку из документа перемещение. В журнале регистрации смотрю событие "Доступ. Отказ в доступе - чтение". В конфигураторе код ограничение доступа как его исправить чтобы ошибка не выходила. Текст ошибка "У пользователя не достаточно прав на выполнение операции над базой данных." Всем спасибо!
#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоСклады #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1) #КонецЕсли ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ТекущаяТаблица.#Параметр(2) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) ТОГДА ТекущаяТаблица.#Параметр(3) #КонецЕсли КОНЕЦ И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) КОНЕЦ #Иначе ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) #КонецЕсли И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В ( ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка) #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) #КонецЕсли ) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли |
|||
1
KonstantinK90
09.06.17
✎
06:16
|
есть мысли?
|
|||
2
KonstantinK90
09.06.17
✎
06:20
|
вообще этот запрос как то можно в предприятии отладить
|
|||
3
ИС-2
naïve
09.06.17
✎
06:52
|
в тексте RLS на заявку на доставку прописано этот RLS?
|
|||
4
KonstantinK90
09.06.17
✎
06:52
|
не понял вас что где должно быть прописано?
|
|||
5
ИС-2
naïve
09.06.17
✎
06:53
|
какой RLS в у заявки на доставку?
|
|||
6
KonstantinK90
09.06.17
✎
06:56
|
В предприятии настроил rls на доступ к контрагентам. а при создании заявки выходит ошибка недостаточно прав доступа на чтение. И не пойму что делать. в документе на вкладке права есть право чтение вот внем отказ
|
|||
7
KonstantinK90
09.06.17
✎
06:56
|
непойму что делать
|
|||
8
KonstantinK90
09.06.17
✎
06:57
|
первый раз столкнулся с этим
|
|||
9
SiAl-chel
09.06.17
✎
06:58
|
(0) Когда-то давным дано было такое. Если в справочнике автонумерация кодов, то "код" справочника надо как-то исключить из контроля RLS. Но вот как, уже не помню. Лет десять назад с таким сталкивался.
|
|||
10
ИС-2
naïve
09.06.17
✎
06:59
|
в праве на чтение прописан какой-то RLS ? Или просто стоит галка?
|
|||
11
SiAl-chel
09.06.17
✎
07:00
|
(0) +(9) А для документов надо добиться игнора RLS для номера документа.
|
|||
12
KonstantinK90
09.06.17
✎
07:08
|
в праве на чтение прописан RLS код я его выше скидывал
|
|||
13
DrZombi
гуру
09.06.17
✎
07:12
|
(6) Код посмотреть не пробовал?
Найти какой либо запрос :) |
|||
14
DrZombi
гуру
09.06.17
✎
07:13
|
(9) Поместить в привилегированный модуль, нет? :)
|
|||
15
DrZombi
гуру
09.06.17
✎
07:14
|
(12) Добавить в настройку прав видеть документы, где не указан Контрагент.
Т.е. добавить право видеть пустую ссылку :) |
|||
16
DrZombi
гуру
09.06.17
✎
07:15
|
+ и будет вам счастье :)
|
|||
17
KonstantinK90
09.06.17
✎
07:15
|
Добавить в настройку прав видеть документы, где не указан Контрагент.
Т.е. добавить право видеть пустую ссылку :) А где это добавляется???? |
|||
18
DrZombi
гуру
09.06.17
✎
07:17
|
(17) Ты когда создаешь документ у него не указан контрагент.
+Добавляется в регистре РегистрСведений.НазначениеВидовОбъектовДоступа |
|||
19
DrZombi
гуру
09.06.17
✎
07:17
|
+(17) типо тама :)
|
|||
20
DrZombi
гуру
09.06.17
✎
07:18
|
+ типовой РЛС из УПП
#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В (ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли |
|||
21
DrZombi
гуру
09.06.17
✎
07:19
|
+ 1С использовала РС РегистрСведений.НастройкиПравДоступаПользователей
|
|||
22
KonstantinK90
09.06.17
✎
07:20
|
Добавляется в регистре РегистрСведений.НазначениеВидовОбъектовДоступа
здесь нету "ВидОбъекта доступа" - документы |
|||
23
DrZombi
гуру
09.06.17
✎
07:21
|
(22) Смотри в (21)
|
|||
24
KonstantinK90
09.06.17
✎
07:24
|
РегистрСведений.НазначениеВидовОбъектовДоступа как там указать документы что бы видел пустую ссылку. подскажите?
|
|||
25
KonstantinK90
09.06.17
✎
07:24
|
в нем указывается группа пользователей и вид объекта доступа
|
|||
26
DrZombi
гуру
09.06.17
✎
07:40
|
(24) в УПП есть неплохой интерфейс.
Вам придется руками писать запись :) +(25) увы, тут я не вдавался в столь обширные подробности :) |
|||
27
DrZombi
гуру
09.06.17
✎
07:42
|
+(24) По вашему запросу, у вас все уже есть.
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ТекущаяТаблица.#Параметр(2) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) ТОГДА ТекущаяТаблица.#Параметр(3) #КонецЕсли КОНЕЦ И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) КОНЕЦ #Иначе ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) #КонецЕсли И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей |
|||
28
KonstantinK90
09.06.17
✎
07:59
|
все равно не понял что мне делать! Объясните!
|
|||
29
2083
09.06.17
✎
08:16
|
(28) добавь права на пустого контрагента, не делай мозг...
|
|||
30
KonstantinK90
09.06.17
✎
08:21
|
добавь права на пустого контрагента, 'это в конфигураторе галочка "Установить права для новых объектов"- ????
|
|||
31
2083
09.06.17
✎
08:23
|
(30) факингщет.... это в РС Настройки прав доступа
|
|||
32
KonstantinK90
09.06.17
✎
08:26
|
в этом регистре у меня стоят галочки "Запись," "Вид наследования" - только для текущего права здесь нету такого поля указать пустого контрагента
|
|||
33
KonstantinK90
09.06.17
✎
08:29
|
как указать пустого контрагента в рс
|
|||
34
KonstantinK90
09.06.17
✎
08:30
|
скажите как? не пойму!
|
|||
35
DrZombi
гуру
09.06.17
✎
08:51
|
(30) Нет, это в режиме предприятия, заполняешь регистр сведений, через интерфейс, он должен быть :)
|
|||
36
DrZombi
гуру
09.06.17
✎
08:52
|
(33) Просто, выбираешь тип, но не выбираешь значение :)
|
|||
37
KonstantinK90
09.06.17
✎
08:55
|
рс настройки прав доступа пользователей имеет поля : Объект доступа,вид объекта, область данных, группа пользователей, владелец прав доступа, наследовать от всех пользователей, чтение, запись, вид наследования права.
|
|||
38
KonstantinK90
09.06.17
✎
08:55
|
в каком поле нужно выбрать тип но не выбирать значение
|
|||
39
KonstantinK90
09.06.17
✎
08:58
|
вот настройка моего регистра
http://www.fotolink.su/v.php?id=3a2dc568639567ba2ffe656112537b09 |
|||
40
Serg_1960
09.06.17
✎
09:20
|
Нечто подобное из v8: Доступ на уровне записей:
"в группе доступа за закладке контрагенты укажи вид доступа - пустое значение, вид наследования прав доступа - только для текущего права и поставь все галки." |
|||
41
KonstantinK90
09.06.17
✎
10:37
|
все спасибо разобрался. дописал запрос где
#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда И Контрагенты.Ссылка <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) #КонецЕсли |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |