Каталог решений - Запрет изменения документа для всех пользователей, кроме автора

Запрет изменения документа для всех пользователей, кроме автора

Запрет изменения документа для всех пользователей, кроме автора

В наличии

Вариант решения вопроса, как закрыть возможность изменить документ для всех пользователей, кроме автора. Подходит для конфигураций, снятых с поддержки, придется внести изменения в конфигурацию….
Решение разрабатывалось для УТ 10.3, обычные формы.

Категория:

Описание

Недавно была поставлена задача закрытия изменений в документе реализации всеми, кроме автора документа.

Не стал лезть в распределение ролей, настройки прав и т.п., т.к. заказчик сам это поддерживать и настраивать не будет. Нужно было что то по проще….

Устроило решение закрыть возможность открытия документа при активации в документе необходимого флага всеми пользователями, кроме автора.

Реализовано на примере документа РеализацияТоваровУслуг, это решение можно использовать в любом документе.

1. Создаем новый реквизит документа, присваиваем ему тип Булево.

2. На форме документа размещаем флаг, данные = созданному ранее реквизиту.

3. В модуле документа в процедуре ПередОткрытием в начале вставляем код (у меня так), у вас свои названия вероятно..

  флагЗапрета = ЭтаФорма.ЭлементыФормы.ЗакрытьОтРедактирования.Значение;	
  Тек_Польз = ПараметрыСеанса.ТекущийПользователь;
  Автор = ЭтаФорма.ЭлементыФормы.Ответственный.Значение;
  Если флагЗапрета = Истина  Тогда
  	Если Тек_Польз = Автор Тогда
  	ЭтаФорма.Открыть();
  	Иначе
  		Если Тек_Польз <> Автор Тогда
  		ОпределитьДоступностьВозможностьИзмененияДокументаПоАвтору();
  		ЭтаФорма.Закрыть();
  		КонецЕсли;
  	КонецЕсли;
  КонецЕсли;
  

и добавляем процедуру для вывода сообщения:

  Процедура  ОпределитьДоступностьВозможностьИзмененияДокументаПоАвтору()
  Сообщить("Документ закрыт для редактирования!"+Символы.ПС+ "Пользователь"+" "+Ответственный+" "+"закончил оформление документа!"+Символы.ПС+"Для открытия документа обратитесь к Автору.");
  Предупреждение("Документ закрыт для редактирования!"+Символы.ПС+ "Пользователь"+" "+Ответственный+" "+"закончил оформление документа!"+Символы.ПС+"Для открытия документа обратитесь к Автору.");
  КонецПроцедуры
  

Если вывод сообщений не нужен, не вставляйте. Тогда закомментируйте или удалите вызов этой процедуры в первом куске кода.

has been added to your cart:
Оформление заказа