---
title: Пользователи
slug: bsp/пользователи
---


## АвторизованныйПользователь
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает текущего пользователя или текущего внешнего пользователя,
// в зависимости от того, кто выполнил вход в сеанс.
//  Рекомендуется использовать в коде, который поддерживает работу в обоих случаях.
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - пользователь
//    или внешний пользователь.
//
Функция АвторизованныйПользователь() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.АвторизованныйПользователь() 
```
</details>

## ТекущийПользователь
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает текущего пользователя.
//  Рекомендуется использовать в коде, который не поддерживает работу с внешними пользователями.
//
//  Если вход в сеанс выполнил внешний пользователь, тогда будет вызвано исключение.
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи - пользователь.
//
Функция ТекущийПользователь() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ТекущийПользователь() 
```
</details>

## ЭтоСеансВнешнегоПользователя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если вход в сеанс выполнил внешний пользователь.
//
// Возвращаемое значение:
//  Булево - Истина, если вход в сеанс выполнил внешний пользователь.
//
Функция ЭтоСеансВнешнегоПользователя() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ЭтоСеансВнешнегоПользователя() 
```
</details>

## ЭтоПолноправныйПользователь
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет, является ли текущий или указанный пользователь полноправным.
//
// Полноправным считается пользователь, который:
// а) при непустом списке пользователей информационной базы
//    имеет роль ПолныеПрава и роль для администрирования системы (если ПроверятьПраваАдминистрированияСистемы = Истина);
// б) при пустом списке пользователей информационной базы
//    основная роль конфигурации не задана или ПолныеПрава.
//
// Параметры:
//  Пользователь - Неопределено - проверяется текущий пользователь ИБ.
//               - СправочникСсылка.Пользователи
//               - СправочникСсылка.ВнешниеПользователи - осуществляется
//                    поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите
//                    ИдентификаторПользователяИБ. Если пользователь ИБ не существует, возвращается Ложь.
//               - ПользовательИнформационнойБазы - проверяется указанный пользователь ИБ.
//
//  ПроверятьПраваАдминистрированияСистемы - Булево - если задано Истина, тогда проверяется наличие
//                 роли для администрирования системы.
//
//  УчитыватьПривилегированныйРежим - Булево - если задано Истина, тогда для текущего пользователя
//                 функция возвращает Истина, когда установлен привилегированный режим.
//
// Возвращаемое значение:
//  Булево - если Истина, пользователь является полноправным.
//
Функция ЭтоПолноправныйПользователь(Пользователь = Неопределено, Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ЭтоПолноправныйПользователь(Пользователь, );
```
</details>

## РолиДоступны
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает доступность хотя бы одной из указанных ролей или полноправность
// пользователя (текущего или указанного).
//
// Параметры:
//  ИменаРолей   - Строка - имена ролей, разделенные запятыми, доступность которых проверяется.
//
//  Пользователь - Неопределено - проверяется текущий пользователь ИБ.
//               - СправочникСсылка.Пользователи
//               - СправочникСсылка.ВнешниеПользователи - осуществляется
//                    поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите.
//                    ИдентификаторПользователяИБ. Если пользователь ИБ не существует, возвращается Ложь.
//               - ПользовательИнформационнойБазы - проверяется указанный пользователь ИБ.
//
//  УчитыватьПривилегированныйРежим - Булево - если задано Истина, тогда для текущего пользователя
//                 функция возвращает Истина, когда установлен привилегированный режим.
//
// Возвращаемое значение:
//  Булево - Истина, если хотя бы одна из указанных ролей доступна
//           или функция ЭтоПолноправныйПользователь(Пользователь) возвращает Истина.
//
Функция РолиДоступны(ИменаРолей, Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.РолиДоступны(ИменаРолей, );
```
</details>

## ВходВПрограммуРазрешен
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет наличие хотя бы одного вида аутентификации у пользователя ИБ.
// Поддерживается вызов из сеанса без установленных разделителей (без обращения к базе данных),
// если параметр ОписаниеПользователяИБ имеет тип ПользовательИнформационнойБазы или Структура.
//
// Параметры:
//  ОписаниеПользователяИБ - УникальныйИдентификатор - идентификатор пользователя ИБ.
//                         - Структура - содержит свойства аутентификации:
//                             * АутентификацияСтандартная    - Булево - аутентификация 1С:Предприятия.
//                             * АутентификацияОС             - Булево - аутентификация операционной системы.
//                             * АутентификацияOpenID         - Булево - аутентификация OpenID.
//                             * АутентификацияOpenIDConnect  - Булево - аутентификация OpenID-Connect.
//                             * АутентификацияТокеномДоступа - Булево - аутентификация JWT-токеном.
//                         - ПользовательИнформационнойБазы       - пользователь ИБ.
//                         - СправочникСсылка.Пользователи        - пользователь.
//                         - СправочникСсылка.ВнешниеПользователи - внешний пользователь.
//
// Возвращаемое значение:
//  Булево - Истина, если хотя бы одно свойство аутентификации равно Истина.
//
Функция ВходВПрограммуРазрешен(ОписаниеПользователяИБ) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ВходВПрограммуРазрешен(ОписаниеПользователяИБ) 
```
</details>

## ЕстьПраваДляВходаВПрограмму
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет, что у пользователя ИБ есть права для входа в программу интерактивно или через COM-объект.
// Поддерживается вызов из сеанса без установленных разделителей (без обращения к базе данных).
//
// Параметры:
//  ПользовательИБ      - ПользовательИнформационнойБазы
//  Интерактивно        - Булево - когда Истина, тогда не учитываются права,
//                          например, ВнешнееСоединение, Automation.
//  ТолькоПраваНаЗапуск - Булево - если Истина, тогда проверяется только наличие прав на запуск,
//                          если Ложь, тогда проверяться еще и наличие минимальных прав для входа.
//
// Возвращаемое значение:
//  Булево
//
Функция ЕстьПраваДляВходаВПрограмму(ПользовательИБ, Интерактивно = Истина, ТолькоПраваНаЗапуск = Истина) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ, Интерактивно, ТолькоПраваНаЗапуск);
```
</details>

## АвторизоватьТекущегоПользователяПриВходе
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Следует вызывать в начале процедур HTTP-сервисов, веб-сервисов, com-соединений,
// если они используются для удаленного подключения обычных пользователей,
// чтобы обеспечить контроль ограничений на вход (по дате, по активности и т.д.),
// обновить дату последнего входа, а также сразу заполнить параметры сеанса
// АвторизованныйПользователь, ТекущийПользователь, ТекущийВнешнийПользователь.
//
// Процедура вызывается автоматически только при интерактивном входе,
// то есть когда ТекущийРежимЗапуска() <> Неопределено.
//
// Параметры:
//  ВызыватьИсключение - Булево - вызывать исключение в случае ошибки авторизации,
//                                в противном случае возвращать текст ошибки.
// Возвращаемое значение:
//  Структура:
//   * ОшибкаАвторизации      - Строка - текст ошибки, если заполнено.
//   * ТребуетсяСменитьПароль - Булево - если Истина, тогда это ошибка устаревания пароля.
//
Функция АвторизоватьТекущегоПользователяПриВходе(ВызыватьИсключение = Истина) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.АвторизоватьТекущегоПользователяПриВходе(ВызыватьИсключение);
```
</details>

## ФизическоеЛицоИспользуется
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если определяемый тип ФизическоеЛицо содержит
// тип отличный от Строка и в процедуре ПриОпределенииНастроек
// общего модуля ПользователиПереопределяемый настроено
// использовать реквизит ФизическоеЛицо.
//
// Возвращаемое значение:
//  Булево
//
Функция ФизическоеЛицоИспользуется() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ФизическоеЛицоИспользуется() 
```
</details>

## ПодразделениеИспользуется
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если определяемый тип Подразделение содержит
// тип отличный от Строка и в процедуре ПриОпределенииНастроек
// общего модуля ПользователиПереопределяемый настроено
// использовать реквизит Подразделение.
//
// Возвращаемое значение:
//  Булево
//
Функция ПодразделениеИспользуется() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ПодразделениеИспользуется() 
```
</details>

## СформироватьДанныеВыбораПользователя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает список пользователей, групп пользователей, внешних пользователей и
// групп внешних пользователей.
// Для использования в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор.
//
// Параметры:
//  Текст         - Строка - символы, введенные пользователем.
//
//  ВключаяГруппы - Булево - если Истина, включать группы пользователей и внешних пользователей.
//                  Если ФО ИспользоватьГруппыПользователей отключена, параметр игнорируется.
//
//  ВключаяВнешнихПользователей - Неопределено
//                              - Булево - когда Неопределено, используется значение,
//                  возвращаемое функцией ВнешниеПользователи.ИспользоватьВнешнихПользователей.
//
//  БезПользователей - Булево - если Истина, то элементы справочника Пользователи
//                  исключаются из результата.
//
// Возвращаемое значение:
//  СписокЗначений
//
Функция СформироватьДанныеВыбораПользователя(Знач Текст, Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СформироватьДанныеВыбораПользователя(Текст, );
```
</details>

## ЗаполнитьНомераКартинокПользователей
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Заполняет номера картинок пользователей, групп пользователей, внешних пользователей и групп внешних пользователей
// во всех строках или указанной (см. параметр ИдентификаторСтроки) строке коллекции ТаблицаИлиДерево.
//
// Параметры:
//  ТаблицаИлиДерево      - ДанныеФормыКоллекция
//                        - ДанныеФормыДерево - коллекция для заполнения.
//  ИмяПоляПользователь   - Строка - имя колонки в коллекции ТаблицаИлиДерево, содержащей ссылку на пользователя,
//                                   группу пользователей, внешнего пользователя или группу внешних пользователей.
//                                   По ее значению вычисляется номер картинки.
//  ИмяПоляНомераКартинки - Строка - имя колонки в коллекции ТаблицаИлиДерево с номером картинки,
//                                   которое требуется заполнить.
//  ИдентификаторСтроки  - Неопределено
//                       - Число - идентификатор строки (не порядковый номер), которую требуется
//                                 заполнить (у дерева также будут заполнены и дочерние строки),
//                                 если Неопределено, то картинки будут заполнены во всех строках.
//  ОбработатьИерархиюВторогоИТретьегоУровней - Булево - если Истина и в параметре ТаблицаИлиДерево указана
//                                 коллекция типа ДанныеФормыДерево, то
//                                 будут заполнены поля по четвертый уровень дерева включительно,
//                                 иначе будут заполнены поля только на первом и втором уровне дерева.
//
Процедура ЗаполнитьНомераКартинокПользователей(Знач ТаблицаИлиДерево, Экспорт
```

Пример вызова
```bsl
Пользователи.ЗаполнитьНомераКартинокПользователей(ТаблицаИлиДерево, );
```
</details>

## СоздатьАдминистратора
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Используется при обновлении и начальном заполнении информационной базы.
// 1) Создает первого администратора и сопоставляет его с новым или существующим
//    пользователем в справочнике Пользователи.
// 2) Сопоставляет администратора, указанного в параметре ПользовательИБ, с новым или
//    существующим пользователем в справочнике Пользователи.
//
// Параметры:
//  ПользовательИБ - Неопределено - создать первого администратора, если не существует.
//                 - ПользовательИнформационнойБазы - используется, когда нужно сопоставить
//                   существующего администратора с новым или существующим пользователем
//                   в справочнике Пользователи.
//
// Возвращаемое значение:
//  Неопределено                  - первый администратор уже существует.
//  СправочникСсылка.Пользователи - пользователь в справочнике, с которым сопоставлен созданный
//                                  первый администратор или указанный существующий.
//
Функция СоздатьАдминистратора(ПользовательИБ = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СоздатьАдминистратора(ПользовательИБ);
```
</details>

## ПриНаличииГруппПользователейУстановитьИспользование
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает константу ИспользоватьГруппыПользователей в Истина,
// если существует хотя бы одна группа пользователей в справочнике.
//
// Используется при обновлении информационной базы.
//
Процедура ПриНаличииГруппПользователейУстановитьИспользование() Экспорт
```

Пример вызова
```bsl
Пользователи.ПриНаличииГруппПользователейУстановитьИспользование() 
```
</details>

## ГруппаВсеПользователи
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает ссылку на стандартную группу пользователей ВсеПользователи.
//
// Возвращаемое значение:
//  СправочникСсылка.ГруппыПользователей
//
Функция ГруппаВсеПользователи() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ГруппаВсеПользователи() 
```
</details>

## ПолноеИмяНеуказанногоПользователя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает текстовое представление "<Не указан>" для случаев, когда пользователь не указан или не выбран.
// См. также Пользователи.СсылкаНеуказанногоПользователя.
//
// Возвращаемое значение:
//   Строка
//
Функция ПолноеИмяНеуказанногоПользователя() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ПолноеИмяНеуказанногоПользователя() 
```
</details>

## СсылкаНеуказанногоПользователя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает ссылку неуказанного пользователя.
// См. также Пользователи.ПолноеИмяНеуказанногоПользователя.
//
// Параметры:
//  СоздатьЕслиНеСуществует - Булево - если Истина, то будет создан пользователь "<Не указан>".
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи
//  Неопределено - если неуказанный пользователь не существует в справочнике.
//
Функция СсылкаНеуказанногоПользователя(СоздатьЕслиНеСуществует = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СсылкаНеуказанногоПользователя(СоздатьЕслиНеСуществует);
```
</details>

## ПользовательИБЗанят
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет, сопоставлен ли пользователь ИБ с элементом справочника Пользователи или
// с элементом справочника ВнешниеПользователи.
//
// Параметры:
//  ПользовательИБ - Строка - имя пользователя ИБ.
//                 - УникальныйИдентификатор - уникальный идентификатор пользователя ИБ.
//                 - ПользовательИнформационнойБазы
//
//  УчетнаяЗапись  - ПользовательИнформационнойБазы - возвращаемое значение.
//
// Возвращаемое значение:
//  Булево - Истина, если пользователь ИБ существует и его идентификатор
//   используется либо в справочнике Пользователи, либо в справочнике ВнешниеПользователи.
//
Функция ПользовательИБЗанят(ПользовательИБ, УчетнаяЗапись = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ПользовательИБЗанят(ПользовательИБ, УчетнаяЗапись);
```
</details>

## НовоеОписаниеПользователяИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пустую структуру описания пользователя ИБ.
// Назначение свойств структуры соответствует свойствам объекта ПользовательИнформационнойБазы.
//
// Параметры:
//  ДляУстановки - Булево - начальное значение Истина.
//    Когда Ложь, возвращаются значения свойств для нового пользователя ИБ.
//    Когда Истина, тогда свойства структуры заполняются значением Неопределено, чтобы не изменять лишние свойства
//    объекта ПользовательИнформационнойБазы при вызове процедуры УстановитьСвойстваПользователяИБ.
//  ДляСлужебногоПользователя - Булево - начальное значение Ложь.
//    Когда ДляУстановки = Истина И ДляСлужебногоПользователя = Истина, тогда часть свойств инициализируется
//    значениями, которые являются обычными для служебного пользователя: свойства аутентификации
//    заполняются значениями Ложь, свойству Роли устанавливается пустой массив, включается запрет
//    изменения и восстановления пароля, отключается отображение в списке выбора.
//    Кроме того, свойство ПарольУстановлен устанавливается Ложь (смотри СлужебныйПользователиИБ).
//
// Возвращаемое значение:
//  Структура:
//   * УникальныйИдентификатор   - УникальныйИдентификатор - уникальный идентификатор пользователя ИБ.
//                                 Пустой идентификатор после инициализации, непустой после успешного чтения.
//   * Имя                       - Строка - имя пользователя информационной базы. Например, "Иванов".
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * ПолноеИмя                 - Строка - полное имя пользователя информационной базы.
//                                   Например, "Иванов Иван Иванович (менеджер по продажам)".
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * АдресЭлектроннойПочты     - Строка - адрес электронной почты (например, для восстановления пароля).
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//
//   * АутентификацияСтандартная      - Булево - разрешена ли стандартная аутентификация (по пользователю и паролю).
//                                    - Неопределено - означает не менять свойство при установке набора свойств.
//   * ПоказыватьВСпискеВыбора        - Булево - показывать ли полное имя пользователя в списке для выбора при запуске.
//   * Пароль                         - Строка - пароль, используемый при стандартной аутентификации.
//                                    - Неопределено - значение после чтения и при инициализации, также означает
//                                        не менять свойство при установке набора свойств.
//   * СохраняемоеЗначениеПароля      - Строка - хранимое значение пароля (хеш).
//                                    - Неопределено - означает не менять свойство при установке набора свойств.
//   * ПарольУстановлен               - Булево - после чтения означает установлен ли пароль у пользователя,
//                                      при установке набора свойств не учитывается.
//                                    - Неопределено - значение при инициализации.
//   * ЗапрещеноИзменятьПароль        - Булево - определяет возможность пользователя изменять свой пароль.
//                                    - Неопределено - означает не менять свойство при установке набора свойств.
//   * ЗапрещеноВосстанавливатьПароль - Булево - определяет возможность пользователя восстанавливать свой пароль.
//                                    - Неопределено - означает не менять свойство при установке набора свойств.
//
//   * АутентификацияOpenID         - Булево - разрешена ли аутентификация по протоколу OpenID.
//                                  - Неопределено - означает не менять свойство при установке набора свойств.
//   * АутентификацияOpenIDConnect  - Булево - разрешена ли аутентификация по протоколу OpenID-Connect.
//                                  - Неопределено - означает не менять свойство при установке набора свойств.
//   * АутентификацияТокеномДоступа - Булево - разрешена ли аутентификация JWT-токеном.
//                                  - Неопределено - означает не менять свойство при установке набора свойств.
//
//   * АутентификацияОС          - Булево - разрешена ли аутентификация средствами операционной системы.
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * ПользовательОС            - Строка - имя соответствующей учетной записи пользователя операционной системы
//                                          (не учитывается в учебной версии платформы).
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//
//   * ОсновнойИнтерфейс         - Строка - имя основного интерфейса пользователя информационной базы
//                                         (из коллекции Метаданные.Интерфейсы).
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * РежимЗапуска              - Строка - "Авто", "ОбычноеПриложение" или "УправляемоеПриложение".
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * Язык                      - Строка - имя языка из коллекции Метаданные.Языки.
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//   * Роли                      - Массив из Строка - коллекция имен ролей пользователя информационной базы.
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//
//   * ЗащитаОтОпасныхДействий   - Булево - соответствует свойству ПредупреждатьОбОпасныхДействиях
//                                   типа ЗащитаОтОпасныхДействий.
//                               - Неопределено - означает не менять свойство при установке набора свойств.
//
Функция НовоеОписаниеПользователяИБ(ДляУстановки = Истина, ДляСлужебногоПользователя = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НовоеОписаниеПользователяИБ(ДляУстановки, ДляСлужебногоПользователя);
```
</details>

## СвойстваПользователяИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает свойства пользователя информационной базы в виде структуры.
// Если пользователь с указанным идентификатором или именем не существует, то возвращается Неопределено.
//
// Параметры:
//  ИмяИлиИдентификатор  - Строка
//                       - УникальныйИдентификатор - имя или идентификатор пользователя ИБ.
//
// Возвращаемое значение:
//  Структура - см. Пользователи.НовоеОписаниеПользователяИБ
//  Неопределено - если пользователь с указанным идентификатором или именем не существует.
//
Функция СвойстваПользователяИБ(Знач ИмяИлиИдентификатор) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СвойстваПользователяИБ(ИмяИлиИдентификатор) 
```
</details>

## УстановитьСвойстваПользователяИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Записывает новые значения свойств указанному пользователю ИБ, либо создает нового пользователя ИБ.
// Если пользователь не существует, а также при попытке создания существующего пользователя будет вызвано исключение.
//
// Параметры:
//  ИмяИлиИдентификатор - Строка
//                      - УникальныйИдентификатор - имя или уникальный идентификатор пользователя ИБ, свойства
//                                                  которого нужно установить. Либо имя нового пользователя ИБ.
//  ОбновляемыеСвойства - см. Пользователи.НовоеОписаниеПользователяИБ
//
//  СоздатьНового - Булево - указать Истина, чтобы создать нового пользователя ИБ с именем ИмяИлиИдентификатор.
//
//  ЭтоВнешнийПользователь - Булево - указать Истина, если пользователь ИБ соответствует внешнему пользователю
//                                    (элементу справочника ВнешниеПользователи).
//
Процедура УстановитьСвойстваПользователяИБ(Знач ИмяИлиИдентификатор, Знач ОбновляемыеСвойства, Экспорт
```

Пример вызова
```bsl
Пользователи.УстановитьСвойстваПользователяИБ(ИмяИлиИдентификатор, ОбновляемыеСвойства, );
```
</details>

## УдалитьПользователяИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Удаляет указанного пользователя информационной базы.
//
// Параметры:
//  ИмяИлиИдентификатор  - Строка
//                       - УникальныйИдентификатор - имя или идентификатор удаляемого пользователя ИБ.
//
Процедура УдалитьПользователяИБ(Знач ИмяИлиИдентификатор) Экспорт
```

Пример вызова
```bsl
Пользователи.УдалитьПользователяИБ(ИмяИлиИдентификатор) 
```
</details>

## СкопироватьСвойстваПользователяИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Копирует значения свойств пользователя ИБ с преобразованием
// в/из строковых идентификаторов для основного интерфейса,
// языка, режима запуска и ролей.
//
//  Несуществующие свойства в источнике или приемнике не копируются.
//  Свойства со значением Неопределено в Источнике не копируются,
// кроме Источника типа ПользовательИнформационнойБазы.
//
//  Свойства АутентификацияСтандартная, АутентификацияOpenID,
// АутентификацияOpenIDConnect, АутентификацияТокеномДоступа,
// АутентификацияОС, ПользовательОС и СохраняемоеЗначениеПароля не переустанавливаются,
// если совпадают, когда Приемник типа ПользовательИнформационнойБазы.
//
//  Свойства УникальныйИдентификатор, ПарольУстановлен, СтарыйПароль
// не копируются, если Приемник типа ПользовательИнформационнойБазы.
//
//  Преобразование выполняется только для Источника или Приемника
// с типом ПользовательИнформационнойБазы.
//
// Параметры:
//  Приемник     - Структура
//               - ПользовательИнформационнойБазы
//               - ФормаКлиентскогоПриложения - подмножество
//                 свойств из НовоеОписаниеПользователяИБ().
//
//  Источник     - Структура
//               - ПользовательИнформационнойБазы
//               - ФормаКлиентскогоПриложения - как и приемник,
//                 но типы обратные, т.е. когда Приемник типа ПользовательИнформационнойБазы,
//                 тогда в Источник не типа ПользовательИнформационнойБазы.
//
//  КопируемыеСвойства  - Строка - список свойств через запятую, которые нужно скопировать (без префикса).
//  ИсключаемыеСвойства - Строка - список свойств через запятую, которые не нужно копировать (без префикса).
//  ПрефиксСвойств      - Строка - начальное имя для Источника или Приемника типа НЕ Структура.
//                      - Соответствие из КлючИЗначение:
//                         * Ключ - имя свойства без префикса
//                         * Значение - полное имя свойства с префиксом
//
Процедура СкопироватьСвойстваПользователяИБ(Приемник, Экспорт
```

Пример вызова
```bsl
Пользователи.СкопироватьСвойстваПользователяИБ(Приемник, );
```
</details>

## НайтиПоИмени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пользователя из справочника Пользователи или ВнешниеПользователи,
// с которым сопоставлен пользователь ИБ с указанным именем.
//
// Параметры:
//  ИмяДляВхода - Строка - имя пользователя информационной базы, используемое для входа.
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи           - если пользователь найден.
//  СправочникСсылка.ВнешниеПользователи    - если внешний пользователь найден.
//  Справочники.Пользователи.ПустаяСсылка() - если пользователь ИБ найден.
//  Неопределено                            - если пользователь ИБ не существует.
//
Функция НайтиПоИмени(Знач ИмяДляВхода) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НайтиПоИмени(ИмяДляВхода) 
```
</details>

## НайтиПоИдентификатору
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пользователя из справочника Пользователи или ВнешниеПользователи,
// с которым сопоставлен пользователь ИБ с указанным уникальным идентификатором.
// Поиск выполняется без учета существования пользователя информационной базы.
//
// Параметры:
//  ИдентификаторПользователяИБ - УникальныйИдентификатор - идентификатор пользователя информационной базы.
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи           - если пользователь найден.
//  СправочникСсылка.ВнешниеПользователи    - если внешний пользователь найден.
//  Неопределено                            - если пользователь не найден ни в одном справочнике.
//
Функция НайтиПоИдентификатору(Знач ИдентификаторПользователяИБ) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НайтиПоИдентификатору(ИдентификаторПользователяИБ) 
```
</details>

## НайтиПоСсылке
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пользователя ИБ по ссылке справочника Пользователи или ВнешниеПользователи.
//  Для поиска требуются административные права. Если административных прав нет,
// допустимо искать только пользователя для текущего пользователя ИБ.
//
// Параметры:
//  Пользователь - СправочникСсылка.Пользователи
//               - СправочникСсылка.ВнешниеПользователи
//
// Возвращаемое значение:
//  ПользовательИнформационнойБазы - если найден.
//  Неопределено - если пользователь ИБ не существует.
//
Функция НайтиПоСсылке(Пользователь) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НайтиПоСсылке(Пользователь) 
```
</details>

## СлужебныйПользовательИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пользователя ИБ с указанным именем,
// создает пользователя ИБ и пользователя в справочнике в случае отсутствия.
// Если свойство ПарольУстановлен = Ложь, тогда в незаполненное свойство
// СохраняемоеЗначениеПароля устанавливается новое сгенерированное значение пароля,
// если у найденного пользователя ИБ пароль не установлен или создается новый пользователь ИБ.
// Если у найденного пользователя значения свойств отличаются от указанных,
// тогда они переустанавливаются.
//
// Параметры:
//  Свойства     - см. Пользователи.НовоеОписаниеПользователяИБ
//  СсылкаНового - СправочникСсылка.Пользователи - если пользователь не найден
//                 в справочнике, тогда создать нового с указанной ссылкой нового.
//                 Это позволяет избежать дублей пользователей в справочнике в разных узлах РИБ.
//               - Неопределено - если пользователь не найден в справочнике,
//                 тогда создать нового с новой ссылкой.
//
// Возвращаемое значение:
//  ПользовательИнформационнойБазы
//  Неопределено - если список пользователей ИБ пустой
//
// Пример:
//	Свойства = Пользователи.НовоеОписаниеПользователяИБ(, Истина);
//	Свойства.Имя = ИмяСлужебногоПользователя();
//	СсылкаНового = Справочники.Пользователи.ПолучитьСсылку(
//		Новый УникальныйИдентификатор("<новый УИД, полученный в отладчике с помощью вызова
//		|Строка(Справочники.Пользователи.ПолучитьСсылку().УникальныйИдентификатор())>"));
//	Свойства.<другие свойства, которые нужно установить> = <значение>;
//	ПользовательИБ = СлужебныйПользовательИБ(Свойства, СсылкаНового);
//	...
//
Функция СлужебныйПользовательИБ(Свойства, СсылкаНового = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СлужебныйПользовательИБ(Свойства, СсылкаНового);
```
</details>

## НайтиНеоднозначныхПользователейИБ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет поиск идентификаторов пользователей ИБ, используемых более одного раза, и
// либо вызывает исключение, либо возвращает найденных пользователей ИБ для дальнейшей
// обработки.
//
// Параметры:
//  Пользователь - Неопределено - проверка для всех пользователей и внешних пользователей.
//               - СправочникСсылка.Пользователи
//               - СправочникСсылка.ВнешниеПользователи - проверка
//                 только для указанной ссылки.
//
//  УникальныйИдентификатор - Неопределено - проверка всех заданных идентификаторов пользователей ИБ.
//                          - УникальныйИдентификатор - проверка только для заданного идентификатора.
//
//  НайденныеИдентификаторы - Неопределено - при нахождении ошибок вызывается исключение, но если
//                            передать соответствие, тогда при нахождении ошибок исключение не вызывается,
//                            а вместо этого заполняется переданное соответствие.
//                          - Соответствие из КлючИЗначение:
//                              * Ключ     - УникальныйИдентификатор - неоднозначный идентификатор пользователя ИБ.
//                              * Значение - Массив из СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи
//
//  ИдентификаторПользователяСервиса - Булево - если Ложь, тогда проверять ИдентификаторПользователяИБ,
//                                              если Истина, тогда проверять ИдентификаторПользователяСервиса.
//
Процедура НайтиНеоднозначныхПользователейИБ(Знач Пользователь, Экспорт
```

Пример вызова
```bsl
Пользователи.НайтиНеоднозначныхПользователейИБ(Пользователь, );
```
</details>

## СохраняемоеЗначениеСтрокиПароля
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает сохраняемое значение пароля для указанного пароля по алгоритму SHA-1.
// Начиная с версии платформы 8.3.26 следует использовать метод
// платформы ВычислитьСохраняемоеЗначениеПароляПользователя.
// Для проверки пароля необходимо использовать метод платформы
// ПроверитьСоответствиеПароляПользователяСохраняемомуЗначению
// (сравнение на равно подходит только для сохраняемого значения пароля по алгоритму SHA-1).
//
// Параметры:
//  Пароль - Строка - пароль, для которого нужно получить сохраняемое значение.
//
// Возвращаемое значение:
//  Строка - сохраняемое значение пароля.
//
// Пример:
//	Свойства = Новый Структура("ТипАлгоритмаХешированияПароля", Null);
//	ЗаполнитьЗначенияСвойств(Свойства, ПользователиИнформационнойБазы.ТекущийПользователь());
//	Если Свойства.ТипАлгоритмаХешированияПароля <> Null Тогда
//		// АПК:488-выкл Поддержка новых методов платформы (исполняемый код безопасен)
//		ПарольСовпадает = Вычислить("ПроверитьСоответствиеПароляПользователяСохраняемомуЗначению(Пароль, ПользовательИБ)");
//		// АПК:488-вкл
//	Иначе
//		ПарольСовпадает = ПользовательИБ.СохраняемоеЗначениеПароля
//			= Пользователи.СохраняемоеЗначениеСтрокиПароля(Пароль);
//	КонецЕсли;
//
Функция СохраняемоеЗначениеСтрокиПароля(Знач Пароль) Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СохраняемоеЗначениеСтрокиПароля(Пароль) 
```
</details>

## СоздатьПароль
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Создает новый пароль, соответствующий заданным правилам проверки сложности.
// Для облегчения запоминания, пароль формируется из слогов (согласная-гласная).
//
// Параметры:
//  СвойстваПароля - см. СвойстваПароля
//                 - Число - устарел (наименьшая длина)
//  УдалитьСложный         - Булево - устарел, следует использовать СвойстваПароля.
//  УдалитьУчестьНастройки - Строка - устарел, следует использовать СвойстваПароля.
//
// Возвращаемое значение:
//  Строка - новый пароль.
//
Функция СоздатьПароль(Знач СвойстваПароля = 7, УдалитьСложный = Ложь, УдалитьУчестьНастройки = "ДляПользователей") Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СоздатьПароль(СвойстваПароля, УдалитьСложный, УдалитьУчестьНастройки);
```
</details>

## СвойстваПароля
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Описание свойств пароля, используемых в функции СоздатьПароль.
// С версии 8.3.22 используется ГенераторСлучайныхПаролей.
//
// Возвращаемое значение:
//   Структура:
//     * НаименьшаяДлина - Число - наименьшая длина пароля.
//     * Сложный - Булево - учитывать требования сложности пароля (с 8.3.22 всегда Истина).
//     * УчестьНастройки - Строка -
//             "НеУчитыватьНастройки" - не учитывать настройки администратора,
//             "ДляПользователей" - учесть настройки для пользователей (по умолчанию),
//             "ДляВнешнихПользователей" - учесть настройки для внешних пользователей.
//             Если настройки администратора учитываются, тогда указанные параметры
//             длины и сложности пароля будут увеличены до значений, указанных в настройках.
//     * ГСЧ - ГенераторСлучайныхЧисел - если уже используется (с 8.3.22 не используется).
//           - Неопределено - создать новый.
//
Функция СвойстваПароля() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.СвойстваПароля() 
```
</details>

## ОбщиеНастройкиВходаИспользуются
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет, предусмотрено ли в конфигурации использование настроек входа, общих для пользователей:
// сложность пароля, смена пароля, ограничения срока работы в программе и другие.
// См. свойство ОбщиеНастройкиВхода в ПользователиПереопределяемый.ПриОпределенииНастроек.
//
// Возвращаемое значение:
//  Булево - Истина, если в конфигурации предусмотрены общие настройки входа пользователей.
//
Функция ОбщиеНастройкиВходаИспользуются() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.ОбщиеНастройкиВходаИспользуются() 
```
</details>

## НазначениеРолей
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает назначение ролей, указанное разработчиками библиотек и прикладных решений.
// Область применения: только для автоматизированной проверки конфигурации.
//
// Возвращаемое значение:
//  Структура - смотри одноименный параметр в процедуре ПриОпределенииНазначенияРолей
//              общего модуля ПользователиПереопределяемый.
//
Функция НазначениеРолей() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НазначениеРолей() 
```
</details>

## ПроверитьНазначениеРолей
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет соответствие прав ролей назначению ролей, указанному
// в процедуре ПриОпределенииНазначенияРолей общего модуля ПользователиПереопределяемый.
//
// Применяется в случаях:
//  - проверка безопасности конфигураций перед автоматическим обновлением на новую версию;
//  - проверка конфигурации перед сборкой;
//  - проверка конфигурации при разработке.
//
// Параметры:
//  ПроверитьВсе - Булево - если Ложь, тогда пропускается проверка назначения ролей
//                          по требованиям технологий сервиса (что быстрее), в противном случае
//                          проверка выполняется, если разделение включено.
//
//  СписокОшибок - Неопределено   - если ошибки найдены, формируется текст ошибок и вызывается исключение.
//               - СписокЗначений - возвращаемое значение. Найденные ошибки добавляются в список без вызова исключения:
//                   * Значение      - Строка - имя роли.
//                                   - Неопределено - роль, указанная в процедуре, не существует в метаданных.
//                   * Представление - Строка - текст ошибки.
//
Процедура ПроверитьНазначениеРолей(ПроверитьВсе = Ложь, СписокОшибок = Неопределено) Экспорт
```

Пример вызова
```bsl
Пользователи.ПроверитьНазначениеРолей(ПроверитьВсе, СписокОшибок);
```
</details>

## УстановитьПравоОткрытияВнешнихОтчетовИОбработок
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Добавляет всех администраторов системы в группу доступа,
// связанную с предопределенным профилем ОткрытиеВнешнихОтчетовИОбработок.
// Скрывает предупреждения безопасности, всплывающие при первом открытии сеанса администратора.
// Не для модели сервиса.
//
// Параметры:
//   ОткрытиеРазрешено - Булево - если Истина, установить разрешение открытия.
//
Процедура УстановитьПравоОткрытияВнешнихОтчетовИОбработок(ОткрытиеРазрешено) Экспорт
```

Пример вызова
```bsl
Пользователи.УстановитьПравоОткрытияВнешнихОтчетовИОбработок(ОткрытиеРазрешено) 
```
</details>

## УстановитьОбщиеНастройкиВхода
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет общие настройки входа пользователей.
// Допустимо передавать отдельные свойства.
//
// Параметры:
//  ОбщиеСохраняемыеНастройки - см. Пользователи.НовоеОписаниеОбщихНастроекВхода
//
Процедура УстановитьОбщиеНастройкиВхода(ОбщиеСохраняемыеНастройки) Экспорт
```

Пример вызова
```bsl
Пользователи.УстановитьОбщиеНастройкиВхода(ОбщиеСохраняемыеНастройки) 
```
</details>

## НовоеОписаниеОбщихНастроекВхода
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает структуру общих настроек входа по умолчанию.
//
// Возвращаемое значение:
//  Структура:
//   * ОтдельныеНастройкиДляВнешнихПользователей - Булево - если Ложь,
//       тогда для внешних пользователей применяются настройки обычных пользователей.
//   * ПредупреждатьОбОкончанииСрокаРаботыВПрограмме - Число - количество дней
//       до окончания срока действия в программе, когда будет показано предупреждение.
//   * ПредупреждатьОЗавершенииСеансаПриБездействии - Число - количество минут перед завершением сеанса.
//   * СрокБездействияДоЗавершенияСеанса - Число - количество минут бездействия до завершения сеанса.
//   * КоличествоПопытокВводаПароляДоБлокировки - Число - количество попыток
//       ошибочного ввода пароля до срабатывания блокировки.
//   * ДлительностьБлокировкиВводаПароля - Число - количество минут блокировки ввода пароля.
//   * СохранениеПароляПриВходе - Строка - одна из строк
//       "" - скрыть флажок сохранения и не сохранять.
//       "РазрешеноИОтключено" - показать отключенный флажок сохранения.
//       "РазрешеноИВключено" - показать включенный флажок сохранения.
//   * ВремяСохраненияПароля - Число - количество минут до очистки сохраненного пароля.
//   * ПоказыватьВСпискеВыбора - Строка - одна из строк
//       "ВключеноДляНовыхПользователей",  "СкрытоИВключеноДляВсехПользователей"
//       "ВыключеноДляНовыхПользователей", "СкрытоИВыключеноДляВсехПользователей".
//   * ИспользоватьСтандартныйСписокЗапрещенныхПаролей - Булево
//   * ИспользоватьДополнительныйСписокЗапрещенныхПаролей - Булево
//   * ИспользоватьСервисЗапрещенныхПаролей - Булево
//   * АдресСервисаЗапрещенныхПаролей - Строка - например, "https://api.pwnedpasswords.com/range/".
//   * МаксимальноеВремяОжиданияСервисаЗапрещенныхПаролей - Число - количество секунд.
//   * ПропускатьПроверкуЕслиСервисЗапрещенныхПаролейНеГотов - Булево - если Ложь,
//       тогда блокировать вход пользователя и показывать ошибку проверки пароля в сервисе,
//       иначе не блокировать вход и не показывать ошибку, считать проверку пройденной.
//
Функция НовоеОписаниеОбщихНастроекВхода() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НовоеОписаниеОбщихНастроекВхода() 
```
</details>

## УстановитьНастройкиВхода
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет настройки входа пользователей.
// Допустимо передавать отдельные свойства.
//
// Параметры:
//  СохраняемыеНастройки - см. Пользователи.НовоеОписаниеНастроекВхода
//  ДляВнешнихПользователей - Булево - Истина, если записываются настройки внешних пользователей
//
Процедура УстановитьНастройкиВхода(СохраняемыеНастройки, ДляВнешнихПользователей = Ложь) Экспорт
```

Пример вызова
```bsl
Пользователи.УстановитьНастройкиВхода(СохраняемыеНастройки, ДляВнешнихПользователей);
```
</details>

## НовоеОписаниеНастроекВхода
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает структуру настроек входа по умолчанию.
//
// Возвращаемое значение:
//  Структура:
//   * ПарольДолженОтвечатьТребованиямСложности - Булево - должен ли пароль
//        отвечать требованиям сложности
//          длина не менее 7 символов;
//          содержит любые 3 из 4-х типов символов
//            заглавные буквы, строчные буквы, цифры, специальные символы;
//          не совпадает с именем (для входа).
//   * МинимальнаяДлинаПароля - Число - минимальная длина пароля.
//   * ПарольДолженОтсутствоватьВСпискеЗапрещенных - Булево - должен ли
//        пароль отсутствовать во всех указанных списках запрещенных паролей
//        (стандартном, дополнительном и списке сервиса).
//   * ДействиеПриВходеЕслиТребованиеНеВыполнено - Строка - действие при входе,
//        если одно из требований выше не выполнено.
//        Пустая строка - никаких действий (только записать в журнал регистрации),
//        "ПредложитьСменуПароля" - пользователю предлагается сменить пароль (можно пропустить),
//        "ПотребоватьСменуПароля" - пользователю придется сменить пароль (нельзя пропустить).
//   * МаксимальныйСрокДействияПароля - Число - максимальное количество дней действия пароля.
//   * МинимальныйСрокДействияПароля - Число - минимальное количество дней действия пароля.
//   * ЗапретитьПовторениеПароляСредиПоследних - Число - количество
//        последних паролей, которые запрещено использовать повторно.
//   * ПредупреждатьОбОкончанииСрокаДействияПароля - Число - количество дней
//        до срока окончания действия пароля, начиная с которого нужно начать предупреждать.
//   * ПросрочкаРаботыВПрограммеДоЗапрещенияВхода - Число - количество дней
//        неактивности пользователя, после чего будет запрещен вход.
//   * ПросрочкаРаботыВПрограммеДатаВключения - Дата - служебное, заполняется автоматически
//        в момент записи ненулевого количества дней просрочки работы вместо нулевого.
//
Функция НовоеОписаниеНастроекВхода() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НовоеОписаниеНастроекВхода() 
```
</details>

## ОбновитьНастройкиРегистрацииСобытийДоступаКДанным
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает настройки для события "Доступ.Доступ" журнала регистрации
// по настройкам, возвращаемым функцией НастройкиРегистрацииСобытийДоступаКДанным.
//
Процедура ОбновитьНастройкиРегистрацииСобытийДоступаКДанным() Экспорт
```

Пример вызова
```bsl
Пользователи.ОбновитьНастройкиРегистрацииСобытийДоступаКДанным() 
```
</details>

## НастройкиРегистрацииСобытийДоступаКДанным
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Собирает актуальные настройки регистрации для события "Доступ.Доступ"
// из обработчиков события ПриОпределенииНастроекРегистрацииСобытийДоступаКДанным.
// Например, для защиты персональных данных, дополнительных настроек, сделанных
// администратором и других целей.
//
// Требуется, чтобы корректно добавлять настройки без необходимости
// сложного объединения и предотвращения потери части настроек,
// когда нужно отключить часть настроек (например, при изменении
// настроек для защиты персональных данных или других).
//
// Возвращаемое значение:
//  Массив из ОписаниеИспользованияСобытияДоступЖурналаРегистрации
//
Функция НастройкиРегистрацииСобытийДоступаКДанным() Экспорт
```

Пример вызова
```bsl
Результат = Пользователи.НастройкиРегистрацииСобытийДоступаКДанным() 
```
</details>

## ДобавитьИспользованныйПароль
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Больше не требуется, так как использованные пароли хранятся в пользователе информационной базы и
// добавляются автоматически при изменении пароля или сохраняемого значения пароля.
//
// Параметры:
//  Пользователь - СправочникСсылка.Пользователи
//               - СправочникСсылка.ВнешниеПользователи
//  СохраняемоеЗначениеПароля - Строка
//
Процедура ДобавитьИспользованныйПароль(Пользователь, СохраняемоеЗначениеПароля) Экспорт
```

Пример вызова
```bsl
Пользователи.ДобавитьИспользованныйПароль(Пользователь, СохраняемоеЗначениеПароля) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
