|
Запрос. ВЫБРАТЬ и ВЫБРАТЬ РАЗРЕШЕННЫЕ - ? | ☑ | ||
---|---|---|---|---|
0
bvn-2005
06.06.22
✎
09:24
|
ЗУП ред. 3. Используется RLS - доступ по группам физ лиц.
ЗАпрос к таб части документа: "ВЫБРАТЬ | РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка КАК Ссылка, | РаботаВВыходныеИПраздничныеДниСотрудники.Сотрудник КАК Сотрудник, | РаботаВВыходныеИПраздничныеДниСотрудники.Дата КАК Дата, | РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов КАК ОтработаноЧасов, | РаботаВВыходныеИПраздничныеДниСотрудники.СпособКомпенсацииПереработки КАК СпособКомпенсацииПереработки, | РаботаВВыходныеИПраздничныеДниСотрудники.НеРаботал КАК НеРаботал |ИЗ | Документ.РаботаВВыходныеИПраздничныеДни.Сотрудники КАК РаботаВВыходныеИПраздничныеДниСотрудники |ГДЕ | РаботаВВыходныеИПраздничныеДниСотрудники.Дата МЕЖДУ &ДатаН И &ДатаК | И РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка.ПометкаУдаления = &ПометкаУдаления | |УПОРЯДОЧИТЬ ПО | Сотрудник, | Дата |ИТОГИ ПО | Сотрудник"; Для пользователя с ограниченными правами выдает ошибку о недостаточности прав для операций с БД. ВЫБРАТЬ РАЗРЕШЕННЫЕ - данные выводит, но, естественно, не все... Можно ли как-то отследить тот факт, что запрещенные данные в выборку не вошли и выдать пользователю сообщение? |
|||
1
Ненавижу 1С
гуру
06.06.22
✎
09:28
|
(0) сделать Выбрать разрешенные
потом включить полные права, сделать просто Выбрать, найти разность - сообщить о ней |
|||
2
ZDenis
06.06.22
✎
09:28
|
Через УстановитьПривилегированныйРежим сформируй еще раз запрос и сравни результаты
|
|||
3
Фрэнки
06.06.22
✎
10:34
|
А если у Пользователя уже есть доступ к этому конкретному документу, то нужно просто всегда в этом запросе УстановитьПривилегированныйРежим
|
|||
4
Фрэнки
06.06.22
✎
10:48
|
И вообще говоря, // RLS - доступ по группам физ лиц //
для таких документов срабатывает по наличию физлица в таб части физических лиц, а ее в данном запросе в явном виде нет, т.к. блокируется чтение по ссылке документа целиком. Будет в одном документе несколько сотрудников, а на одного из них не хватит прав - не прочитает всех. |
|||
5
ptiz
06.06.22
✎
11:04
|
(0) " и выдать пользователю сообщение" - и как это повлияет на дальнейшую работу пользователя? Он попросит сделать отчет того, кто с полными правами?
|
|||
6
ptiz
06.06.22
✎
11:04
|
Стоит переосмыслить задачу целиком.
|
|||
7
ИУБиПовиц
06.06.22
✎
11:04
|
Попробуйте создать поле в запросе типа, может получится не проверял.
выбрать разрешенные Количество(РаботаВВыхи.Сотрудник) = Максимум(РаботаВВыхи.НомерСтроки) как НетуЧужихФизиков количество разрешенных по идее будет меньше количество строк, если что то отсечется, если равно - то все ок. |
|||
8
Выпрь
06.06.22
✎
11:07
|
В этом и смысл рлс чтоб пользователь не знал
|
|||
9
RAJAH
06.06.22
✎
11:30
|
А в ЗУП есть ВыполнитьПроверкуПравДоступа?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |