Создание RLS на подразделения организации ЗУП

1. Manticor 66 23.03.21 17:44 Сейчас в теме
Доброго времени суток. Есть типовая ЗУП 3.1.16.134. Думаю тип конфигурации тут не сиграет значение, ибо все работает на БСП.

Необходимо реализовать разграничение прав пользователей по подразделениям. В типовой ЗУП этого к сожалению не предусмотрено.
Подскажите каким образом отредактировать типовой шаблон RLS у роли ЧтениеПодразделенийОрганизации

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.ПодразделенияОрганизаций","Чтение","",
"Организации","Владелец",
"","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли


чтобы пользователю были видны только те подразделения, которые указаны в разрешенных значениях.

Также интересует как наложить RLS на все кадровые документы по разрешенным подразделениям, а также чтобы пользователь мог видеть только тех сотрудников, подразделение которых совпадает с подразделением из настроек.
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
28. Dmitry77 83 05.04.21 12:07 Сейчас в теме
Правильным решением является разделение по физ лицам.

При делении по подразделениям возникают проблемы при переводе из подразделения а подразделение. Например в этом случае не видно общего расчета сотрудника и есть проблемы с соц налогами и НДФЛ и со средним.

Поэтому настраивается типовой РЛС по физлицу и продумывается как коррекно назначать физлицу группу. Можно это програмно делать, в зависимости от подразделения.
24. user633533_encantado 11 24.03.21 09:52 Сейчас в теме +4 $m
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.ПодразделенияОрганизаций","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПодчиненностьПодразделенийОрганизаций КАК Т2
ПО Т2.Подразделение = Т.Ссылка",
"",
"ПодразделенияОрганизаций","Т2.ВышестоящееПодразделение","И",
"Организации","Т.Владелец","",
"","","","","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" )
#КонецЕсли
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
24. user633533_encantado 11 24.03.21 09:52 Сейчас в теме +4 $m
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.ПодразделенияОрганизаций","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПодчиненностьПодразделенийОрганизаций КАК Т2
ПО Т2.Подразделение = Т.Ссылка",
"",
"ПодразделенияОрганизаций","Т2.ВышестоящееПодразделение","И",
"Организации","Т.Владелец","",
"","","","","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" )
#КонецЕсли
Показать
30. Manticor 66 27.04.21 13:11 Сейчас в теме
(24) Спасибо. Но такой запрос также не работает корректно. Я зохожу под пользователем, у которого разрешены все организации, разрешены все подразделени, кроме 1.
В итоге под ним видны все организации, но не видно ниодного подразделения(. Также RLS не наклдывается на список кадровых документов. Все выводятся.....
Я так понимаю тут нужно менять сам текст шаблона, который нереально большой и сложнвый.....
31. user633533_encantado 11 27.04.21 14:23 Сейчас в теме
(30) Нет должно отрабатывать корректно, у меня получалось. Возможно у пользователя на форме стоит отбор, которые противоречит его правам.
32. Manticor 66 27.04.21 16:12 Сейчас в теме
(31) А вы можете прислать скрин настроек вашей группы доступа и профиля группы доступа. Я сравню со своими.
Также какие роли у вас назначены в профиле группы доступа, если у вас типовая ЗУП)
33. user633533_encantado 11 27.04.21 16:53 Сейчас в теме
(32) Нет, я разрабатывал свою роль: задаче была, чтобы пользователь видел только определенные организации и подразделения, без структуры.
34. Manticor 66 27.04.21 18:58 Сейчас в теме
(33) Я тоже сделал отдельную роль. Назначил ее в новой группе доступа. Включил пользователя в эту группу. Но, вот не работает.
А вы получается не используете механизм групп доступа?
35. user633533_encantado 11 28.04.21 09:19 Сейчас в теме
36. Vinzor 91 17.09.21 01:13 Сейчас в теме
(24) В вашем примере ВИДНЫ иерархически вложенные подразделения, когда мы НЕ даем на них права.

Я составил мой вариант.
Моя цель - дать "табельщикам" права видеть ТОЛЬКО те подразделения, которые им разрешены (для ведения табелей). И она достигнута.


#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Справочник.ПодразделенияОрганизаций","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПодчиненностьПодразделенийОрганизаций КАК Т2
ПО Т2.Подразделение = Т.Ссылка",
"",
"ПодразделенияОрганизаций","Т2.Подразделение","И", 
"Организации","Т.Владелец","", 
"","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","",  "","","" )
#КонецЕсли
Показать
37. Vinzor 91 02.10.21 20:12 Сейчас в теме
(36)
Выявился негативный момент. Если до конца табелируемого периода сотрудник умчал в закат перевёлся в недоступное подразделение, то заполнение табеля даёт сбой.
Один из методов (заполнения ТЧ часами) смотрит подразделение сотрудника на конец периода....
В общем, на "табелировании" я пользакам вернул право чтения подразделений (без RLS)
Но оставляю мой RLS тем, кто вводит "данные для расчёта зарплаты".
25. RustRR 24.03.21 10:04 Сейчас в теме
(1)
чтобы пользователю были видны только те подразделения, которые указаны в разрешенных значениях.
чтобы пользователь мог видеть только тех сотрудников, подразделение которых совпадает с подразделением из настроек

Когда задача сформулирована столь кратко, создается иллюзия что решить ее просто, например, немного подкрутив RLS.
Просто подкину пару кейсов. Допустим есть два региональных подразделения, в каждом свой кадровик, и есть логичное в общем требование чтобы каждый кадровик видел документы по своим сотрудникам. И тут случился перевод сотрудника из города А в город Б. Должны ли у кадровика из А пропасть из видимости все документы, введенные им на сотрудника? Должен ли кадровик из Б увидеть документы по сотруднику из А? Кто вообще имеет право завести такой перевод, если кадровик А не видит подразделения Б, а кадровик Б не видит сотрудников А?
nomad_irk; user711584_y475; biimmap; +3 Ответить
2. bmk74 234 23.03.21 17:56 Сейчас в теме
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.ПодразделенияОрганизаций","Чтение","",
"Организации","Владелец",
"И","ПодразделенияОрганизации","Ссылка","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли

Ну как то так примерно, параметр ПодразделенияОрганизации может не совсем так называться
3. vadim.semyonov.rzn 23.03.21 18:17 Сейчас в теме
(2) Не совсем так, насколько я понимаю. Начиная с 4-го параметра, указываются пары "вид доступа" - "проверяемый реквизит объекта". Для доступности объекта, разрешение должно быть найдено хотя бы в одной группе доступа, в которую включен пользователь, для всех указанных пар одновременно. Соответственно, предположив наличие соответствующей группы доступа, 6-й "И" лишний.
4. bmk74 234 23.03.21 18:36 Сейчас в теме
(3)
Для доступности объекта, разрешение должно быть найдено хотя бы в одной группе доступа, в которую включен пользователь, для всех указанных пар одновременно. Соответственно, предположив наличие соответствующей группы доступа, 6-й "И" лишний.

Да не посмотрел сразу что шаблон
#ПоЗначениям
привык обычно ПоЗначениямРасширенный делать
Тогда да "И" Убрать надо

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.ПодразделенияОрганизаций","Чтение","",
"Организации","Владелец",
"ПодразделенияОрганизации","Ссылка","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
vadim.semyonov.rzn; +1 Ответить
7. Manticor 66 23.03.21 18:57 Сейчас в теме
(4)
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.ПодразделенияОрганизаций","Чтение","",
"Организации","Владелец",
"ПодразделенияОрганизации","Ссылка","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли


Выдает ошибку:

Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка в ограничении доступа к данным.
объект: 'Справочник.ПодразделенияОрганизаций'; право: 'Чтение'
{(98, 3)}: Ожидается выражение ")"
<<?>>НеверныйВидДоступа: "ПодразделенияОрганизации" - "Имя вида доступа не найдено"
по причине:
{(98, 3)}: Ожидается выражение ")"
<<?>>НеверныйВидДоступа: "ПодразделенияОрганизации" - "Имя вида доступа не найдено"
Показать


Пробовал по разному добавлять параметры ПодразделенияОрганизации и Ссылка, что то не принимает(
9. bmk74 234 23.03.21 19:05 Сейчас в теме
(7)
>НеверныйВидДоступа: "ПодразделенияОрганизации

Ну вот я про это и писал, вид доступа значит по другому называется...надо смотреть
12. bmk74 234 23.03.21 19:17 Сейчас в теме
(7)
Попробуйте вместо "ПодразделенияОрганизации" поставить "СтруктураПредприятия" Или просто "подразделения", вообще вид доступа должен называться так же как и справочник в конфигурации у вас Типа "ПодразделенияОрганизаций" т.е. в конце и краткое..
20. Manticor 66 23.03.21 19:37 Сейчас в теме
(12)
СтруктураПредприятия

Смотрю текст шаблона. Параметр 6 вроде как проверяется на строку "". В общем если ставлю в 6 ПравоЧтения

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.ПодразделенияОрганизаций","Чтение","",
"Организации","Владелец",
"ПравоЧтения","Ссылка","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли


то список подр. формируется без ошибок но и без наложения RLS.
Прикрепленные файлы:
5. biimmap 1864 23.03.21 18:43 Сейчас в теме
стопэ. а почему Вы решили что это не реализовано???
Нужно включить настройку "Ограничивать доступ на уровне записей".

В справочнике Профили групп доступа появляется доп. закладка.
Вид доступа нужно указать Структура предприятия.

Городить велосипед точно не надо. Сначала стоит почитать статьи на эту тему.
6. Manticor 66 23.03.21 18:53 Сейчас в теме
(5) я так и пробовал сделать с самого начала. См скрин прикрепил. Но вот только судя по статье из ИТС
полноценное ограничение доступа по подразделениям в программе не поддерживается. Согласно законодательству расчет НДФЛ и взносов следует вести в целом по физ. лицу, независимо от его перемещений между подразделениями.


Данная настройка ограничения работает ТОЛЬКО для спр. штатное расписание.
Прикрепленные файлы:
10. biimmap 1864 23.03.21 19:07 Сейчас в теме
(6) Кстати РЛС по организациям Вам не требуется. Справочник Подразделения является подчиненным Организации. Никаким образом суммы из другой организации не прилетят, а работа будет заторможена!
Выбирается обычно один из вариантов, а не комбинация
8. biimmap 1864 23.03.21 19:05 Сейчас в теме
и что не устраивает? Правильное замечание. Зарплату и кадровые документы видят только по своим подразделениям, но база для расчета налогов единая по физлицу.

Не изобретайте велосипед! Если надо делить по подразделениям, есть ещё механизм территорий. Но опять же при начислении никаких отборов не делается. Когда мне нужен был такой отбор, я его дописывал во все документы начислений. Это довольно сложно!

РЛС глубже, чем по подразделениям крайне не рекомендую использовать, т.к. быстродействие падает раза в 3-4 в зависимости от мощности сервера

Вы должны понять главное, что далеко не во всех запросах написано ВЫБРАТЬ РАЗРЕШЕННЫЕ, чтоб собственно сработало РЛС. Обычно этот фильтр делается в момент получения списка физлиц.
13. Manticor 66 23.03.21 19:18 Сейчас в теме
(8)
Зарплату и кадровые документы видят только по своим подразделениям

Как раз при такой настройке как я указал вышел не работает такое разграничение. Или вы что то другое имели ввиду?
15. biimmap 1864 23.03.21 19:20 Сейчас в теме
(13) В нескольких организациях настраивал такое разграничение, всё работало.
14. bmk74 234 23.03.21 19:19 Сейчас в теме
(8) Супер ответ, это типа..а не включайте РЛС :)..тормозить будет а то и ошибки выдаст ...
16. biimmap 1864 23.03.21 19:20 Сейчас в теме
(14) Вы не внимательно читали! Включать нужно правильно и с какой-то целью! А не просто включу всё авось сработает.
17. bmk74 234 23.03.21 19:25 Сейчас в теме
(16)Ну если человек спрашивает, возможно им нужно..а вы в дебри какие то лезите..у нас например очень много по рлс дописано, да и свои виды доступа даже добавляли..ничего ...пока все работает, вы же не знаете зачем топик стартеру это нужно ...
18. biimmap 1864 23.03.21 19:27 Сейчас в теме
(17) по до сих пор внимательно не прочитали аргументацию. Напишу для Вас лично: Подразделения - подчиненный справочник! Если стоит РЛС по структуре предприятия, то подразделения другой организации не залетят НИКАК.
19. bmk74 234 23.03.21 19:30 Сейчас в теме
(18)
сли стоит РЛС по структуре предприятия, то подразделения другой организации не залетят НИКАК.

И что ?? дальше то что ? я не могу понять, ? Людям нужно ограничить подразделения по одной организации ..вы как это делать собираетесь( не спрашивайте меня зачем) ...
Я так понимаю вам лишь бы написать что нибудь :)...
21. biimmap 1864 23.03.21 19:48 Сейчас в теме
(19) Коллега, наверно проблема в том, что Вы не поняли. Но это Ваша проблема. Она должна Вас подтолкнуть к самообразованию.

Дальше не стану с Вами припираться... бессмысленно.
11. biimmap 1864 23.03.21 19:15 Сейчас в теме
Ответил на Ваш вопрос?
22. SlavaKron 23.03.21 20:13 Сейчас в теме
Тоже что-то не верится, что такого разграничения нет "из коробки".
23. sapervodichka 6812 23.03.21 23:38 Сейчас в теме
Попробуйте для разделения вместо Вида доступа по Подразделениям использовать Вид доступа по Группам доступа физ. лиц
26. biimmap 1864 24.03.21 22:22 Сейчас в теме
(23) ужасная идея! всё жутко тормозит. а главное смысла нет.
27. OksDallas 22 29.03.21 03:32 Сейчас в теме
В 2.5 долго обдумывала эту тему. Ограничилась группами доступа физ.лиц. Если ограничивать по подразделениями, то возникают проблемы при формировании свода по зарплате по подразделениям в случае, если перевод из подразделения в другое подразделение был выполнен в течение периода.
28. Dmitry77 83 05.04.21 12:07 Сейчас в теме
Правильным решением является разделение по физ лицам.

При делении по подразделениям возникают проблемы при переводе из подразделения а подразделение. Например в этом случае не видно общего расчета сотрудника и есть проблемы с соц налогами и НДФЛ и со средним.

Поэтому настраивается типовой РЛС по физлицу и продумывается как коррекно назначать физлицу группу. Можно это програмно делать, в зависимости от подразделения.
29. biimmap 1864 05.04.21 17:10 Сейчас в теме
(28) так при переводе нужно 1 физлицо будет включать в разные группы. кто это будет контролировать?
при такой настройке ЗУП жутко тормозит.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот