К статье
Практический материал

Администрирование · 12 мин

Как связать пользователя и элемент справочника «Пользователи» в 1С

Как связать пользователя информационной базы с элементом справочника «Пользователи» в 1С: через карточку, обработку и программно. Ошибки, проверки, FAQ.

В типовых конфигурациях на Библиотеке стандартных подсистем (БСП) — «Управление торговлей», «ERP», «Зарплата и управление персоналом», «Бухгалтерия предприятия» — понятие «пользователь» разделено на две сущности. Первая — пользователь информационной базы, объект встроенной подсистемы безопасности, который хранит логин, пароль и роли. Вторая — элемент справочника «Пользователи», прикладная карточка, к которой привязываются сотрудники, права доступа к данным, подписи, настройки отчётов и ссылки в документах.

Если эти две сущности не связаны между собой, возникают типичные симптомы: человек входит в программу, но документы «не видят» автора, в отчётах по пользователям пусто, подстановка ответственного в новых документах не работает, а в списке пользователей появляются дубли. Правильная связь устанавливается через реквизит, который в БСП называется идентификатором пользователя информационной базы — уникальный GUID, хранящийся в элементе справочника.

Ниже разобраны способы установить связь: штатный — через карточку пользователя, массовый — при загрузке из Active Directory или другой базы, и программный — для разработчиков. Отдельно рассмотрены ситуации с дублями, потерянной связью после обмена и типичные ошибки администраторов.

Чем пользователь ИБ отличается от элемента справочника «Пользователи»

Пользователь информационной базы — это объект, который хранится не в таблицах справочников, а во внутреннем механизме аутентификации платформы. У него есть имя (логин), пароль, роли, настройки аутентификации ОС и уникальный идентификатор. Увидеть полный список таких пользователей можно в конфигураторе через «Администрирование — Пользователи» или в предприятии через обработку «Пользователи информационной базы».

Элемент справочника «Пользователи» — обычный прикладной объект. На него ссылаются документы в реквизитах «Ответственный», «Автор», к нему привязаны профили групп доступа, индивидуальные настройки, физические лица и сотрудники. Именно этот элемент видят пользователи в списках и подборах.

БСП при входе пользователя в сеанс ищет элемент справочника по идентификатору. Если элемент не найден, механизм «Пользователи» либо создаёт новый элемент автоматически (при включённой соответствующей настройке), либо оставляет связь пустой — и тогда прикладная логика работает некорректно.

Как связать через карточку пользователя в режиме предприятия

Самый безопасный способ — воспользоваться штатными средствами БСП. Откройте раздел «Настройка» (или «Администрирование») → «Пользователи и права доступа» → «Пользователи». Если нужного элемента в списке нет, создайте его кнопкой «Создать» и заполните наименование — обычно это фамилия и инициалы сотрудника.

В карточке элемента найдите ссылку «Войти в программу разрешено» или команду «Права доступа» / «Вход в программу» (точное название зависит от версии БСП). При нажатии откроется форма настройки входа: укажите имя для входа, пароль при необходимости и подтвердите. При записи БСП создаст пользователя информационной базы и автоматически пропишет его идентификатор в элемент справочника — связь установлена.

Порядок действий в режиме предприятия
  1. 1
    Откройте «Настройка» → «Пользователи и права доступа» → «Пользователи»
  2. 2
    Создайте или откройте карточку нужного пользователя
  3. 3
    Нажмите «Войти в программу разрешено» (или «Вход в программу»)
  4. 4
    Задайте имя для входа и при необходимости пароль
  5. 5
    Назначьте профиль группы доступа, чтобы у пользователя были права
  6. 6
    Запишите карточку и попросите пользователя войти в программу
  7. 7
    Проверьте, что в документах подставляется правильный ответственный

Если пользователь ИБ уже существует (например, заведён раньше в конфигураторе), БСП попытается найти его по имени при создании элемента справочника и предложит установить связь. Соглашайтесь, если имя совпадает с нужным человеком.

Как связать уже существующего пользователя ИБ с карточкой

Типовая ситуация: пользователь ИБ создан в конфигураторе, а элемент справочника завели отдельно — и они живут своей жизнью. При этом в списке может быть два похожих элемента: один «привязанный» к входу, другой — используемый в документах.

Порядок исправления такой. Откройте карточку того элемента справочника, который реально используется в документах. Нажмите настройку входа в программу и укажите точное имя существующего пользователя ИБ. Если БСП сообщит, что имя уже занято другим элементом справочника, сначала откройте этот дубль и либо пометьте его на удаление, либо отключите ему вход в программу — идентификатор освободится.

Программное связывание для разработчиков

В доработках, обменах и начальном заполнении связь устанавливается кодом. Логика проста: получить объект пользователя ИБ по имени и записать его уникальный идентификатор в реквизит элемента справочника.

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");

Если ПользовательИБ = Неопределено Тогда

ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();

ПользовательИБ.Имя = "ИвановИИ";

ПользовательИБ.ПолноеИмя = "Иванов Иван Иванович";

ПользовательИБ.Пароль = "ВременныйПароль";

ПользовательИБ.Роли.Добавить(Метаданные.Роли.БазовыеПраваБСП);

ПользовательИБ.Записать();

КонецЕсли;

ЭлементСправочника = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван Иванович");

Если Не ЭлементСправочника.Пустая() Тогда

ОбъектПользователя = ЭлементСправочника.ПолучитьОбъект();

ОбъектПользователя.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор;

ОбъектПользователя.Записать();

КонецЕсли;

Обратная задача — найти элемент справочника по пользователю ИБ — решается запросом по реквизиту «ИдентификаторПользователяИБ». В БСП есть готовые функции модуля «Пользователи»: например, получение ссылки на элемент справочника для текущего пользователя сеанса. По возможности используйте их вместо прямых запросов — это устойчивее к обновлениям.

Связь при загрузке из Active Directory и обменах

В конфигурациях с настроенной аутентификацией ОС БСП умеет сопоставлять пользователей при входе: если у пользователя ИБ включена аутентификация операционной системы, при первом входе может автоматически создаваться элемент справочника. Чтобы механизм сработал, в настройках «Пользователи и права доступа» должна быть разрешена автоматическая регистрация новых пользователей.

При обменах между базами (например, перенос пользователей из старой конфигурации) главный риск — конфликт идентификаторов. GUID пользователя ИБ уникален в пределах одной базы: при загрузке в другую базу старый идентификатор либо не найдёт пользователя, либо, что хуже, совпадёт с чужим. Поэтому в правилах обмена идентификатор пользователя ИБ обычно не переносят, а связь восстанавливают в целевой базе по имени входа.

Маршрут решения

Как выбрать способ связывания

Один-два пользователя, есть доступ в предприятиеСвяжите через карточку пользователя — безопасно и контролируемо
Пользователь ИБ уже есть, элемент справочника тожеОткройте карточку и укажите имя входа существующего пользователя ИБ, предварительно разобравшись с дублями
Массовое создание или перенос из другой базыПишите обработку: создавайте пользователей ИБ кодом и проставляйте идентификаторы в справочник
Пользователи входят через доменНастройте аутентификацию ОС и автоматическую регистрацию пользователей в БСП

Как проверить, что связь работает

Простейшая проверка — войти под нужным пользователем и открыть «Настройки» → «Персональные настройки» или любой документ, где автоматически подставляется ответственный. Если подставляется правильное ФИО — связь есть. Если поле пустое или подставляется чужой элемент — связь отсутствует или указывает не туда.

Второй способ — открыть список справочника «Пользователи» и включить отбор по колонке, отражающей вход в программу (в ряде конфигураций есть признак «Вход в программу разрешён»). Элементы без связи с пользователем ИБ будут иметь статус «вход запрещён».

Контрольные точки

Как проверить результат

Вход в программу
Норма

Пользователь входит и видит свои документы

Тревожный признак

Вход выполнен, но ответственный в документах пустой или чужой

Список справочника
Норма

Один элемент на человека, вход разрешён

Тревожный признак

Два похожих элемента, у одного вход запрещён

Отчёты по пользователям
Норма

Деятельность отображается под правильным именем

Тревожный признак

Действия приписываются другому элементу или не учитываются

Идентификатор в карточке
Норма

Реквизит заполнен и соответствует пользователю ИБ

Тревожный признак

Поле пустое или ссылается на несуществующий GUID

Типичные ошибки и ограничения

Самая частая ошибка — ручное создание пользователя ИБ в конфигураторе «в обход» справочника. БСП при следующем входе создаст новый элемент справочника автоматически, и в базе появится дубль: старый элемент с историей документов и новый пустой, к которому привязан вход. Лечится поиском и объединением дублей с последующей корректной привязкой.

Вторая ошибка — копирование базы средствами СУБД без выгрузки в dt с последующей сменой имени сервера или домена: аутентификация ОС перестаёт совпадать, пользователи не входят. Третья — попытка править идентификатор напрямую в таблицах SQL: это нарушает целостность и поддерживается только штатными средствами платформы.

Типичные ошибки
01
Создание пользователя ИБ только в конфигураторе — появляется дубль в справочнике и путаница в документах
02
Удаление элемента справочника с историей вместо объединения дублей — битые ссылки в документах
03
Перенос идентификатора пользователя ИБ между базами в обмене — связь указывает на чужого или несуществующего пользователя
04
Редактирование таблиц SQL напрямую — повреждение механизма аутентификации
05
Отсутствие профиля группы доступа у связанного пользователя — вход есть, а прав на работу нет
Итог

Что важно запомнить

Связь держится на реквизите «ИдентификаторПользователяИБ». Заводите пользователей через карточку справочника, а не через конфигуратор, дублей объединяйте штатной обработкой, при обменах идентификатор не переносите, а восстанавливайте связь по имени входа.

Частые вопросы

Почему пользователь входит в программу, но в документах не подставляется как ответственный?

Элемент справочника «Пользователи» не связан с пользователем ИБ либо связан другой элемент-дубль. Откройте карточку правильного элемента и проверьте настройку входа в программу: имя входа должно совпадать с логином пользователя. Дубль, который «перехватил» связь, отключите от входа и объедините с основным элементом.

Можно ли связать один элемент справочника с двумя пользователями ИБ?

Нет, связь один к одному: реквизит «ИдентификаторПользователяИБ» хранит один GUID, и БСП не позволит назначить уже занятое имя входа другому элементу. Если двум людям нужен один набор полномочий, создайте каждому свою карточку и назначьте обоим одинаковый профиль группы доступа.

Что делать, если при указании имени входа программа пишет, что имя уже занято?

Это значит, что другой элемент справочника уже связан с этим пользователем ИБ. Найдите его через список пользователей (отбор по имени входа или поиск дублей), откройте карточку и отключите вход в программу. После этого идентификатор освободится, и связь можно установить с нужным элементом.

Нужно ли связывать служебных пользователей, например для регламентных заданий?

Да, желательно. Для фонового пользователя создайте отдельный элемент справочника с понятным наименованием (например, «Робот (регл. задания)») и свяжите его с пользователем ИБ, под которым выполняются задания. Тогда документы, созданные роботом, будут корректно помечаться автором, а журнал регистрации и отчёты останутся читаемыми.

Потеряется ли связь при обновлении конфигурации?

Штатное обновление через поддержку связь не затрагивает: она хранится в данных, а не в метаданных. Риск появляется при нештатных сценариях — восстановлении из копии СУБД на другой сервер с аутентификацией ОС или загрузке данных сторонними обработками. После таких операций проверьте вход и подстановку ответственного хотя бы у нескольких пользователей.

Как массово проверить, у каких элементов справочника нет связи?

Откройте консоль запросов или универсальный отчёт и выберите элементы справочника «Пользователи», у которых реквизит «ИдентификаторПользователяИБ» пустой (равен пустому уникальному идентификатору). Это и есть несвязанные карточки. Дополнительно сверьте обратную сторону: пользователей ИБ, для которых не нашлось элемента справочника.