Как реализовать ограниченный доступ менеджеру, чтобы он видел счета на оплату только те, которые он создал?

1. user973528 05.11.20 10:44 Сейчас в теме
Добрый день, подскажите пожалуйста, у нас в компании 2 менеджера, одному менеджеру нужно настроить права чтобы он видел только свои созданные счета на оплату (Указывается в реквизите Автор), УНФ 1.6, Подскажите пожалуйста как это можно сделать?
Пытался сделать через профили доступа, но не даёт добавить реквизиты для отбора. Заранее спасибо

Получилось только сделать в ролях на документ "Счет на оплату" в Чтении, добавить Ограничение доступа к данным

Автор ----- ГДЕ Автор.Ссылка = &ТекущийПользователь.

Возможно ли сделать не внося изменения в конфигурацию? Заранее спасибо
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 05.11.20 10:48 Сейчас в теме
(1) да можно, в списке заказов клиента сделай в ПриОткрытии отбор по ответственному = Пользователи.ТекущийПользователь и выносишь список заказов в расширение и там вояешь.
3. user973528 05.11.20 10:51 Сейчас в теме
(2) Добрый день, это же применится к каждому пользователю? А если в базе 5 пользователей, 2 из них менеджеры, для всех пяти будет отбор?
4. PhoenixAOD 62 05.11.20 10:54 Сейчас в теме
(3)по сути ты можешь сделать доп реквизит для пользователя Манагер и по доп реквизиту делать отбор, примерно так
Если ДОпРеквизит.Манагер = Истина ТОгда
        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Автор");
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; 
	ЭлементОтбора.ПравоеЗначение =Пользователи.Текущийпользователь;
КонецЕсли;

и отбор будет проходить только по двум пользакам
5. user973528 05.11.20 10:56 Сейчас в теме
(4) Скажите пожалуйста, а отчеты типовые можно так же как то ограничивать? Чтобы при формировании допустим отчета "Счета на оплату", список счетов выводился только с уже обозначенным отбором по автору?
6. PhoenixAOD 62 05.11.20 10:58 Сейчас в теме
(5)да точно также можно
&Вместо("ПриКомпоновкеРезультата")
Процедура КНВ_ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	//Если не РольДоступна("ПолныеПрава") Тогда
		Настройки = КомпоновщикНастроек.Настройки;
		НП = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
		НП.Значение = НачалоДня(ТекущаяДата());
		НП.Использование = Истина;
		
		КП = Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
		КП.Значение = КонецДня(ТекущаяДата());
		КП.Использование = Истина;
		
		СК = Настройки.ПараметрыДанных.Элементы.Найти("Склад");
		СК.Значение = КНВ_ОбщийМодуль.ВернутьОсновныеЗначения(Пользователи.ТекущийПользователь(), Перечисления.КНВ_НастройкиПользователей.ОсновноеПодразделение);
		СК.Использование = Истина;
		СК.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;		
	//КонецЕсли;
	
	ДокументРезультат.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;

    ДокументРезультат.АвтоМасштаб=Истина;

КонецПроцедуры
Показать
9. user973528 05.11.20 11:01 Сейчас в теме
(6) Спасибо, попробую, отпишусь
7. Vitaly1C8 05.11.20 10:59 Сейчас в теме
(1) Ты можешь добавить в расширение Роль с твоими исправлениями (Роль в конфигурации оставить как было ранее)
8. user973528 05.11.20 11:01 Сейчас в теме
(7) Добавляю роль в расширении, потом проставляю эту роль тем кому нужно ограничить, верно?
10. Vitaly1C8 05.11.20 11:04 Сейчас в теме
(8) Создаешь профиль, в профиль добавляешь роль - а вот уже профиль назначаешь юзеру (если я ничего не путаю)
11. PhoenixAOD 62 06.11.20 02:13 Сейчас в теме
(10)юзер даже под новой ролью будет видеть все доки по заказам, не только свои
12. Vitaly1C8 06.11.20 09:45 Сейчас в теме
(11) в первом посте автор говорит что внес изменения в ограничения доступа по роли ...
16. user817897 2 10.11.20 09:55 Сейчас в теме
(1) Как вариант: Добавляешь пользователя в группу, в справочник : Группы Пользователей.
в Процедуру ПередОткрытием добавлешь текст.


ГруппаДоступаПросмотрСвоих = Справочники.ГруппыПользователей.НайтиПоКоду("УТ0000012");	////где УТ0000012 - код твоей группы в которого добавил пользователя.
ПользовательВГруппе = ГруппаДоступаПросмотрСвоих .ПользователиГруппы.Найти(ПараметрыСеанса.ТекущийПользователь,"Пользователь");


И делаешь отбор на любое условие...

Если ЗначениеЗаполнено(ПользовательВГруппе) тогда
		К_розница = ЭтаФорма.Список.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Контрагент").Элементы.Найти("Контрагент.Розница").Поле;	
		ЭлементОтбора = ЭтаФорма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементОтбора.ЛевоеЗначение = К_розница;
		ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
		ЭлементОтбора.ПравоеЗначение = Истина;
		ЭлементОтбора.Использование = Истина;		
	КонецЕсли;
Показать
13. d.komarov 08.11.20 16:02 Сейчас в теме
(3)
Группы пользователей?

Если (<текущийПользователь> входит в <группу>) Тогда
    //отбор по автору или ответственному
КонецЕсли;
 
14. EVKash 8 08.11.20 20:39 Сейчас в теме
15. zayden 18 09.11.20 12:25 Сейчас в теме
Добрый день, подскажите пожалуйста, у нас в компании 2 менеджера, одному менеджеру нужно настроить права чтобы он видел только свои созданные счета на оплату (Указывается в реквизите Автор), УНФ 1.6, Подскажите пожалуйста как это можно сделать?

Обычный типовой функционал RLS - включаете и ограничиваете

https://infostart.ru/public/123193/
Оставьте свое сообщение

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