Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Окт 2020, 11:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: УНФ - ограничить права на просмотр Заказов покупателей  (Прочитано 152 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zixi

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-09-27
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте!
Стоит задача: В "Управление нашей фирмой" (УНФ) - ограничить права сотрудников на просмотр Заказов покупателей. Т.е. чтобы сотрудники видели только свои заказы покупателей.
Есть своё расширение для УНФ.
Подскажите, пожалуйста: Как с помощью расширения и настройки RLS можно ограничить права на чтение/просмотр Заказов покупателя ?

Пока сделал так:
- добавил роль в расширение "Менеджер";
- поместил Заказ покупателя в расширение (и связанные справочники и регистр);
- добавил для роли ограничение на право Чтение:

ЗаказПокупателя ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СотрудникиПользователя КАК СотрудникиПользователя
ПО ЗаказПокупателя.Ответственный = СотрудникиПользователя.Сотрудник
ГДЕ СотрудникиПользователя.Пользователь = &ТекущийПользователь

Запускается вроде без ошибок, но отбор не работает.

Последний раз редактировалось: zixi; 04 Окт 2020, 16:56


Оффлайн IL2016

  • **
  • Сообщений: 85
  • РЕПУТАЦИЯ: 12
  • КПД: 14%
  • Регистрация: 2016-02-20
  • Сайт: 
  • Профессия: Ученик 1С
видеть свои заказы  - это значит смотреть в форму списка с отбором по тек.пользователю.
в расширение добавьте свою роль, документ заказ и форму списка и сделайте отбор.
Использую учебную платформу 1С:Предприятие 8.3

Последний раз редактировалось: IL2016; 04 Окт 2020, 17:51

Оффлайн zixi

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-09-27
  • Сайт: 
  • Профессия: Программист 1С
Да я так и думал изначально сделать, но потом вот думаю - а вдруг менеджеры через отчёты будут смотреть заказы других. Тут наверное важно суммы от них спрятать, я так понимаю. Поэтому скрыть чужие заказы из формы списка - это конечно хорошо. Но не полностью решает проблему.
Поэтому я вот стал задумываться -  а не попробовать ли сделать это ограничение на уровне записей через RLS.

Оффлайн zixi

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-09-27
  • Сайт: 
  • Профессия: Программист 1С
Извините, ап.
1) Выявил и добавил в расширение все роли, где есть права на чтение Заказов покупателей;
2) В расширении - убрал у всех у них права на Заказ покупателя.
Кроме одной роли - ДобавлениеИзменениеПодсистемыПродажи. На ней и экспериментирую.
3) Указанный выше код - заработал. Ура!

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

Добавлено: 10 Окт 2020, 12:32

Добавил в роль расширения шаблон "ПоЗначениямРасширенный" из типовой роли, доработал - тоже работает:
#Расш_ПоЗначениямРасширенный("Документ.ЗаказПокупателя", "Чтение",
"",
"ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СотрудникиПользователя КАК Т1 ПО Т.Ответственный = Т1.Сотрудник",
"",
"","Т1.Пользователь = &ТекущийПользователь", "",
"", "", "",
"", "", "",
"", "", "",
"","","", "","","", "","","", "","","",
"","","", "","","", "","","", "","","",
"","","", "","","", "","","", "","",""
)

Но как в него добавить ограничения из шаблона "ПоЗначениям"?
Добавлено: 10 Окт 2020, 13:33

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

Если у кого есть комментарии как сделать лучше и правильнее - напишите пожалуйста!

Последний раз редактировалось: zixi; 10 Окт 2020, 13:33. Причина: Объединение сообщений


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
82 Сообщений
IL2016
32 Сообщений
antoneus antoneus
31 Сообщений
alexandr_ll
22 Сообщений
DmitriyF DmitriyF
20 Сообщений
MuI_I_Ika MuI_I_Ika
16 Сообщений
Varlant1n
15 Сообщений
Дмитрий Джей Дмитрий Джей
13 Сообщений
Алексей_1985_06
12 Сообщений
illiona
10 Сообщений

* Кто онлайн

  • Точка Гостей: 693
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal