|
Создание пользователя в режиме 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
|
||||
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) Ну ладно...хотя в этом коде роль не создаётся а добавляется в список ролей к твоему пользователю "создать"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |