Имя: Пароль:
1C
1С v8
БСП, RLS: анализ прав
0 conscious
 
20.07.22
19:20
БСП 3.1.4, RLS для контрагентов.

Подскажите, есть простой способ вывести контрагентов, к которым есть доступ у конкретного пользователя и всех пользователей, у которых есть доступ к конкретному контрагенту?

Может функции в общих модулях или отчет? Отчет "Анализ прав доступа", похоже, не может такое.
1 TormozIT
 
гуру
20.07.22
19:21
1) контрагентов, к которым есть доступ у конкретного пользователя
Это проще всего сделать в консоли запросов под этим пользователем.
2 conscious
 
20.07.22
19:27
(1) Это да, но нужно, чтобы пользователь (ответственный) смог быстро вывести контрагентов, к которым есть доступ у другого пользователя.
3 TormozIT
 
гуру
20.07.22
19:31
(2) внешнее соединение на сервере или разовое рег. задание под нужным пользователем запускаешь и получаешь оттуда список
4 СеменовСемен
 
20.07.22
19:32
(3) такая универсальность не нужна.
Это же бсп
5 conscious
 
20.07.22
19:32
(3) Ок, это более менее... А всех пользователей, у которых есть доступ к конкретному контрагенту?
6 TormozIT
 
гуру
20.07.22
19:34
(5) Эту задачу скорее всего эффективно не решить.
7 БигБаг
 
20.07.22
19:36
(5) запустить всех пользователей в фоновом по очереди, и под каждым проверить...
8 TormozIT
 
гуру
20.07.22
19:36
(7) Но только не в фоновом, а в регламентном. Смотри (3).
9 БигБаг
 
20.07.22
19:36
ок
10 TormozIT
 
гуру
20.07.22
19:38
Если пользователей много, то придется запустить для каждого свое регламентное задание. Но все сразу нельзя - будет пик нагрузки на сервер. Они должна по цепочке друг друга включать и складывать результат в регистр.
11 TormozIT
 
гуру
20.07.22
19:41
Думаю можно грубо считать от 1 секунд на одного пользователя. Если их 100 в базе, то значит минимум 100 секунд будет считаться.
12 conscious
 
20.07.22
19:46
(7) А здесь фоновое для чего?

Там есть функция УправлениеДоступом.ЕстьПраво() - можно перебрать всех, вызывая её. Но как-то это... запросововцикле...
13 TormozIT
 
гуру
20.07.22
19:52
(12) Если настроены только БСПшные RLS, то наверное эта функция решает задачу 2.
14 mikecool
 
20.07.22
20:22
(1) а анализ прав из ИР не решает это?
15 conscious
 
20.07.22
20:23
(14)  Пробовал, но тоже не нашел там вывод разрешенных ссылок по пользователю…
16 TormozIT
 
гуру
20.07.22
20:35
(14) Там по метаданным только. А тут надо по объектам данных.
17 ProgAL
 
20.07.22
21:11
Так там ещё параметры сеанса у конкретного пользователя могут инициализироааться поразрому, т е если база скл и авторизация доменная, есть смысл установить пароль пользователю иб и потом по Оле вызывать 1с под этим пользователем с паролем, где-то в расширении в какой-то общий модуль вписать процедуру, которая выполнит серию запросов  с разрешённые и результат куда-то в табл значений или в файл. И так для каждого пользователя.
18 conscious
 
20.07.22
21:18
(17) Это про какие параметры сеанса речь?
19 RomaH
 
naïve
20.07.22
22:01
(18) которые в RLS могут быть
если время больше 21 часа - то хер вам, а не доступ
20 СеменовСемен
 
20.07.22
22:01
За это время уже нашел бы в каком регистре лежит список доступных
21 vde69
 
20.07.22
22:39
(0) у меня есть такой функционал, но не отдам :)
22 TormozIT
 
гуру
20.07.22
23:09
(21) Очень полезное сообщение)
Основная теорема систематики: Новые системы плодят новые проблемы.