Вход | Регистрация

1С:Предприятие ::

Метки: 

тонкая настройка RLS в БСП 2.4.2.124

Я
   novichok79
 
04.10.17 - 16:45
Дратути, уважаемые укротители 1С. Имеется четкая самописка на базе БСП 2.4.2.124. А также имеется задача - нужно манагерам по продажам дать доступ на чтение всех элементов справочника "Контрагенты", но если "Менеджер" <> ПараметрыСеанса.ТекущийПользователь, то доступны на просмотр / отбор / упорядочивание только поля "Наименование", "ИНН", "КПП". Группы доступа копал - не подойдут они.
А теперь, внимание, вопрос - каким образом реализовать сею хотелку (желательно средствами RLS)? Или же в платформе 8.3.10.2299 сей каприз не реализуем и надо слать лесом "хочунов" таких чудес?
Всем помогающим ставлю царский лойс, как сейчас модно говорить.
 
  Рекламное место пустует
   Волшебник
 
Модератор
1 - 04.10.17 - 16:48
Не лойс, а лайк.
   novichok79
 
2 - 04.10.17 - 16:49
(1) ну и лайк тоже, разумеется.
   novichok79
 
3 - 04.10.17 - 16:56
Делал таким образом:
В праве "Чтение" роли Менеджера сделал следующие ограничения по полям:

1) кроме поля "Наименование, ИНН, КПП" ограничение доступа на чтение:
ГДЕ Менеджер В (&ТекущийПользователь, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
2) на прочие поля ограничение доступа на чтение:
ГДЕ ИСТИНА

при таких раскладах выводится только свои элементы справочника и те, где менеджер не задан, при попытке записи элемента справочника контрагенты после замены менеджера на любого, 1С виснет намертво, а во всплывающем окне внизу пишет что-то типа 'Запись объекта "объект не найден"'
   novichok79
 
4 - 04.10.17 - 18:04
короче можно сделать, но получится дичь, а именно:
в формах списков сделать дин. списки, с заменой полей на пустые, ну и версии отчетов для манагеров сделать тоже отдельные. по-другому, не знаю как решить подобную задачу.
   _Batoo
 
5 - 04.10.17 - 18:23
(3)

Попробуй "Прочие поля" с условием, а "Наименование, ИНН, КПП" ГДЕ ИСТИНА.

И тут

ГДЕ Менеджер В (&ТекущийПользователь, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)) 

&ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь все-таки
   novichok79
 
6 - 04.10.17 - 18:42
(5) а как удалить надписи "объект не найден", в случае отсутствия прав - через ОбработкуПолученияПредставления?
   _Batoo
 
7 - 04.10.17 - 18:53
(6)

Добавить к "Наименование, ИНН, КПП" Ссылку.
   novichok79
 
8 - 04.10.17 - 19:39
(5) параметры в запросе RLS берутся из параметров сеанса, насколько я знаю. разве нет?
   _Batoo
 
9 - 04.10.17 - 20:48
(8)

Да, верно, это я попутал.
   novichok79
 
10 - 05.10.17 - 08:56
(9) печальные известия, а именно:
в праве "Чтение" я пробовал разные позиции, в итоге - в списках 1С показывает только тех контрагентов, где менеджер = &ТекущийПользователь или не указанный пользователь. если контрагент другого менеджера указан в документах, которые доступны текущему менеджеру, открыть или выбрать "чужого контрагента" нельзя. делать походу все равно придется, но через ректальным способом.
 
 
   _Batoo
 
11 - 05.10.17 - 10:36
(10)

Ну да, у себя так сделал, чтобы пользователь не видел "Объект не найден", но и посмотреть/использовать элемент не мог.
И в СКД эти поля будут "видны", для группировок и прочего.
   novichok79
 
12 - 05.10.17 - 10:57
(11) ответ заказчика был суров и краток - "к сожалению, придется делать так". так = как было в FireBird самописке на дельфях.


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует