Как получить пользователя иб в 1с
Здравствуйте.
Создал справочник пользователи. Какие основные действия нужно сделать чтоб связать его со справочник пользователи ИБ.
1) При записи(удалении) в справочник, проверять наличие пользователя в справочнике ПользователиИБ.
2) Сделаит связь между ними через реквизит.
Что еще может понадобиться?
Во всех типовых практически так сделано
Связь: код справочника = имя пользователя ИБ.
(1) в УНФ мудренно конечно. В форме элемента справочника только 1600 строк.
Ребят пособите.
При создании Пользователя он также создается в ПользователиИБ.
При удалении как правильно удалить его?
ПользовательИБ.Удалить();
Процедура ПриЗаписи(Отказ)
// Проверяем новый объект или нет
Если Не ЭтотОбъект.Ссылка.Пустая() Тогда
//Создадим пользователя в справочнике ПользователиИБ
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ЭтотОбъект.Наименование;
ПользовательИБ.ПолноеИмя = ЭтотОбъект.Наименование;
ПользовательИБ.АутентификацияОС = Истина;
//ПользовательИБ.ПользовательОС = ПользовательОС;
//ПользовательИБ.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Полный;
ПользовательИБ.Роли.Добавить(Метаданные.Роли.АптекаКлиент);
ПользовательИБ.Записать();
ЭтотОбъект.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор;
КонецЕсли
КонецПроцедуры
Процедура ПередУдалением(Отказ)
// Вставить содержимое обработчика.
ПользовательИБ.Удалить(3);
КонецПроцедуры
Надо бы сначала НайтиПоИмени (FindByName) например.
(5) упс ссори не додумался.
Только вот у Справочника есть только методы Найти и НайтиСтроки.
в первом случае в метод передается значение, во втором структура.
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
Методы:
НайтиПоИмени (FindByName)
НайтиПоУникальномуИдентификатору (FindByUUID)
ПолучитьПользователей (GetUsers)
СоздатьПользователя (CreateUser)
ТекущийПользователь (CurrentUser)
Предназначен для работы со списком пользователей информационной базы.
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
См. также:
Пользователи информационной базы
Список предназначен для удобства согласования пользователей ИБ в Конфигураторе со списками Пользователи и Внешние пользователи.
Список можно открыть по команде Еще — Пользователи информационной базы в меню списка пользователей (или внешних пользователей).
При записи пользователя (или внешнего пользователя) вместе с ним автоматически создается или изменяется соответствующий ему пользователь ИБ. Однако есть ряд ситуаций, когда список пользователей ИБ становится несогласованным со списком пользователей. Тогда с помощью данного списка могут быть решены следующие задачи:
- Найти «некорректных» (несопоставленных) пользователей ИБ:
- Программа автоматически сопоставляет пользователей ИБ и пользователей в списках.
- По результатам автоматического сопоставления пользователи ИБ становятся неактивными (выделяются серым цветом), если пользователи в программе были добавлены, изменены или удалены с помощью конфигуратора.
- Красным шрифтом выделены пользователи ИБ, не сопоставленные с пользователями в списках программы.
- если пользователь ИБ был добавлен с помощью конфигуратора (или каким-либо нештатным программным способом), предлагается сопоставить такого пользователя ИБ с пользователем в списке или Удалить;
- если пользователь ИБ был удален с помощью конфигуратора (или каким-либо нештатным программным способом), но при этом осталась ссылка на него из пользователя в списке, предлагается открыть пользователя в списке и перезаписать его, для того чтобы очистить эту ссылку (или обновить эту ссылку путем создания нового пользователя ИБ);
- если полное имя пользователя ИБ было изменено с помощью конфигуратора (или каким-либо нештатным программным способом), нужно открыть карточку пользователя и перезаписать ее, для того чтобы восстановить полное имя пользователя ИБ:
- В этом случае в карточке пользователя появляется предупреждение о необходимости устранения отличий и под ним две кнопки:
- Заполнить из пользователя ИБ — в этом случае в поле Полное имя пользователя помещается его измененное имя из списка Пользователи информационной базы;
- Записать — в этом случае в список Пользователи информационной базы записывается полное имя из карточки пользователя.
В списке выводятся сведения:
Полное имя — полное имя пользователя ИБ (при рассогласовании может не совпадать с полным именем пользователя в списке Пользователи (Внешние пользователи);
Имя (для входа) — при рассогласовании может не совпадать с именем для входа в списке Пользователи (Внешние Пользователи)
Аутентификация 1С — принимает значение «Да», если для пользователя включена аутентификация ОС;
Аутентификация OpenID — принимает значение «Да», если для пользователя включена аутентификация OpenID;
Аутентификация ОС — принимает значение «Да», если для пользователя включена аутентификация ОС.
Дополнительно выводится (по команде Еще — Изменить форму):
Пользователь ОС — имя, с которым пользователь входит в ОС, и которое используется для входа в программу в случае, если аутентификация ОС включена.
Сопоставлен с внешним пользователем — принимает значение «Да», если это внешний пользователь программы;
Добавлен в конфигураторе — принимает значение «Да» или остается пустым, если значение поля Ложь;
Изменен в конфигураторе — принимает значение «Да» или остается пустым, если значение поля Ложь;
Удален в конфигураторе — принимает значение «Да» или остается пустым, если значение поля Ложь.Просмотр проблемных записей или всего списка
Включите флажок Показать только добавленные, измененные или удаленные с помощью конфигуратора, для того чтобы увидеть только несопоставленные записи, требующие вмешательства. При отключенном флажке показывается весь список пользователей ИБ.
Сопоставление пользователей
Для согласования списков предусмотрены следующие возможности:
Сопоставить — можно вручную сопоставить пользователя ИБ с существующим в программе пользователем, для этого:
выберите для сопоставления значение Пользователь или Внешний пользователь, нажмите ОК.
выберите пользователя из соответствующего списка двойным щелчком мыши или выделив его и нажав Выбрать.
в открывшемся окне Пользователь (Внешний пользователь) внесите необходимые исправления, нажмите Записать и закрыть. После этого сопоставление данных пользователя в двух списках будет восстановлено.
Сопоставить с новым — можно вручную сопоставить с пользователем ИБ, введя нового пользователя, для этого:
выберите для сопоставления значение Пользователь или Внешний пользователь, нажмите ОК.
введите нового пользователя (внешнего пользователя) программы. После записи данных сопоставление данных пользователя в двух списках будет восстановлено.
Отменить сопоставление — можно отменить автоматическое сопоставление пользователей ИБ и пользователей списков программы для того чтобы сопоставить пользователей вручную. Отмена сопоставления требуется крайне редко — только если сопоставление было выполнено некорректно, например, при обновлении информационной базы, поэтому не рекомендуется отменять сопоставление по любой другой причине.
Просмотр сопоставленного пользователя
Выделите пользователя ИБ. Выполните команду Перейти к пользователю меню Еще или контекстного меню по правой кнопке мыши, для того чтобы открыть пользователя программы (внешнего пользователя), сопоставленного пользователю ИБ.
См. также:
Получить пользователя ИБ
1С:Предприятие 8.2 (8.2.12.96)
Клиент-серверный вариант, самописная конфа, обычное приложение
Есть некая сторонняя БД SQL, в одной из таблиц которой есть поле, где хранится УИН пользователя 1С, выполнившего запись.
Получаю имя пользователя:ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(УИД)).Имя;
Но если текущий пользователь не имеет админских прав, то выполнение данной операции не возможно, так как
В случае, если пользователь имеет административные права, то допускается поиск любого пользователя. Если пользователь не имеет административных прав, то по уникальному идентификатору допускается поиск только того пользователя, под которым данный пользователь авторизовался.
Как можно получить альтернативно список пользователей?
Я предположил, что можно сделать получение пользователя на сервере и передавать его имя клиенту, но не получается никак.
#Если НаКлиенте Тогда
Функция ВернутьИмяПользователя(УИД)
Возврат ВернутьПользователя(УИД);
КонецФункции
#КонецЕсли#Если НаСервере Тогда
Функция ВернутьПользователя(УИД) Экспорт
Возврат ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору( Новый УникальныйИдентификатор(УИД)).Имя;
КонецФункции
#КонецЕсли1С 8.3 Пользователи, роли (права) доступа — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С
Пользователи в 1С 8.3 – это учётные записи сотрудников предприятия, которые используются для аутентификации в конкретной информационной базе с помощью пароля (может быть пустым). Администратор системы, с помощью учетных записей пользователей разграничивает роли (права доступа) к определённым объектам конфигурации в соответствии с их должностными обязанностями и политикой организации .
При вводе нового пользователя через Конфигуратор 1С, заполняются следующие признаки и поля:
- Имя и Полное имя — соответственно наименование и полное наименование пользователя информационной базы. При активации признака Аутентификация 1С: Предприятия, становятся доступен для входа в 1С. Пользователю запрещено изменять пароль (делает доступным возможность смены пароля пользователем в пользовательском режиме), Показывать в списке выбора (делает доступным выбор пользователя в списке, в противном случае имя пользователя необходимо вводить вручную).
- Аутентификация операционной системы — этот признак включает возможность авторизации с помощью имени пользователя операционной системы. Где «Пользователь» — это имя пользователя информационной системы (например, \\domain\artur.k, где domain — домен сети, а artur.k –это имя пользователя ОС). При старте сеанса 1С сначала проверяет авторизацию через ОС, а уже потом авторизацию 1С.
- Аутентификация OpenID — это включение возможности авторизации с помощью технологии OpenID (система, позволяющая пользователю использовать единую учётную запись для аутентификации на множестве не связанных друг с другом программ, сайтов, соц.сетей).
Оглавление:

✔ Создать, удалить пользователя, вывести список
Создать, удалить пользователя, вывести список пользователей в 1С 8.3:
ПользовательИБ = ПользователиИнформационнойБазы . СоздатьПользователя ();
ПользовательИБ . Имя = «Лев Толстой» ;
ПользовательИБ . Пароль = «Wp1865» ;
ПользовательИБ . ПоказыватьВСпискеВыбора = Истина;
ПользовательИБ . Роли . Добавить ( Метаданные . Роли . АдминистраторСистемы );
ПользовательИБ . ОсновнойИнтерфейс = Метаданные . Интерфейсы . Основной ;
ПользовательИБ . Записать ();ПользовательИБ = ПользователиИнформационнойБазы . НайтиПоИмени ( «Лев Толстой» );
ПользовательИБ . Удалить ();//ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
//ПользовательИБ.Удалить();СписокПользователей = ПользователиИнформационнойБазы . ПолучитьПользователей ();
Для Каждого ПользовательИБ Из СписокПользователей Цикл
Сообщить ( ПользовательИБ );
КонецЦикла;// см. получение юзеров из справочника: https://1cnik.by/poluchit_spisok_dejstvujuschih_polzovatelej.php
КонецПроцедуры
Блокировка работы пользователя в 1С 8.3:
&НаКлиенте
Процедура БлокировкаРаботыПользователя ( Команда )Получение имени текущего пользователя в 1С 8.3:
&НаКлиенте
Процедура ПолучениеИмениТекущегоПользователя ( Команда )Полученное_Имя = ИмяПользователя (); // Морозов А.И.
Полученное_Имя_Полное = ПолноеИмяПользователя (); // Морозов Александр ИвановичЧтение и проверка прав и ролей пользователей в 1С 8.3:
&НаСервере
Процедура ЧтениеИПроверкаПравИРолейПользователей () // Варианты прав: Чтение, Изменение, Добавление, Удаление, Проведение// Чтение права к объекту метаданных у текущего пользователя
Если ПравоДоступа ( «Изменение» , Метаданные . Справочники . Материалы ) Тогда
Сообщить ( «Доступ к справочнику Материалы на изменение открыт!» );
КонецЕсли;// Чтение права к объекту метаданных у определенной роли
Если Не ПравоДоступа ( «Удаление» , Метаданные . Справочники . Материалы , Метаданные . Роли . Менеджер ) Тогда
Сообщить ( «У роли Менеджер нет прав на удаление в справочнике Материалы!» );
КонецЕсли;// Проверка права к объекту метаданных у других пользователей
ВсеПользователи = ПользователиИнформационнойБазы . ПолучитьПользователей ();
Для Каждого Пользователь Из ВсеПользователи Цикл
Если ПравоДоступа ( «Изменение» , Метаданные . Справочники . Материалы , Пользователь ) Тогда
Сообщить ( «Доступ для » + Пользователь . Имя + » на изменение открыт!» );
КонецЕсли;
КонецЦикла;// Чтение роли у текущего пользователя
Если РольДоступна ( «Администратор» ) Тогда
Сообщить ( «У Вас права Администратора!» );
КонецЕсли;// Проверка права у пользователя и в случае его отсутствия — вызов исключения
ВыполнитьПроверкуПравДоступа ( «Изменение» , Метаданные . Справочники . Материалы ); // «Нарушение прав доступа!»Сохранение, чтение и удаление настроек пользователя в 1С 8.3:
&НаСервере
Процедура СохранениеЧтениеУдалениеНастроекПользователя ()// Сохранение произвольных настроек конкретного пользователя
НастройкиПользователя = Новый Структура ;
НастройкиПользователя . Вставить ( «Фамилия» , «Дарк» );
НастройкиПользователя . Вставить ( «Имя» , «Жанна» );
НастройкиПользователя . Вставить ( «Пол» , «Ж» );
НастройкиПользователя . Вставить ( «Возраст» , 19 );// Параметры: Ключ объекта, Ключ настроек, Настройки, Описание настроек, Владелец настроек,
ХранилищеОбщихНастроек . Сохранить ( «Отчет.ОСВ» , «КлючНастроек» , НастройкиПользователя , , ИмяПользователя ());// Сохранение произвольных настроек для всех пользователей
ВсеПользователи = ПользователиИнформационнойБазы . ПолучитьПользователей ();
Для Каждого Пользователь Из ВсеПользователи Цикл
ХранилищеОбщихНастроек . Сохранить ( «Отчет.ОСВ» , «КлючНастроек» , НастройкиПользователя , , Пользователь . Имя );
КонецЦикла;// Чтение сохраненных настроек пользователя
ЧтениеНастроек = Неопределено;
Попытка
ЧтениеНастроек = ХранилищеОбщихНастроек . Загрузить ( «Отчет.ОСВ» , «КлючНастроек» ,, ИмяПользователя ());
Исключение
Сообщить ( «Не достаточно прав доступа к настройкам пользователя: » + ИмяПользователя ());
КонецПопытки;Если ЧтениеНастроек = Неопределено Тогда // Значит настроек нет
Сообщить ( «Не получилось прочитать настройки.» );
Иначе // Чтение настроек
Сообщить ( «Имя:» + ЧтениеНастроек . Имя + «; Фамилия:» + ЧтениеНастроек . Фамилия +
«; Пол:» + ЧтениеНастроек . Пол + «; Возраст:» + ЧтениеНастроек . Возраст );
КонецЕсли;// Удаление сохраненных настроек пользователя
ХранилищеОбщихНастроек . Удалить ( «Отчет.ОСВ» , «КлючНастроек» , ИмяПользователя ());// Удаление сохраненных настроек у всех пользователей
ХранилищеОбщихНастроек . Удалить ( «Отчет.ОСВ» , «КлючНастроек» , Неопределено);
- В этом случае в карточке пользователя появляется предупреждение о необходимости устранения отличий и под ним две кнопки: