УТ 10.3 Как организовать права менеджера ?

1. pentanom 25 26.02.20 18:02 Сейчас в теме
Подскажите, люди добрые!

Условно есть два менеджера: М1 и М2. У менеджера М1 полные права. В его обязанность входит оформлять отгрузки и оплаты. А менеджер М2 может собирать заказы покупателей и делать заказы поставщикам. Эти документы он может формировать и редактировать. На другие документы, созданные на основании этих заказов, у менеджера М2 есть только право чтения. А на другие документы, созданные другими менеджерами и созданные на их основании, у менеджера М2 права чтения нет.
Если я понятно описал проблему, то может ли кто-нибудь подсказать с какой стороны можно подойти к решению этой задачи?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 26.02.20 18:33 Сейчас в теме
Подойти можно как минимум двумя путями.
1) включить RLS и настроить доступ к своим документам
2) записать в коде какие-то ограничения.
Путь 1 требует хорошего сервера и не очень большой базы, иначе будет тормозить нещадно. Путь 2 будет работать быстрее, но тут есть нюансы в виде доступа к отчетам и прочим данным, где используются ссылки на документы...
3. pentanom 25 26.02.20 18:41 Сейчас в теме
(2)В настоящий момент на документы "Заказ поставщику" и "Заказ покупателя" установлено право чтения с условием "ГДЕ Ответственный = &ТекущийПользователь". При этом Менеджер М1 не видит чужих документов, но он должен видеть другие документы, например, "Реализация ..." созданные на основании "своих" документов, но другими сотрудниками.
5. starjevschik 26.02.20 21:24 Сейчас в теме
(3) это надо запросы RLS переписывать, занятие небыстрое, но вполне реалистичное.
4. soft_wind 26.02.20 21:15 Сейчас в теме
попробуйте такое условие (на чтение)
"ГДЕ Ответственный = &ТекущийПользователь"
или ДокументОснование.Ответственный = &ТекущийПользователь


ДокументОснование - или как там у вас в базе?
7. pentanom 25 26.02.20 21:45 Сейчас в теме
(4)Так не годится. Это нужно прописывать во всех документах, у которых основанием может быть Заказ покупателя или Заказ поставщику.
6. pentanom 25 26.02.20 21:43 Сейчас в теме
А что вы скажете на такое:
- в общей форме "Форма структуры подчиненности" процедуру "Открыть форму документа" записал так:
// Процедура выполняет открытие формы текущего документа
Процедура ОткрытьФормуДокумента()
	Попытка
УстановитьПривилегированныйРежим(Истина);
		Форма = ЭлементыФормы.ДеревоДокументов.ТекущиеДанные.Ссылка.ПолучитьФорму();
		Форма.Открыть();
УстановитьПривилегированныйРежим(Ложь);
	Исключение
		ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки());
	КонецПопытки;
КонецПроцедуры
Показать

У менеджера полный доступ к трем документам: Заказ покупателя, Заказ поставщику и Счет на оплату покупателю. В формах этих документов и в формах списка в процедурах "ДействияФормыСтруктураПодчиненностиДокумента()" сделал такую вставку
УстановитьПривилегированныйРежим(Истина);
	РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(Ссылка);
УстановитьПривилегированныйРежим(Ложь);
.
В результате должно получиться следующее. Менеджер видит только список "своих" документов и другие документы ему не видны. Для этих документов можно получить полную структуру подчиненности и открыть все документы, которые входят в эту структуру. Но любое действие с этими документами менеджеру недоступно.
Оставьте свое сообщение

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