Как программно добавить пользователя в информационную базу?
---
```1c
    // Проверить наличие роли Администратор у нового пользователя.
    РольАдминистратор = Метаданные.Роли.Администратор;
    Если НовыйПользователь.Роли.Содержит(РольАдминистратор) Тогда
    Сообщить("Добавление пользователя с административными правами запрещено.");

    Иначе // у нового пользователя нет роли Администратор

    // Проверить, что текущий пользователь обладает правами Менеджера
    // или Администратора
    Если РольДоступна(РольАдминистратор) ИЛИ РольДоступна(Метаданные.Роли.Менеджер) Тогда

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

    НовыйПользователь.Записать();

    Иначе
    Сообщить("Недостаточно прав доступа для добавления пользователя.");
    КонецЕсли;
    КонецЕсли;
```
---
вот код из типовой бухии КЗ

```1c
    Функция ПроверитьПользователей(ИмяПользователя) Экспорт

    КоличествоПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей().Количество();

    Если КоличествоПользователей = 0 Тогда

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

    СтарыйПользователь = Ложь;
    Иначе
    СтарыйПользователь = Истина;
    КонецЕсли;

    Возврат СтарыйПользователь;

    КонецФункции
```
---
```1c
    // Проверить наличие роли Администратор у нового пользователя.
    РольАдминистратор = Метаданные.Роли.Администратор;
    Если НовыйПользователь.Роли.Содержит(РольАдминистратор) Тогда
    Сообщить("Добавление пользователя с административными правами запрещено.");

    Иначе // у нового пользователя нет роли Администратор

    // Проверить, что текущий пользователь обладает правами Менеджера
    // или Администратора
    Если РольДоступна(РольАдминистратор) ИЛИ РольДоступна(Метаданные.Роли.Менеджер) Тогда

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

    НовыйПользователь.Записать();

    Иначе
    Сообщить("Недостаточно прав доступа для добавления пользователя.");
    КонецЕсли;
    КонецЕсли;
```
---
shtern12, Мда...
---
deniseek77, приведенный выше код не работает?
---
mremin, Да, не! Все ОК!
---
```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Проверить наличие роли Администратор у нового пользователя.
    РольАдминистратор = Метаданные.Роли.Администратор;
    Если НовыйПользователь.Роли.Содержит(РольАдминистратор) Тогда
    Сообщить("Добавление пользователя с административными правами запрещено.");
```

выдает ошибку:
Форма.Форма.Форма(5,10)}: Переменная не определена (НовыйПользователь)
    Если <<?>>НовыйПользователь.Роли.Содержит(РольАдминистратор) Тогда (Проверка: Толстый клиент (обычное приложение))
---
Добрый день, подскажите как добавить текущего пользователя в графу ответственный документа поступление товаров при создании его программно вн обработкой. как например магазин
Пример:
НовДок.Дата = ТекущаяДата();
 НовДок.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Поступление");
 НовДок.Магазин = Справочники.Магазины.ПолучитьМагазинПоУмолчанию();
 НовДок.Склад = Справочники.Склады.НайтиПоНаименованию("Основной");
 НовДок.Ответственный = Справочники.Пользователи.???????????
 НовДок.Записать();
 Возврат НовДок.Ссылка;
---
ПараметрыСеанса.ТекущийПользователь