Информационный поток
Задания вакансии материалы разработки сообщения форума
Рубрики статей и материалов
Яндекс-директ

Права доступа в УПП. Добавление права на ТОЛЬКО ПРОСМОТР информации в информационной базе

  • Добавить свою публикацию
  • для этого требуется регистрация

Предисловие

И так, нам нужно добавить в систему права доступа на ТОЛЬКО ПРОСМОТР информации без прав на редактирование, изменение. 

Изображение

Использовать стандартный функционал не представляется возможным, поскольку та же роль "Пользователь" в УПП имеет права на изменение некоторых справочников. К тому же, нужно создать права, не зависящие от дополнительных прав пользователя и достаточно простые в настройки (чтобы достаточно было поставить одну галочку).

Решение

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

Изображение

Для удобства дальней разработки и последующей настройки прав для новых объектов, установим опцию "Устанавливать права для новых объектов".

 

Уже сейчас, добавив эту роль пользователю, мы откроем ему доступ на чтение/просмотр большинства таблиц базы данных. Однако, типовой механизм не позволяет работать в системе, если пользователю не присвоена типовая роль "Пользователь". Исправим это. В модуле обычного приложения в обработчике события "ПередНачаломРаботыСистемы" исправим проверку на доступную роль "Пользователь":

// Перед началом работы системы
//
Процедура ПередНачаломРаботыСистемы(Отказ)
	
	Если НЕ РольДоступна("Пользователь")
		И (НЕ РольДоступна("ПолныеПрава")) 
		// !!! Разрешаем запуск для роли "DEV_ТолькоПросмотр" !!!
		И НЕ РольДоступна("DEV_ТолькоПросмотр") Тогда
		
		Предупреждение("Вам не назначена роль ""Пользователь"". Запуск конфигурации невозможен.");
		Отказ = Истина;
		Возврат;
	КонецЕсли;
	
	Отказ = НЕ УправлениеПользователями.ПользовательОпределен();
	
	// ОбновлениеВерсииИБ
	Отказ = Отказ ИЛИ НЕ ОбновлениеИнформационнойБазыКлиент.ВозможноВыполнитьОбновлениеИнформационнойБазы();
	// Конец ОбновлениеВерсииИБ
	
КонецПроцедуры

Для правильной работы конфигурации также добавим измененим условие экспортной функции "ПользователюРазрешенЗапускКонфигурации" из общего модуля "УправлениеПользователямиСервер":

 Функция ПользователюРазрешенЗапускКонфигурации() Экспорт
	
	Если НЕ РольДоступна("Пользователь")
		И (НЕ РольДоступна("ПолныеПрава")) 
		// !!! Разрешаем запуск для роли "DEV_ТолькоПросмотр" !!!
		И (НЕ РольДоступна("DEV_ТолькоПросмотр")) Тогда		Возврат Ложь;
	КонецЕсли;
	
	Возврат Истина;
	
КонецФункции // 

Последний шаг, который нужно сделать - это автоматически очищать доступные роли пользователя информационной базы, если у него установлена роль "DEV_ТолькоПросмотр". После очистки оставлять только эту роль. Напомню, что по умолчанию система всегда добавляет роль "Пользователь" в состав доступных ролей.

Изображение

Очистку состава ролей будем выполнять перед записью элемента справочника "Пользователи". Вот программный код обработчика перед записью справочника:

 Процедура DEV_ПередЗаписьюПользователяПередЗаписью(Источник, Отказ) Экспорт
	
	ПользовательИБ = 
       ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Источник.ИдентификаторПользователяИБ);
	Если ПользовательИБ <> Неопределено Тогда
		
		Роли = ПользовательИБ.Роли;
		Если Роли.Содержит(Метаданные.Роли.DEV_ТолькоПросмотр) Тогда
			Роли.Очистить();
			Роли.Добавить(Метаданные.Роли.DEV_ТолькоПросмотр);
		КонецЕсли;
		
		ПользовательИБ.Записать();
		
	КонецЕсли;
		
КонецПроцедуры

Не забудьте добавить в роли "DEV_ТолькоПросмотр" права на запуск программы в режиме толстоко клиента, тонкого клиента и веб-клиента, иначе пользователь просто не сможет запустить программу. По необходимости установите другие права доступа.

В режиме 1С:Предприятие

После присваивания созданной роли пользователю, он сможет просматривать любую информацию в информационной базе.

Изображение

Изменить какую-либо запись справочника или отменить проведение документа пользователь не сможет.

 
0
Читайте также
Настройка 1С 8.2 для вашей компании
Настройка 1С 8.2 выполняется при помощи интерфейса или путем редактирования конфигурационного файла программы
1С помощь с настройкой 1С 8.2
Настройку 1С 8.2 можно произвести путем редактирования файла конфигурации
Разработки
Выгрузка прайс-листа 1С 7.7 в Excel
Печать прайс-листа для 1С7.7 (ТиС)
Движение и остатки ТМЦ с ценами на начало и на конец периода 1С 7.7 ТиС
Отчет для просмотра остатков товара Торговля и Склад 7.7
Конфигурация "Специалист по платформе 8" (Оперативный учет)
Конфигурация для экзамена Специалист по платформе 8
Еще от автора
≡ к списку статей