helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Функция создания или изменения пользователя, его прав доступа, настроек

Код 1C v 8.х
 
Функция СоздатьПользователя(Имя, Пароль)

Если (Метаданные.Роли.Найти("ПолныеПрава") = Неопределено) или (Метаданные.Роли.Найти("Админ") = Неопределено) Тогда
Сообщить("Нет возможности создать пользователя """ + Имя + """. В конфигурации отсутствует роль с Админскими правами!");
Возврат Ложь;
КонецЕсли;

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

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

// Установим настройки пользователя
Попытка
// отключаем вывод панели функций при запуске программы
Движение = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
Движение.Пользователь = Пользователь.Ссылка;
Движение.Настройка = ПланыВидовХарактеристик.НастройкиПользователей.ОткрыватьПриЗапускеПанельФункций;
Движение.Значение = Ложь;
Движение.Записать();
Исключение
КонецПопытки;

Попытка
// включаем учет по всем организациям
Движение = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
Движение.Пользователь = Пользователь.Ссылка;
Движение.Настройка = ПланыВидовХарактеристик.НастройкиПользователей.УчетПоВсемОрганизациям;
Движение.Значение = Истина;
Движение.Записать();
Исключение
КонецПопытки;
// Все, пользователь создан или изменен
Возврат Истина;
Исключение
Сообщить("Не удалось создать или изменить пользователя " + Имя + " для выгрузки информационной базы. " + ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 7555
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
Cообщение: "Не удалось удалить чеки ККМ!" 2
Пользователь с правами Администратор ККМ проводит Закрытие кассовой смены (Z). Выходит сообщение: " Не удалось удалить чеки ККМ!" ФР печатает Z -отчет, но Отчет о рознчничных продажах не формируется. Необходимо дать...
V82.COMConnector.1: Не найдена лицензия COM-соединением 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13....
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать...
ZIP-архив Чтение 0
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.