ЗУП - Док_ОтпускБезСохраненияОплаты - Доступ к элементам формы

1. user1016048 07.03.24 09:44 Сейчас в теме
Здравствуйте!
Подскажите пожалуйста куда копать может кто сталкивался...
Есть документ ОтпускБезСохраненияОплаты, необходимо дать доступ к некоторым элементам формы, для пользователей входящий в определенную группу доступа.
Делаю вот таким образом: Меняю значения свойств элементов формы (по умолчанию ЛОЖЬ) на Истина.
Для документа ПрогулНеявка данный способ работает, а вот для ОтпускБезСохраненияОплаты уже нет.

Да, есть Роль которую можно присвоить профилю группы доступа, однако тогда пользователю будут доступен избыточный функционал (по части ЗП).

Модуль формы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

	РезультатВыполнения = ПривилегияУтвержденияДляГруппы();
	
	Если РезультатВыполнения Тогда
		ЭтотОбъект.ТолькоПросмотр = Ложь;
				ЭтотОбъект.Элементы.ПерерасчетВыполнен.Доступность = Истина;
		ЭтотОбъект.Элементы.Рассчитал.Доступность = Истина;
	КонецЕсли;
	

КонецПроцедуры
Показать


&НаСервере
Функция ПривилегияУтвержденияДляГруппы()
	
		УстановитьПривилегированныйРежим(Истина);
	//Группа Табель	
	ГуидГруппаТабель = "1416c2cc-47ed-11ee-bf97-005056885445";
	ТекПользователь =  Пользователи.ТекущийПользователь();
	
	СсылкаГруппа = Справочники.ГруппыДоступа.ПолучитьСсылку(Новый УникальныйИдентификатор(ГуидГруппаТабель));
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ГруппыДоступаПользователи.Пользователь КАК Пользователь,
	|	ГруппыДоступаПользователи.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
	|ГДЕ
	|	ГруппыДоступаПользователи.Пользователь = &Пользователь
	|	И ГруппыДоступаПользователи.Ссылка = &ГруппаДоступа";
	
	Запрос.УстановитьПараметр("Пользователь", ТекПользователь);
	Запрос.УстановитьПараметр("ГруппаДоступа", СсылкаГруппа);
	
	ДанныеЗапроса = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0); 
	Если  ДанныеЗапроса.Количество() <> 0 Тогда
		ЭтотОбъект.Объект.Рассчитал = ЭтотОбъект.Объект.Ответственный;
		УстановитьПривилегированныйРежим(Ложь);
		Возврат Истина;
	Иначе
		УстановитьПривилегированныйРежим(Ложь);
		Возврат Ложь;
	КонецЕсли;	
	
КонецФункции
Показать
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

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