Имя: Пароль:
1C
1С v8
ЗУП 2.5 и RLS
,
0 AneJIbcuH
 
04.10.17
09:40
Доброго времени суток!
ЗУП 2.5, крутится на SQL. Ситуация такая, используется RLS, права урезаются по подразделению.
Пользователь с данными ограниченными правами проводит документ "Регистрация разовых начислений". Права на все регистры также даны, при этом RLS только на "чтение". Так вот, вновь созданный документ, в  котором фигурирует сотрудник из другого подразделения, пользователь может провести, а уже его же невозможно перепровести, ругается на права доступа. И тут уже срабатывают права на чтение. Как-то можно это обойти?
1 breezee
 
04.10.17
10:02
(0) Как он может создать документ по данным, к которым нет доступа? У него же нет доступа на чтение сотрудника - как он может заполнить этим сотрудникам документ?
2 breezee
 
04.10.17
10:04
(1) + Если есть ограничение на чтение - как не может быть ограничения на запись?
3 mehfk
 
04.10.17
10:08
(0) В ЗУП 2.5 есть косяки с RLS.
4 AneJIbcuH
 
04.10.17
10:28
(1) Где увидели, что нет доступа на чтение сотрудника. (2) Для чего в настройках прав доступа отдельные пункты прав: "чтение" и "изменение" и на них отдельные настройки RLS?
5 AneJIbcuH
 
04.10.17
10:29
(3) Тут уже интересует, может косяки платформы, т.к. шаблоны RLS частично переписаны.
6 mehfk
 
04.10.17
10:52
(5) Нет таких косяков в платформе.
7 _Batoo
 
04.10.17
10:52
Запусти отладку под пользователем. Может показать на что именно ругается.
8 mehfk
 
04.10.17
10:57
(6) + Косяки в ваших частично переписанных RLS
9 АНДР
 
04.10.17
11:03
Вот тут косяк:
вновь созданный документ, в котором фигурирует сотрудник из другого подразделения
10 AneJIbcuH
 
04.10.17
11:05
(7) Не, не показывает. Просто: "У пользователя недостаточно прав на исполнение операции над базой данных"
11 kumena
 
04.10.17
11:08
> права урезаются по подразделению.

в зуп в жизни не было разделения рлс по подразделениям.
разделение по подразделениям может корректно работать только в штатном расписании.

> пользователь может провести, а уже его же невозможно перепровести, ругается на права доступа.

но фича такая есть с рлс по обособленным подразделениям.

у нас давно не вылазила и мы забили.

> Вот тут косяк:
вновь созданный документ, в котором фигурирует сотрудник из другого подразделения
это и ежу понятно что это ошибка рлса - у сотрудника не должно быть возможности записывать документы с запрещенными людьми.
12 AneJIbcuH
 
04.10.17
11:10
(9) Просто задача такая: Пользователь видит некоторые документы только своего подразделения, в отчетах  выводятся сотрудники своего подразделения.
Но может создавать документ разового начисления (в шапке документа своё подразделение), но для сотрудников любых других подразделений (тут подразделение в ТЧ).
13 АНДР
 
04.10.17
11:16
(11) У сотрудника не должно быть возможности создать такой документ.
14 Фрэнки
 
04.10.17
11:21
(12) Не знаю можно ли это считать багом или фичей, но это действительно разные события с обращением к объекту на чтение или с обращением к объекту на запись. И тем более разное событие от первых упомянутых, что у вас объект-документ в базе еще не существует, а значит на него не сработают всякие рлс-ы. Не путайте себя.

Фича эта всегда была и вряд ли она куда-то денется.

Кстати, сомневаюсь, что открытие у вас этого документа с установкой признака "только просмотр" зависит именно от того, что указано в РЛС - вангую дописку в форме вокруг события ПриОткрытии (если форма оставлена обычной)
15 kumena
 
04.10.17
11:21
> Просто задача такая: Пользователь видит некоторые документы только своего подразделения

а вы подумали том, что будет, если сотрудника переведут в середине месяца?


> У сотрудника не должно быть возможности создать такой документ.

у него не должно быть возможности записывать такой документ, а не создавать. рлс при записи проверку делает, но то что сотрудник запрещен - она пропускает (или вообще не контролирует, если документ новый).
16 AneJIbcuH
 
04.10.17
12:00
(14) что-то перемудрили. Права доступа устанавливаются отдельно на документы, отдельно на регистры.

На документ установлено право "изменение" без RLS и на "чтение" с RLS, где режем по подразделению, указанному в шапке документа. Поэтому данный пользователь видит и открывает документы своего подразделения. Тут всё норм.

Далее проведение, тут подключаются регистры, у которых регистратор, упомянутый выше документ. В данных регистрах, либо в измерении или в реквизите, также есть подразделение. И оно пишется из табличной части регистратора. По нему также ставим на "чтение" RLS (Чтобы в отчеты попадало только своё подразделение). Теперь главное <<НО>>.

При создании и первом проведении документа, в регистры пишется информация и всё проводится. Но после уже нельзя перепровести документ, ругается на права доступа. Думаю из-за того, что в регистрах содержится уже информация по подразделениям, к которым нет доступа у пользователя. НО почему платформа при перепроведении документа смотрит на право "чтения" с rls, а не "изменение", без rls?
17 AneJIbcuH
 
04.10.17
12:02
(16) т.е. в шапке документа "своё" подразделение,  а в тч уже подразделение сотрудников. Необходимо создавать такие документы (проводить/исправлять), но в отчетах такую информацию не выводить (ограничение на регистры).
18 Фрэнки
 
04.10.17
12:30
похоже, что право на чтение в котором работает с RLS трактуется не верно. Т.е. в программе все работает, а трактовка поведения программы не верна.
19 Фрэнки
 
04.10.17
12:35
единственно, что может это все объяснить : это же ЗУП 2.5 в котором каждый раз при перепроведении документа происходит получение данных всего набора данных из регистра. и только затем происходит удаление этого набора данных с последующим размещением на его место измененного содержимого.
При установленном праве на чтение записей регистра (не наборов, а записей) по РЛС идет конфликт на набор целиком.
---
Операция перезаписи регистра это не по одной записи!
Это всегда обращение к набору записей! А он содержит в этом момент непрочитанные записи. Конфликт и ошибка естественны.
20 AneJIbcuH
 
04.10.17
12:42
(19) солидарен с вами, подобные мысли были. При перепроведении выдает ошибку и в журнале регистрации пишет, что ошибка на чтение из регистра.
21 KrasnSergey
 
04.10.17
13:01
(0) ограничение прав по подразделению ничего в 2.5 не даст, только на уровне сотрудников
22 AneJIbcuH
 
04.10.17
13:31
(21) Что по вашему должно дать?
23 AneJIbcuH
 
05.10.17
10:03
Никто не знает, как можно перепроводить документ, в эдаком "привилегированном" режиме? При этом галка "привилегированный режим при проведении" в данном режиме работы базы не поможет.
24 KrasnSergey
 
05.10.17
10:25
(22) если есть ограничение прав по подразделению то доступ к сотрудникам по этому подразделению в зупе открыт
Закон Брукера: Даже маленькая практика стоит большой теории.