Доброго всем!
Есть задача: из УТ 10.3 по клику на ссылку запустить другую конфигурацию 1С (БП_3.0) под текущим пользователем.
Перед запуском подключится к БП по COM и проверить существует ли такой пользователь. Если не существует, то нужно создать его и присвоить определенные права. А потом запустить под ним (без открытия окна авторизации).
Проблема в создании этого нового пользователя. Пересмотрел массу примеров (например, тут, но все они какие-то пятиэтажные и не очень понятные; кроме того, подозреваю, там много лишнего для меня кода.
В общем, задача вроде простая, но опыта работы с новыми конфигурациями мало, а там все как-то сложнее...
---
grum01, см. вложение

Сама обработка на упр. формах, но БП 3 нет, так что проверял на УТ 10.
---
grum01, как-то так:

```1c
    НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
    НовыйПользователь.Имя = "Имя";
    НовыйПользователь.ПолноеИмя = "Фамилия Имя Отчество";
    НовыйПользователь.АутентификацияСтандартная = Истина;
    НовыйПользователь.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Администратор;
    НовыйПользователь.Пароль = "пароль";
    НовыйПользователь.Роли.Добавить(Метаданные.Роли["Название роли"]);
    НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
    НовыйПользователь.Язык = Метаданные.Языки.Русский;
    НовыйПользователь.Записать();
```
---
Этот код создаст пользователя ИБ; но в базу под ним не пустит. В старых версиях такое работало, в новых - нет.
Нужно создать элемент справочника "Пользователи" и там все установить.
---
grum01, см. вложение

Сама обработка на упр. формах, но БП 3 нет, так что проверял на УТ 10.
---
код симпатишный.
сейчас проверю на пригодность.
я писал очень похожее - не получалось.
---
Слушай, заработало!
Блин, у меня был почти такой же код - не работало. Разница только в строке "спр.ОбменДанными.Загрузка = Истина" - у меня ее не было.
Спасибо!

И еще интересный факт - в справочнике "Пользователи" новые пользователи, добавленные этим кодом, не отображаются. Есть только ПользователиИБ.
---
Нужно будет создать 3го пользователя для базы БП, который будет первым запускаться и делать проверку на существование нужного вам пользователя. Плюс соответствие паролей в УТ и БП.
Код приведенный в нужных примерах относительно хороший.
Напишите упр форму обработки, куда параметрами передадите имя пользователя, его пароль. Оттестируйте обработку, а потом открывайте ее через ком коннектор.
---
Ну и естественно это нужно делать в той базе.
---
Есть обработка "Выгрузка/загрузка пользователей". Она выгружает пользователей вместе с хешем пароля и правами в xml-файл, потом грузит из него…
Можно посмотреть, как это делается и что-то повторить.
Вопрос в другом. С какими правами вы собираетесь заводить пользователя в БП? С полными? Если нет, как трансформировать права пользователя УТ в права пользователя БП?
Следующий вопрос, как часто нужна эта операция? У вас 10000 пользователей? Может исходную проблему лучше решать иным способом - без заведения пользователя в БП? Или десяток пользователей перенести одноразово?…
---
В БП есть предопределенные роли. Нужно присвоить одну из них.
Права УТ не влияют ни на что. Всех пользователей в БП нужно создать и присвоить им одинаковую роль.
Не надо заморачиваться "для чего" - есть свои предпосылки. Это может быть база и не БП.
Нужен просто механизм (код) для этого безобразия.
---
grum01, таки посмотрите Процедура ДобавитьПользователявБазы() в модуле формы (6), там создание пользователя в БУХ 3.0 через com-коннектор со справочниками, ролями, правами.
---
Посмотрите тут: https://mega.nz/#!eZ1XGBjb!vxHUszayMOABTgzEIy1dRF1Hgp804tw6N1EJwZVV0kE, источник: https://habrahabr.ru/company/knopka/blog/225027/
"Из коробки" не заработает - жёстко привязана к списку баз в текстовом файле на диске X: - так что "выпиливать" и "допиливать".
---
ВСЕМ
Мне не нужно передавать пароли, я их сам создам при создании пользователя. Или вообще без пароля оставлю. Не в этом соль.
Не могу создать пользователя через COM; вернее заполнить все нужные поля, проставить роли. Даже "Вход в программу разрешен" не могу установить.
---
Апдейт.
Откопал бухию, на ней тоже все ок. Главное - нужные галочки в ролях проставить.
И строчку

```1c
    спр.Код = ИмяПользователя;
```

закомментировать.
---
Посмотрите как у меня реализовано Запуск 1С под Другим Пользователем
---
интересно, но не по теме.
мне не нужно запускать от другого пользователя - с этим как раз проблем нет.
нужно создать несуществующего.