УТ 11.4.14.Ограничение прав на просмотр себестоимости.

1. fedor40 706 13.05.22 16:28 Сейчас в теме
УТ 11.4.14.

Как менеджеру по продажам ограничить права на просмотр себестоимости и рентабельности продаж?
Найденные решения
13. polax 16.05.22 23:26 Сейчас в теме
(12) Вот смотри. Не так давно делал похожий (но более правильный) заказ. Надо было сделать, чтобы при любых раскладах Помощник менеджера по продажам видел только ту прибыль, что по документам с его авторством. Стандартные ограничения РЛС не подошли. Пришлось лишить в его профиле роли "Отчеты руководителя отдела продаж", сделать в расширении Роль по допуску к отчету Валовая прибыль и себестоимость продаж. А вот отчет чтобы не настраивал менеджер всегда будет отбор по этому менеджеру. Примерно так же можно убрать и ресурсы себестоимость и рентабельность
С остальными отчетами (типа Движения документов) можно поступить примерно так же.
НО. Еще раз, на мой взгляд уж принесенную прибыль своих продаж менеджер имеет право видеть.
Модуль объекта заимствованного отчета Валовая прибыль и себестоимость продаж
&Перед("ПриКомпоновкеРезультата")
Процедура РасшПД_ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	Если НЕ РольДоступна("ПолныеПрава")И НЕ РольДоступна("ОтчетыРуководителяОтделаПродаж") Тогда 
		ТекущийПользователь = ПользователиКлиентСервер.ТекущийПользователь();		
		НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();  
		Эл = ПроверкаНаличияОтбора(НастройкиОтчета.Отбор.Элементы);
		Если Эл.Есть Тогда
			ИндОтбора = НастройкиОтчета.Отбор.Элементы.Индекс(Эл.СтрокаКоллекции);	
			НашОтбор = НастройкиОтчета.Отбор.Элементы[ИндОтбора];
			НашОтбор.Использование = Истина;
			НашОтбор.ПравоеЗначение = ТекущийПользователь;
			КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
		Иначе 
			ПолеМенеджер = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Менеджер");
			НовыйОтбор = НастройкиОтчета.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйОтбор.ЛевоеЗначение = ПолеМенеджер.Поле;
			НовыйОтбор.ПравоеЗначение = ТекущийПользователь;
			НовыйОтбор.Использование = Истина;  
			КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
			
		КонецЕсли;
		
	КонецЕсли;	
	
КонецПроцедуры

Функция ПроверкаНаличияОтбора(Коллекция)
	Галка = Ложь;
	Элем = Неопределено;
	Для каждого Эл из Коллекция Цикл
		Если Строка(Эл.ЛевоеЗначение) = "Менеджер" Тогда
			Галка = Истина;
			Элем = Эл;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Возврат Новый Структура ("Есть,СтрокаКоллекции",Галка,Элем);
КонецФункции
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. muskul 16.05.22 07:46 Сейчас в теме
убрать право с ресурсов себестомость для менеджерских прав
4. fedor40 706 16.05.22 09:36 Сейчас в теме
(2)
убрать право с ресурсов себестомость для менеджерских прав


Тогда он не сможет проводить реализации. Да и типовые роли редактировать не хотелось.
6. muskul 16.05.22 09:51 Сейчас в теме
(4)Спасибо ) теперь понял что кое где что то сделали не так.
Тогда как вариант изменить типовой отчет валовая прибыль убирая с него колонки с себестоимостью и рентабельностью при компоновке результатов.
мы так ставили принудительный отбор на "запрещенную группу номенклатуры" наверняка колонки убрать для вывода тоже возможно. Еще правда остануться цены, да и в типовых куча печ.форм с анализом
11. EVKash 16 16.05.22 15:07 Сейчас в теме
(4)
Тогда он не сможет проводить реализации. Да и типовые роли редактировать не хотелось.

А если писать движения в привилегированном режиме, как вариант?
3. polax 16.05.22 08:02 Сейчас в теме
(1) Убрать из профиля роль Отчеты по продажам. Так себе решение. Менеджер все-таки должен видеть отчеты по своему профилю
5. fedor40 706 16.05.22 09:37 Сейчас в теме
(3)
Убрать из профиля роль Отчеты по продажам.


Он должен смотреть Выручку, но бес Себестоимости и Прибыли.
7. polax 16.05.22 10:55 Сейчас в теме
(5) Скопировать Роль "Отчеты по продажам" в расширение.
Убрать из скопированной роли доступ к отчету "выручка и себестоимость продаж"
Убрать из профиля менеджера по продажам роль Отчеты по продажам
Добавить менеджеру роль из расширения
Сделать в расширении простейший отчет по выручке за период
9. fedor40 706 16.05.22 14:18 Сейчас в теме
(7)
Убрать из скопированной роли доступ к отчету "выручка и себестоимость продаж"


Себестоимость можно посмотреть в Движениях документа или из Заказа клиента нажав Оценка рентабельности продаж.

Это где убирать?
8. polax 16.05.22 10:59 Сейчас в теме
"Тогда как вариант изменить типовой отчет валовая прибыль убирая с него колонки с себестоимостью и рентабельностью при компоновке результатов."©
ТОгда учти, что предопределенных вариантов этого отчета вагон и телега. Предусмотреть надо очистку себестоимости во всех вариантах
10. polax 16.05.22 14:37 Сейчас в теме
(9) Правильные вопросы ставишь. А еще, например, есть док Установка цен, где легко увидеть и высчитать цену закупки и наценку. А подумать, так и еще найти можно. Отсюда сомнения, может задача поставлена неправильно? Нельзя заниматься продажами и не видеть главного в результатах работы. Может лучше пусть видит всё, но только свое? Свои контрагенты или категории номенклатуры или еще что-то. Это будет более правильное решение. Ну..... или уволить на фиг менеджера которому до такой степени нет доверия
12. fedor40 706 16.05.22 22:37 Сейчас в теме
(10)
Ну..... или уволить на фиг менеджера которому до такой степени нет доверия


Доверие есть. Но руководство не хочет, чтобы все могли видеть сколько зарабатывает фирма.

Как тогда говорить сотрудникам, что денег нет и мы едва что-то заработали???
13. polax 16.05.22 23:26 Сейчас в теме
(12) Вот смотри. Не так давно делал похожий (но более правильный) заказ. Надо было сделать, чтобы при любых раскладах Помощник менеджера по продажам видел только ту прибыль, что по документам с его авторством. Стандартные ограничения РЛС не подошли. Пришлось лишить в его профиле роли "Отчеты руководителя отдела продаж", сделать в расширении Роль по допуску к отчету Валовая прибыль и себестоимость продаж. А вот отчет чтобы не настраивал менеджер всегда будет отбор по этому менеджеру. Примерно так же можно убрать и ресурсы себестоимость и рентабельность
С остальными отчетами (типа Движения документов) можно поступить примерно так же.
НО. Еще раз, на мой взгляд уж принесенную прибыль своих продаж менеджер имеет право видеть.
Модуль объекта заимствованного отчета Валовая прибыль и себестоимость продаж
&Перед("ПриКомпоновкеРезультата")
Процедура РасшПД_ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	Если НЕ РольДоступна("ПолныеПрава")И НЕ РольДоступна("ОтчетыРуководителяОтделаПродаж") Тогда 
		ТекущийПользователь = ПользователиКлиентСервер.ТекущийПользователь();		
		НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();  
		Эл = ПроверкаНаличияОтбора(НастройкиОтчета.Отбор.Элементы);
		Если Эл.Есть Тогда
			ИндОтбора = НастройкиОтчета.Отбор.Элементы.Индекс(Эл.СтрокаКоллекции);	
			НашОтбор = НастройкиОтчета.Отбор.Элементы[ИндОтбора];
			НашОтбор.Использование = Истина;
			НашОтбор.ПравоеЗначение = ТекущийПользователь;
			КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
		Иначе 
			ПолеМенеджер = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Менеджер");
			НовыйОтбор = НастройкиОтчета.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйОтбор.ЛевоеЗначение = ПолеМенеджер.Поле;
			НовыйОтбор.ПравоеЗначение = ТекущийПользователь;
			НовыйОтбор.Использование = Истина;  
			КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
			
		КонецЕсли;
		
	КонецЕсли;	
	
КонецПроцедуры

Функция ПроверкаНаличияОтбора(Коллекция)
	Галка = Ложь;
	Элем = Неопределено;
	Для каждого Эл из Коллекция Цикл
		Если Строка(Эл.ЛевоеЗначение) = "Менеджер" Тогда
			Галка = Истина;
			Элем = Эл;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Возврат Новый Структура ("Есть,СтрокаКоллекции",Галка,Элем);
КонецФункции
Показать
14. serserser 26.08.23 18:08 Сейчас в теме
Оставьте свое сообщение

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