Запретить проведение документа для одного пользователя

1. sergqwert15 3 05.09.19 16:39 Сейчас в теме
Как запретить проведение документа для одного пользователя по складу Курская, именно по этому складу., другим дать доступ. Ограничивают доступ обычно в справочнике Доступы пользователей(проведение, запись)

Если (Источник.Склад) = Справочники.Склады.НайтиПоНаименованию("Склад Курская") И Найти(";Евтушенко Виталий Михайлович;ЛогистСклад;",ИмяПользователя()) = 0 тогда
Если Дополнительные.НаличиеПраваДоступа("ИзменениеДокументов") Тогда
Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
#Если Клиент тогда
Сообщить("Отказано в проведении документа!",СтатусСообщения.Важное);
#КонецЕсли
Отказ = Истина;
Возврат;
КонецЕсли;

КонецЕсли;
КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. UtSpar 137 06.09.19 06:51 Сейчас в теме
(1) В коде ничео не добавляйте
Решайте на уровне ролей и прав.
2. VmvLer 05.09.19 16:44 Сейчас в теме
3. _MavR_ 06.09.19 00:56 Сейчас в теме
Как вариант подписка на события, где все условия/ограничения и, если нужно, доп.роли прописать
5. sergqwert15 3 07.09.19 17:30 Сейчас в теме
Функция ДоступКСкладам() Экспорт
	
	Запрос=Новый Запрос("ВЫБРАТЬ
	                    |	Спр.Ссылка
	                    |ИЗ
	                    |	Справочник.ДоступПользователей КАК Спр
	                    |ГДЕ
	                    |	Спр.Пользователь = &Пользователь
	                    |	И Спр.Родитель.Родитель = &ДоступКСкладам
	                    |	И Спр.ПометкаУдаления = ЛОЖЬ
	                    |	И Спр.Доступ = ИСТИНА");
		Запрос.УстановитьПараметр("ДоступКСкладам",Справочники.ДоступПользователей.НайтиПоКоду("ДоступКСкладам",Истина));
		Запрос.УстановитьПараметр("Пользователь",ПараметрыСеанса.ТекущийПользователь);
	    Выгрузка = Запрос.Выполнить().Выгрузить();
		Если Выгрузка.Количество()=0 тогда
			Возврат ЛОЖЬ;
		КонецЕсли;	
		Возврат истина;
	  
КонецФункции	


Процедура ОбработкаЗапретаПроведенияОприходованияПоСкладуПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если  ТипЗнч(Источник) = Тип("ДокументОбъект.ОприходованиеТоваров") тогда
		Если Найти("Евтушенко Виталий Михайлович",ИмяПользователя()) = 0 И РольДоступна("ЗаведующийСкладом") И (Источник.Склад) = Справочники.Склады.НайтиПоНаименованию("Склад Курская", Истина) И Не Дополнительные.ДоступКСкладам()  Тогда
			Если   РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
				#Если Клиент тогда
					Сообщить("Отказано в проведении документа!",СтатусСообщения.Важное);
				#КонецЕсли
				Отказ = Истина;
				Возврат;
			КонецЕсли;
			
		КонецЕсли;
	КонецЕсли;	
	
КонецПроцедуры
Показать


Теперь другие не могут провести документ Оприходование товаров. Почему?
6. Bukaska 140 09.09.19 13:47 Сейчас в теме
(5)Так вы сами назначили при проведении только одного человека
Оставьте свое сообщение

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