|
тонкая настройка RLS в БСП 2.4.2.124 | ☑ | ||
---|---|---|---|---|
0
novichok79
04.10.17
✎
16:45
|
Дратути, уважаемые укротители 1С. Имеется четкая самописка на базе БСП 2.4.2.124. А также имеется задача - нужно манагерам по продажам дать доступ на чтение всех элементов справочника "Контрагенты", но если "Менеджер" <> ПараметрыСеанса.ТекущийПользователь, то доступны на просмотр / отбор / упорядочивание только поля "Наименование", "ИНН", "КПП". Группы доступа копал - не подойдут они.
А теперь, внимание, вопрос - каким образом реализовать сею хотелку (желательно средствами RLS)? Или же в платформе 8.3.10.2299 сей каприз не реализуем и надо слать лесом "хочунов" таких чудес? Всем помогающим ставлю царский лойс, как сейчас модно говорить. |
|||
1
Волшебник
модератор
04.10.17
✎
16:48
|
Не лойс, а лайк.
|
|||
2
novichok79
04.10.17
✎
16:49
|
(1) ну и лайк тоже, разумеется.
|
|||
3
novichok79
04.10.17
✎
16:56
|
Делал таким образом:
В праве "Чтение" роли Менеджера сделал следующие ограничения по полям: 1) кроме поля "Наименование, ИНН, КПП" ограничение доступа на чтение: ГДЕ Менеджер В (&ТекущийПользователь, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)) 2) на прочие поля ограничение доступа на чтение: ГДЕ ИСТИНА при таких раскладах выводится только свои элементы справочника и те, где менеджер не задан, при попытке записи элемента справочника контрагенты после замены менеджера на любого, 1С виснет намертво, а во всплывающем окне внизу пишет что-то типа 'Запись объекта "объект не найден"' |
|||
4
novichok79
04.10.17
✎
18:04
|
короче можно сделать, но получится дичь, а именно:
в формах списков сделать дин. списки, с заменой полей на пустые, ну и версии отчетов для манагеров сделать тоже отдельные. по-другому, не знаю как решить подобную задачу. |
|||
5
_Batoo
04.10.17
✎
18:23
|
(3)
Попробуй "Прочие поля" с условием, а "Наименование, ИНН, КПП" ГДЕ ИСТИНА. И тут ГДЕ Менеджер В (&ТекущийПользователь, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)) &ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь все-таки |
|||
6
novichok79
04.10.17
✎
18:42
|
(5) а как удалить надписи "объект не найден", в случае отсутствия прав - через ОбработкуПолученияПредставления?
|
|||
7
_Batoo
04.10.17
✎
18:53
|
(6)
Добавить к "Наименование, ИНН, КПП" Ссылку. |
|||
8
novichok79
04.10.17
✎
19:39
|
(5) параметры в запросе RLS берутся из параметров сеанса, насколько я знаю. разве нет?
|
|||
9
_Batoo
04.10.17
✎
20:48
|
(8)
Да, верно, это я попутал. |
|||
10
novichok79
05.10.17
✎
08:56
|
(9) печальные известия, а именно:
в праве "Чтение" я пробовал разные позиции, в итоге - в списках 1С показывает только тех контрагентов, где менеджер = &ТекущийПользователь или не указанный пользователь. если контрагент другого менеджера указан в документах, которые доступны текущему менеджеру, открыть или выбрать "чужого контрагента" нельзя. делать походу все равно придется, но через ректальным способом. |
|||
11
_Batoo
05.10.17
✎
10:36
|
(10)
Ну да, у себя так сделал, чтобы пользователь не видел "Объект не найден", но и посмотреть/использовать элемент не мог. И в СКД эти поля будут "видны", для группировок и прочего. |
|||
12
novichok79
05.10.17
✎
10:57
|
(11) ответ заказчика был суров и краток - "к сожалению, придется делать так". так = как было в FireBird самописке на дельфях.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |