Имя: Пароль:
1C
1С v8
Создание пользователя в режиме 1С:Предприятие
0 farengeit2009
 
13.03.20
12:47
Подскажите, пожалуйста, как создать пользователя в режиме Предприятие. Версия 1С Предприятие 8.3.
1 Tatitutu
 
13.03.20
12:48
Программно или ручками
конфигурация какая ?
ты кто ?
2 farengeit2009
 
13.03.20
12:53
Ручками. Учебная конфигурация
3 Winnie Buh
 
13.03.20
13:52
(2) смотря какая именно учебная конфигурация, есть учебные конфы БП, УНФ, УТ
если это самописка с нуля, то только через конфигуратор
4 ejikbeznojek
 
13.03.20
13:53
Ну или добавить в конфигураторе возможность создавать пользователей из предприятия.
Скопипасть откуда-нибудь справочник пользователи и пару страниц кода.
5 Кодер
 
13.03.20
14:33
См. ограничения учебной версии.
6 farengeit2009
 
14.03.20
09:14
Хочу чтобы при создании в справочнике Пользователи нового элемента с конкретной ролью в реквитизите Роль и другими данными создавался пользователь в ИБ. Вот код:

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

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

КонецПроцедуры
Пишет поле Объект не найдено. Как правильно написать?
7 Aleksey
 
14.03.20
09:23
(6) что такое Объект и ТекущийОбъект?
8 farengeit2009
 
14.03.20
09:24
Забыл сказать, что в этой строке
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Объект.Роль);
9 farengeit2009
 
14.03.20
09:26
Объект - основной реквизит. ТекущийОбъект - форма, которая будет сохраняться
10 Garykom
 
гуру
14.03.20
09:29
(6) Телепаты в выходные спят еще. Этот код у тебя где расположен?
11 farengeit2009
 
14.03.20
09:32
(10) Код в форме элемента расположен
12 Волшебник
 
модератор
14.03.20
09:35
(8) надо так:
Метаданные.Роли.ИмяРоли
13 Волшебник
 
модератор
14.03.20
09:36
или так:
Метаданные.Роли[Объект.Роль];

кстати, пароли пользователей в учебной версии не поддерживаются
14 farengeit2009
 
14.03.20
09:37
(13) Версия уже неучебная))
15 Волшебник
 
модератор
14.03.20
09:38
(3) А ещё бывает учебная ERP :)
16 farengeit2009
 
14.03.20
09:40
Волшебник, спасибо. Теперь работает.
17 farengeit2009
 
15.03.20
10:21
Доброе утро всем. Подскажите, пожалуйста,
решение обратной задачи. Добавляется пользователь в ИБ в режиме конфигуратора. Нужно чтобы он добавился сразу в справочник
18 Фрэнки
 
15.03.20
10:24
(17) "При начале работы сеанса" - можно в обработчике этого события проверить наличие Пользователя в справочнике Пользователи и добавить при необходимости.
Есть методы ПользовательИБ
19 Фрэнки
 
15.03.20
10:32
Там есть специальный Модуль сеанса. Открой его от корня конфигурации. Находясь в модуле смотри на список преодпределенных обработчиков событий в этом модуле.
В списке событий увидишь ПриНачалеРаботыСистемы (выше я неверно описал что при начале работы сеанса)

https://its.1c.ru/db/bsp301doc/content/479/hdoc

А дальше прочти еще эту доку

https://its.1c.ru/db/v8std#content:413:hdoc
20 farengeit2009
 
15.03.20
10:36
понял, спасибо. попробую разобраться
21 farengeit2009
 
15.03.20
10:42
к сожалению нет доступа к ИТС...
22 Фрэнки
 
15.03.20
10:43
(21) там же бесплатная регистрация на 7 дней есть
23 farengeit2009
 
15.03.20
10:44
уже использована
24 Фрэнки
 
15.03.20
10:44
лишние ящики и получать по 7 дней на каждый новый ящик
25 Фрэнки
 
15.03.20
10:45
ну вот еще ссылка

https://helpf.pro/faq/view/948.html
26 farengeit2009
 
15.03.20
10:46
мысль)
27 Фрэнки
 
15.03.20
10:51
(26) а что в версии поставки, откуда взята была платформа, там готовой учебной конфигурации разве нет у тебя?
Может есть смысл скачать свежую версию для обучения программированию в том виде, как ее для установки под винду раздают?

https://uc1.1c.ru/uchebnaya-versiya-1s/
28 farengeit2009
 
15.03.20
10:53
Только немного не пойму - модуль сеанса выполняется при старте системы для инициализации параметров сеанса и обработки действий, связанных с сеансом работы. А в поставленной задаче Пользователь добавляется в список ИБ интерактивно и потом программно заносится в справочник.
29 Фрэнки
 
15.03.20
11:04
(28) не совсем "интерактивно" - у тебя в списке пользователей ИБ он уже есть. И в сеанс ты входишь как Пользователь. И непосредственно в процессе входа оказывается что?

Вход есть. Под Пользователем из ПользователиИнформационнойБазы . Параметр сеанса должен быть. А в справочнике Пользователи элемента нет.
30 farengeit2009
 
15.03.20
11:10
задача такая - заходишь в режим конфигуратор с правами доступа администратор или полными правами, заходишь на вкладку Администрирование и добавляем нового пользователя, а он автоматом заносится в любой созданный справочник, например, Пользователи.
31 Фрэнки
 
15.03.20
11:15
(30) нет. В режиме конфигуратора ты сможешь создать только в ПользователиИнформационнойБазы
А затем, уже при первом входе под этим выбранным из списка, нужно выполнить некий программный код, который создаст элемент в справочнике Пользователи.

Вот если под этим новым выбранным входить ни разу не будешь, а посмотришь на справочник Пользователи в другом сеансе, то нового элемента там не найдешь.
32 farengeit2009
 
15.03.20
11:53
Спасибо, Френки
33 farengeit2009
 
16.03.20
10:38
Подскажите, пожалуйста, как получить роль пользователя ИБ. Пользователь.Роль = ПользовательИБ.Роли выдает "Роли пользователя"
34 farengeit2009
 
16.03.20
10:46
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
    Для Каждого Пользователь  Из СписокПольЗователей Цикл
        ТекПользователь =  Справочники.Пользователи.НайтиПоНаименованию(Пользователь.Имя);
            Если ТекПользователь.Пустая() Тогда
            Создать =  Справочники.Пользователи.СоздатьЭлемент();
            Создать.Имя = Пользователь.Имя;
            Создать.ПолноеИмя = Пользователь.ПолноеИмя;
            //Создать.Пароль = Пользователь.Пароль;
            Создать.Роль = Пользователь.Роли;
            Создать.ПоказыватьВСписке = Пользователь.ПоказыватьВСпискеВыбора;
            Создать.Записать();
       КонецЕсли;
    КонецЦикла;
КонецПроцедуры
35 ejikbeznojek
 
16.03.20
13:49
Может быть
ТвояРоль=создать.роли.добавить();
ТвояРоль.Использование = истина;
ТвояРоль.Роль=НайдиНужнуюТебеРольВ_Метаданные.Роли)
36 farengeit2009
 
16.03.20
14:01
Роль уже создана в конфигурации ручками, поэтому не подойдёт
37 ejikbeznojek
 
16.03.20
14:06
(36) Ну ладно...хотя в этом коде роль не создаётся а добавляется в список ролей к твоему пользователю "создать"
Ошибка? Это не ошибка, это системная функция.