Вопрос

Инвентаризация прав доступа контрагентов

Добрый день.

Существует необходимость провести инвентаризацию прав всего массива Контрагентов в bpm'online.

В какой таблице хранится связь Контрагент(Юр.лицо) - Права доступа (чтение/изменение/удаление)?

Нравится

2 комментария
Лучший ответ

Достал из архива:



Select a.Name, 

sau.Name, 

(CASE sar.Operation WHEN 0 THEN 'Read' WHEN '1' THEN 'Edit' WHEN '2' THEN 'Delete' Else '' END) AS Operation,

(CASE sar.RightLevel WHEN 1 THEN 'Granted' WHEN 2 THEN 'Granted/delegation permitted' ELSE '' END) AS [Right Level]

FROM SysAccountRight sar

JOIN Account a ON sar.RecordId=a.Id

JOIN SysAdminUnit sau ON sau.Id=sar.SysAdminUnitId

Добрый вечер.

Все таблицы с правами доступа имеют такой формат Sys<название таблицы раздела>Right.

Конкретно для контрагентов таблица называется SysAccountRight.

Обратите внимание, что таблица является системной, поэтому для неё в конфигурации нет EntitySchema и физически она есть только в базе данных.

Также посмотрите этот пост с расшифровкой значений полей в таблице с правами.

Достал из архива:



Select a.Name, 

sau.Name, 

(CASE sar.Operation WHEN 0 THEN 'Read' WHEN '1' THEN 'Edit' WHEN '2' THEN 'Delete' Else '' END) AS Operation,

(CASE sar.RightLevel WHEN 1 THEN 'Granted' WHEN 2 THEN 'Granted/delegation permitted' ELSE '' END) AS [Right Level]

FROM SysAccountRight sar

JOIN Account a ON sar.RecordId=a.Id

JOIN SysAdminUnit sau ON sau.Id=sar.SysAdminUnitId

Показать все комментарии