1С 8.3 Пользователи, роли (права) доступа - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Пользователи, роли (права) доступа

Данные > Примеры кода 1С > 1С 8.3 Пользователи, роли (права) доступа
Реклама:
Пользователи в 1С 8.3 – это учётные записи сотрудников предприятия, которые используются для аутентификации в конкретной информационной базе с помощью пароля (может быть пустым). Администратор системы, с помощью учетных записей пользователей разграничивает роли (права доступа) к определённым объектам конфигурации в соответствии с их должностными обязанностями и политикой организации.

При вводе нового пользователя через Конфигуратор 1С, заполняются следующие признаки и поля:
  • Имя и Полное имя  - соответственно наименование и полное наименование пользователя информационной базы. При активации признака Аутентификация 1С: Предприятия, становятся доступен  для входа в 1С. Пользователю запрещено изменять пароль (делает доступным возможность смены пароля пользователем в пользовательском режиме), Показывать в списке выбора (делает доступным выбор пользователя в списке, в противном случае имя пользователя необходимо вводить вручную).
  • Аутентификация операционной системы - этот признак включает возможность авторизации с помощью имени пользователя операционной системы. Где «Пользователь» - это имя пользователя информационной системы (например, \\domain\artur.k, где domain - домен сети, а artur.k –это имя пользователя ОС). При старте сеанса 1С  сначала проверяет авторизацию через ОС, а уже потом авторизацию 1С.
  • Аутентификация OpenID - это включение возможности авторизации с помощью технологии OpenID (система, позволяющая пользователю использовать единую учётную запись для аутентификации на множестве не связанных друг с другом программ, сайтов, соц.сетей).
Блокировка работы пользователя в 1С 8.3:
&НаКлиенте
Процедура БлокировкаРаботыПользователя(Команда)

   
ЗаблокироватьРаботуПользователя();

КонецПроцедуры
Получение имени текущего пользователя в 1С 8.3:
&НаКлиенте
Процедура ПолучениеИмениТекущегоПользователя(Команда)

   
Полученное_Имя=ИмяПользователя(); // Морозов А.И.
   
Полученное_Имя_Полное=ПолноеИмяПользователя(); // Морозов Александр Иванович

КонецПроцедуры
Чтение и проверка прав и ролей пользователей в 1С 8.3:
&НаСервере
Процедура ЧтениеИПроверкаПравИРолейПользователей() // Варианты прав: Чтение, Изменение, Добавление, Удаление, Проведение

    // Чтение права к объекту метаданных у текущего пользователя
   
Если ПравоДоступа("Изменение", Метаданные.Справочники.Материалы) Тогда
       
Сообщить("Доступ к справочнику Материалы на изменение открыт!");
    КонецЕсли;

   
// Чтение права к объекту метаданных у определенной роли
   
Если Не ПравоДоступа("Удаление", Метаданные.Справочники.Материалы, Метаданные.Роли.Менеджер) Тогда
       
Сообщить("У роли Менеджер нет прав на удаление в справочнике Материалы!");
    КонецЕсли;

   
// Проверка права к объекту метаданных у других пользователей
   
ВсеПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
    Для Каждого
Пользователь Из ВсеПользователи Цикл
        Если
ПравоДоступа("Изменение", Метаданные.Справочники.Материалы, Пользователь) Тогда
           
Сообщить("Доступ для " + Пользователь.Имя + " на изменение открыт!");
        КонецЕсли;
    КонецЦикла;

   
// Чтение роли у текущего пользователя
   
Если РольДоступна("Администратор") Тогда
       
Сообщить("У Вас права Администратора!");
    КонецЕсли;

   
// Проверка права у пользователя и в случае его отсутствия - вызов исключения
   
ВыполнитьПроверкуПравДоступа("Изменение", Метаданные.Справочники.Материалы); // "Нарушение прав доступа!"

КонецПроцедуры
Сохранение, чтение и удаление настроек пользователя в 1С 8.3:
&НаСервере
Процедура СохранениеЧтениеУдалениеНастроекПользователя()

   
// Сохранение произвольных настроек конкретного пользователя
   
НастройкиПользователя = Новый Структура;
   
НастройкиПользователя.Вставить("Фамилия", "Дарк");
   
НастройкиПользователя.Вставить("Имя", "Жанна");
   
НастройкиПользователя.Вставить("Пол", "Ж");
   
НастройкиПользователя.Вставить("Возраст", 19);

   
// Параметры: Ключ объекта, Ключ настроек, Настройки, Описание настроек, Владелец настроек,
   
ХранилищеОбщихНастроек.Сохранить("Отчет.ОСВ", "КлючНастроек", НастройкиПользователя, ,ИмяПользователя());

   
// Сохранение произвольных настроек для всех пользователей
   
ВсеПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
    Для Каждого
Пользователь Из ВсеПользователи Цикл
       
ХранилищеОбщихНастроек.Сохранить("Отчет.ОСВ", "КлючНастроек", НастройкиПользователя, ,Пользователь.Имя);
    КонецЦикла;

   
// Чтение сохраненных настроек пользователя
   
ЧтениеНастроек = Неопределено;
    Попытка
       
ЧтениеНастроек = ХранилищеОбщихНастроек.Загрузить("Отчет.ОСВ", "КлючНастроек",,ИмяПользователя());
    Исключение
       
Сообщить("Не достаточно прав доступа к настройкам пользователя: "+ИмяПользователя());
    КонецПопытки;

    Если
ЧтениеНастроек = Неопределено Тогда // Значит настроек нет
       
Сообщить("Не получилось прочитать настройки.");
    Иначе
// Чтение настроек
       
Сообщить("Имя:"+ЧтениеНастроек.Имя+"; Фамилия:"+ЧтениеНастроек.Фамилия+
       
"; Пол:"+ЧтениеНастроек.Пол+"; Возраст:"+ЧтениеНастроек.Возраст);
    КонецЕсли;

   
// Удаление сохраненных настроек пользователя
   
ХранилищеОбщихНастроек.Удалить("Отчет.ОСВ", "КлючНастроек", ИмяПользователя());

   
// Удаление сохраненных настроек у всех пользователей
   
ХранилищеОбщихНастроек.Удалить("Отчет.ОСВ", "КлючНастроек", Неопределено);

КонецПроцедуры
Шаблоны (готовые модели) кода 1С 8.3 с тегом #Пользователи, роли (права) доступа:
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 25.05.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому