Запретить проведение документа для одного пользователя
Как запретить проведение документа для одного пользователя по складу Курская, именно по этому складу., другим дать доступ. Ограничивают доступ обычно в справочнике Доступы пользователей(проведение, запись)
Если (Источник.Склад) = Справочники.Склады.НайтиПоНаименованию("Склад Курская") И Найти(";Евтушенко Виталий Михайлович;ЛогистСклад;",ИмяПользователя()) = 0 тогда
Если Дополнительные.НаличиеПраваДоступа("ИзменениеДокументов") Тогда
Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
#Если Клиент тогда
Сообщить("Отказано в проведении документа!",СтатусСообщения.Важное);
#КонецЕсли
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если (Источник.Склад) = Справочники.Склады.НайтиПоНаименованию("Склад Курская") И Найти(";Евтушенко Виталий Михайлович;ЛогистСклад;",ИмяПользователя()) = 0 тогда
Если Дополнительные.НаличиеПраваДоступа("ИзменениеДокументов") Тогда
Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
#Если Клиент тогда
Сообщить("Отказано в проведении документа!",СтатусСообщения.Важное);
#КонецЕсли
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
По теме из базы знаний
- Кто сейчас проводит документ: человек или компьютер? Зачем нужна подобная классификация "режимов" проведения документа в 1С 8.3 в клиент-серверном режиме и как получить ответ на этот вопрос при работе с обработчиками событий управляемой формы и документа?
- Изменение договора контрагента при наличии проведенных документов по данному договору. 1С8.2 Обычные формы
- Согласование (подсистема). Для любого справочника и документа в 1С. Встраивается в любые конфигурации
- Гибкая настройка контроля ввода документов,проведения,отмены проведения
- Как сломать работу 1С, будучи пользователем
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Функция ДоступКСкладам() Экспорт
Запрос=Новый Запрос("ВЫБРАТЬ
| Спр.Ссылка
|ИЗ
| Справочник.ДоступПользователей КАК Спр
|ГДЕ
| Спр.Пользователь = &Пользователь
| И Спр.Родитель.Родитель = &ДоступКСкладам
| И Спр.ПометкаУдаления = ЛОЖЬ
| И Спр.Доступ = ИСТИНА");
Запрос.УстановитьПараметр("ДоступКСкладам",Справочники.ДоступПользователей.НайтиПоКоду("ДоступКСкладам",Истина));
Запрос.УстановитьПараметр("Пользователь",ПараметрыСеанса.ТекущийПользователь);
Выгрузка = Запрос.Выполнить().Выгрузить();
Если Выгрузка.Количество()=0 тогда
Возврат ЛОЖЬ;
КонецЕсли;
Возврат истина;
КонецФункции
Процедура ОбработкаЗапретаПроведенияОприходованияПоСкладуПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если ТипЗнч(Источник) = Тип("ДокументОбъект.ОприходованиеТоваров") тогда
Если Найти("Евтушенко Виталий Михайлович",ИмяПользователя()) = 0 И РольДоступна("ЗаведующийСкладом") И (Источник.Склад) = Справочники.Склады.НайтиПоНаименованию("Склад Курская", Истина) И Не Дополнительные.ДоступКСкладам() Тогда
Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
#Если Клиент тогда
Сообщить("Отказано в проведении документа!",СтатусСообщения.Важное);
#КонецЕсли
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьТеперь другие не могут провести документ Оприходование товаров. Почему?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот