0. EvilDoc 168 19.06.13 00:57 Сейчас в теме

Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений)

Допиливаем шаблоны RLS.

Даем доступ пользователям к некоторым объектам

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. anig99 2711 19.06.13 11:35 Сейчас в теме
В чем ноу-хау? Всё это есть в типовых.
34. timujeen 05.12.17 15:33 Сейчас в теме
Решал аналогичную задачу но в качестве носителя информации для ограничения использовал Параметры пользователя.
Для регистров например запрос выглядет так:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ
(ТекущаяТаблица.Сотрудник В(&СписокДоступныхСотрудников   )  )

Есть проблема в предоставлении пользоваетлю права для записи пустого документа, так как у меня не запрещенные подразделения, а наоборот разрешенные. Пытался использовать:
НЕ ТабличнаяЧастьДокумента.НомерСтроки В(1)
- проверку на наличия первой строки в документе, но не помогло.
2. crs 22 19.06.13 16:43 Сейчас в теме
В типовых нельзя сделать исключение RLS. Если запретил организацию, пользователь ни при каких условиях ни ее, ни связанные объекты видеть не будет
5. anig99 2711 21.06.13 13:44 Сейчас в теме
(2) А. Увидел. Вообще ещё есть вариант не давать доступ к объекту, но дать доступ к ссылке и некоторым реквизитам.
7. EvilDoc 168 23.06.13 03:33 Сейчас в теме
(5) В первый раз слышу. Был бы счастлив узнать о подобном механизме - то есть давать доступ к уникальной ссылке и к определенным реквизитам в обход RLS типовыми или более простыми, нежели мной предложенный, способами =) Буду рад любой информации.

(6) РЛС работает чуточку быстрее прочих систем контроля доступа, представленные, к примеру, здесь http://kb.mista.ru/article.php?id=134.
А что касается именно исключений из РЛС, да, в каждый запрос добавляется ни чуть не изящное исключение.

Мое имхо - может тормозить и скорее всего будет в случае большого количества (больше 10к) у каждой группы пользователей... На реально большой базе. Может быть для этих случаев есть смысл не использовать РЛС впринципе или допустим только по организации - зависит от задачи. МБ распределенка решит, но локально с озвученой проблемой идея справляется. Для каждого конкретного случая нужны свои идеи =) Тут я привел реализацию определенной задачи, которая, думаю, поможет многим с подобными проблемами. Я как бы хотел донести суть а не полную реализацию. Хотя получилось что полная реализация присутствует =)) И вот мне интересно кому эта "суть" помогла и кто нашел другие решения, особенно более "изящные".

з..ы. Жду критики - как сделать лучше - это в радость. Ну и кому помогло - тоже в радость =)) Не за что =)))
denxxxden; +1 Ответить
21. kote 507 27.05.16 11:31 Сейчас в теме
.. не ошибка, но оплошность:

 ТОГДА

                                               ВЫБОР КОГДА ТипЗначения(ТекущаяТаблица.#Параметр(2)) = ТипЗначения(NULL)

                                                               ТОГДА НастройкиПравДоступаПользователей.ОбъектДоступа

                                               ИНАЧЕ
Показать



Вот это
 ТипЗначения(ТекущаяТаблица.#Параметр(2)) = ТипЗначения(NULL)
будет работать в 5-8 раз медленнее, чем
 (ТекущаяТаблица.#Параметр(2)) ЕСТЬ NULL 
. Для RLS особенно актуально.

Никогда так не делайте!
АлександрЯрославичъ; +1 Ответить
22. EvilDoc 168 01.06.16 13:20 Сейчас в теме
(21) kote, разработчикам РЛС для УПП уже поздновато сообщать о их оплошности)
3. EvilDoc 168 19.06.13 23:10 Сейчас в теме
Собственно, уже ответили =) Вот интересно ранее кто-то сталкивался с подобной задачей и как ее реализовывал?
4. petrov_al 10 20.06.13 12:24 Сейчас в теме
Интересна сама по себе идея использования дополнительных регистров для исключений. А как кстати при обновлении для RLS шаблонов, можно применить приоритеты?
6. kapustinag 22.06.13 21:02 Сейчас в теме
Проверяли работу этого механизма на РЕАЛЬНО большой базе, с достаточно большим количеством одновременно работающих пользователей? Не тормозит?
Если у пользователя постепенно накапливается много исключений, к которым он должен получить доступ, то, мне кажется, будет притормаживать.
8. CagoBHuK 31 26.06.13 09:58 Сейчас в теме
РЛС нет смысла использовать на больших базах. Это сводит полезность Record-Livel Security к нулю.
Alxesp; Shmell; xsazar; AltF1; +4 1 Ответить
9. EvilDoc 168 26.06.13 20:31 Сейчас в теме
(8) CagoBHuK, А разве есть более быстрые альтернативы? Для ограничения доступа RLS наиболее шустрый. Из других вариантов разве что распределенка.
10. a-novoselov 1098 01.07.13 10:48 Сейчас в теме
А не проще и менее затратно было бы просто добавить в шаблон связь по "ИЛИ" со вторым реквизитом (то же имя реквизита из параметра) и поменять шаблон для нужных документов? А если системе необходимо "посмотреть" недоступный документ, например, в обработке проведения другого документа, то выполнять обработку в привелегированном режиме?
11. EvilDoc 168 01.07.13 11:33 Сейчас в теме
В контексте озвученой задачи речь идет о интерактивной работе с запрещенным объектом. В частности просмотр. Ибо менеджер по кадпам должен видеть сам факт перемещения. Чтобы избежать ситуации с неизвестно куда пропавшими сотрудниками =)
12. dyak84 26.09.13 16:50 Сейчас в теме
Да автору безусловное спасибо есть что почитать есть над чем поразмыслить.Так держать Спасибо.
13. EvilDoc 168 13.02.14 11:15 Сейчас в теме
Да автор вообще красава)
14. 20tanush 05.08.15 15:13 Сейчас в теме
EvilDoc, есть необходимость доработать шаблон ограничения, когда исключением является дата документа. Вот в этой темке описываю задачу: http://forum.infostart.ru/forum42/topic135726/message1401591/?result=reply#message1401591
Можете помочь советом?
15. EvilDoc 168 21.08.15 16:11 Сейчас в теме
16. NatalyaVP 08.09.15 14:00 Сейчас в теме
По пункту 2. Какие значения в параметрах? Параметр 1 - это сотрудник? Параметр 2 - это подразделение?
Я сделала шаблон, в ограничении права на чтение что писать? шаблон("",""), а реквизиты как написать. Вот, например, документ "Командировки организаций", табличная часть, в ней сотрудник, в нём подразделение.
шаблон("командировкиОрганизаций.Работники.Сотрудник","командировкиОрганизаций.Работники.Сотрудник.подразделение"). Так?
Заранее спасибо за ответ.
18. EvilDoc 168 08.09.15 16:18 Сейчас в теме
(16) NatalyaVP, #Шаблон("Работники","Сотрудник")
17. EvilDoc 168 08.09.15 16:16 Сейчас в теме
Параметр1 - имя табличной части, Параметр 2 - реквизит в котором хранится сотрудник в данной ТЧ.
Пример из УПП - #Шаблон("Работники","Сотрудник")
19. Orangeman 09.03.16 18:12 Сейчас в теме
Добрый день . Коллеги подскажите вот если стоит ограничение вида
#ПоЗначениям("Документ.ВнутреннееПеремещениеБСО", "Чтение", "",
"Организации", "Организация",
"ИсточникиФинансовогоОбеспечения","ИФО",
"Подразделения","ПодразделениеОтправитель",
"","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","",""
)
И ситуация похожа хочу так же чтобы были доступны документы в которых ПодразделениеПолучатель соответствует моему(по которому ограничиваю запись). Создал так же регистр сведений в него пишу при записи документа, сам документ регистратор и подразделения . Как мне в данном ограничении # ПоЗначениям приудить условие ИЛИ мол выводи те документы которые в регистре с моим подразделением и те которые тут по ПодразделениюОтправителю, Я не совсем понимаю где в настройках пользователя или может еще где хранится информация по Подразделению ему доступному с чем как бы сравнит Подразделение в документе Конфа типовая БГУ 2.0
20. Orangeman 09.03.16 18:17 Сейчас в теме
Как то коряво написал ,ну суть такая хочу выводить пользователю документы в которых ему доступно Подразделение отправитель плюс к ним документы из регистра сведений по некому отбору вот как можно записать условие
23. ДмитрийС 03.08.17 11:06 Сейчас в теме
Кто-нибудь знает как правильно настраивать РЛС по табличным частям? В топике конечно указано (через связь по ссылке ТЧ и ТекущейТаблицей), но объясню свой вопрос:

Я настраиваю запрет доступа по выбранным подразделениям. Т.е. если у пользователя стоит запрет на определенное подразделение (именно в использовании в конкретном документе, а не вообще), то он не должен ни ввести новый, ни исправить старый документ, если в нем было (будет) хоть в одной строке указано запретное подразделение.

При указанном способе происходит проверка не ТекущейТаблицы, а именно ССЫЛКИ на табличную часть. Если происходит ввод нового документа, то временная ссылка уже существует и РЛС отработает правильно. А вот при изменении существующего документа ограничения РЛС встраиваются в запрос на изменение (Update) к субд (мониторю профайлером). Т.е. изменения ссылки не происходит.

Получается, что пользователю запрещено отредактировать существующий документ с запрещенным подразделением (это хорошо). НО! Разрешается в существующем документе с разрешенными подразделениями поменять подразделение на запрещенное и провести. И в этом случае РЛС будет молчать.
24. EvilDoc 168 08.08.17 10:30 Сейчас в теме
Если вы не хотите ограничивать сам справочник Подразделения, то средствами РЛС вы это не решите.
25. ДмитрийС 08.08.17 13:39 Сейчас в теме
(24) Я отлично это решаю, если реквизит шапки, а не ТЧ.
26. ДмитрийС 08.08.17 14:10 Сейчас в теме
(25) Может я просто как то не так настраиваю рлс по ТЧ(
27. EvilDoc 168 08.08.17 16:30 Сейчас в теме
хм.. возможно шаблон указан только на чтение, а на запись нет? Сложно предположить. И да - должно дать выбрать ваше подразделение - но не должно позволить записать такой документ
29. ДмитрийС 09.08.17 07:54 Сейчас в теме
(27) На чтение у меня свободный доступ. Шаблон ограничения стоит на добавление и изменение документа, причем одинаковый.
Да, подразделение можно менять как угодно, а вот записать с запрещенным нельзя.
(28) Не совсем понял о чем вы? Или это у обсуждаемой теме не относится?
30. EvilDoc 168 10.08.17 15:52 Сейчас в теме
(29) давайте попробую взглянуть на ваш шаблон
28. EvilDoc 168 08.08.17 16:33 Сейчас в теме
По поводу не правильно - у меня тут прям цветом было красиво выделено - что куда вставлял - но потом разработчики сийта изменили оформление и все пропало.. Стало ненаглядно и запутанно.
31. ДмитрийС 11.08.17 07:33 Сейчас в теме
мое ограничение выглядит так:
ГДЕ
НЕ 1 В      (ВЫБРАТЬ ПЕРВЫЕ 1      1      ИЗ      Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
ПО      ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ТабличнаяЧастьДокумента.ЦентрЗатрат
И ПраваДоступаПользователейКОбъектам.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОграниченияПравДоступа.ПодразделенияПлатежныеДокументыЗапрет)
И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
И ПраваДоступаПользователейКОбъектам.Изменение      
ГДЕ      ТекущаяТаблица.Ссылка = ТабличнаяЧастьДокумента.Ссылка)
32. EvilDoc 168 11.08.17 11:04 Сейчас в теме
Вроде все верно. В консоли запросов отрабатывает верно?
33. ДмитрийС 11.08.17 13:05 Сейчас в теме
Конечно))
Он даже отрабатывает, когда пользователь хочет запрещенное подразделение поменять на разрешенное и провести или просто перепровести документ. Тут 1С пишет про недостаточность прав. А вот когда в документе разрешенное подразделение меняется на запрещенное, то молчит.
35. pavel_pss 262 15.12.17 14:35 Сейчас в теме
Все конечно интересно, но ты пишешь (Вот и все. Осталось только указать параметры для шаблона для документов)
Вопрос а где ин нужно указывать то ??????

Я сам как раз из тех для кого пока это сложно.
36. pavel_pss 262 15.12.17 14:47 Сейчас в теме
И плиз можете подсказать какую нить книжку или сайт, по рлс
37. batia777 20.06.18 10:18 Сейчас в теме
Всем привет. Подскажите пожалуйста, если стоит ограничение RLS на справочники Сотрудники и ПодразделенияОрганизаций в ЗУП 2.1 Укр в документе Кадровое перемещение происходит тупиковая ситуация: Кадровик откуда переводится сотрудник может выбрать своего сотрудника, но не может выбрать Подразделения Куда. Обойти как-то средствами RLS это можно?
38. EvilDoc 168 20.06.18 10:46 Сейчас в теме
(37) У кадровика должны быть права на подразделение - куда переводится сотрудник. Иначе система просто не даст провести документ (а не только выбрать подразделение). Но полагаю у вас у этого кадровика нет права на сотрудника. Возможно переводом должен заниматься некий "старший" кадровик, имеющий доступ ко всем подразделениям.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата до 130 000 руб.
Полный день

КОНСУЛЬТАНТ 1С ПО ОПЕРАТИВНОМУ УЧЕТУ
Москва
зарплата от 120 000 руб.
Полный день