Администрирование · 12 мин
Как связать пользователя и элемент справочника «Пользователи» в 1С
Как связать пользователя информационной базы с элементом справочника «Пользователи» в 1С: через карточку, обработку и программно. Ошибки, проверки, FAQ.
В типовых конфигурациях на Библиотеке стандартных подсистем (БСП) — «Управление торговлей», «ERP», «Зарплата и управление персоналом», «Бухгалтерия предприятия» — понятие «пользователь» разделено на две сущности. Первая — пользователь информационной базы, объект встроенной подсистемы безопасности, который хранит логин, пароль и роли. Вторая — элемент справочника «Пользователи», прикладная карточка, к которой привязываются сотрудники, права доступа к данным, подписи, настройки отчётов и ссылки в документах.
Если эти две сущности не связаны между собой, возникают типичные симптомы: человек входит в программу, но документы «не видят» автора, в отчётах по пользователям пусто, подстановка ответственного в новых документах не работает, а в списке пользователей появляются дубли. Правильная связь устанавливается через реквизит, который в БСП называется идентификатором пользователя информационной базы — уникальный GUID, хранящийся в элементе справочника.
Ниже разобраны способы установить связь: штатный — через карточку пользователя, массовый — при загрузке из Active Directory или другой базы, и программный — для разработчиков. Отдельно рассмотрены ситуации с дублями, потерянной связью после обмена и типичные ошибки администраторов.
Чем пользователь ИБ отличается от элемента справочника «Пользователи»
Пользователь информационной базы — это объект, который хранится не в таблицах справочников, а во внутреннем механизме аутентификации платформы. У него есть имя (логин), пароль, роли, настройки аутентификации ОС и уникальный идентификатор. Увидеть полный список таких пользователей можно в конфигураторе через «Администрирование — Пользователи» или в предприятии через обработку «Пользователи информационной базы».
Элемент справочника «Пользователи» — обычный прикладной объект. На него ссылаются документы в реквизитах «Ответственный», «Автор», к нему привязаны профили групп доступа, индивидуальные настройки, физические лица и сотрудники. Именно этот элемент видят пользователи в списках и подборах.
БСП при входе пользователя в сеанс ищет элемент справочника по идентификатору. Если элемент не найден, механизм «Пользователи» либо создаёт новый элемент автоматически (при включённой соответствующей настройке), либо оставляет связь пустой — и тогда прикладная логика работает некорректно.
Как связать через карточку пользователя в режиме предприятия
Самый безопасный способ — воспользоваться штатными средствами БСП. Откройте раздел «Настройка» (или «Администрирование») → «Пользователи и права доступа» → «Пользователи». Если нужного элемента в списке нет, создайте его кнопкой «Создать» и заполните наименование — обычно это фамилия и инициалы сотрудника.
В карточке элемента найдите ссылку «Войти в программу разрешено» или команду «Права доступа» / «Вход в программу» (точное название зависит от версии БСП). При нажатии откроется форма настройки входа: укажите имя для входа, пароль при необходимости и подтвердите. При записи БСП создаст пользователя информационной базы и автоматически пропишет его идентификатор в элемент справочника — связь установлена.
- 1Откройте «Настройка» → «Пользователи и права доступа» → «Пользователи»
- 2Создайте или откройте карточку нужного пользователя
- 3Нажмите «Войти в программу разрешено» (или «Вход в программу»)
- 4Задайте имя для входа и при необходимости пароль
- 5Назначьте профиль группы доступа, чтобы у пользователя были права
- 6Запишите карточку и попросите пользователя войти в программу
- 7Проверьте, что в документах подставляется правильный ответственный
Если пользователь ИБ уже существует (например, заведён раньше в конфигураторе), БСП попытается найти его по имени при создании элемента справочника и предложит установить связь. Соглашайтесь, если имя совпадает с нужным человеком.
Как связать уже существующего пользователя ИБ с карточкой
Типовая ситуация: пользователь ИБ создан в конфигураторе, а элемент справочника завели отдельно — и они живут своей жизнью. При этом в списке может быть два похожих элемента: один «привязанный» к входу, другой — используемый в документах.
Порядок исправления такой. Откройте карточку того элемента справочника, который реально используется в документах. Нажмите настройку входа в программу и укажите точное имя существующего пользователя ИБ. Если БСП сообщит, что имя уже занято другим элементом справочника, сначала откройте этот дубль и либо пометьте его на удаление, либо отключите ему вход в программу — идентификатор освободится.
Программное связывание для разработчиков
В доработках, обменах и начальном заполнении связь устанавливается кодом. Логика проста: получить объект пользователя ИБ по имени и записать его уникальный идентификатор в реквизит элемента справочника.
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");
Если ПользовательИБ = Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = "ИвановИИ";
ПользовательИБ.ПолноеИмя = "Иванов Иван Иванович";
ПользовательИБ.Пароль = "ВременныйПароль";
ПользовательИБ.Роли.Добавить(Метаданные.Роли.БазовыеПраваБСП);
ПользовательИБ.Записать();
КонецЕсли;
ЭлементСправочника = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван Иванович");
Если Не ЭлементСправочника.Пустая() Тогда
ОбъектПользователя = ЭлементСправочника.ПолучитьОбъект();
ОбъектПользователя.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор;
ОбъектПользователя.Записать();
КонецЕсли;
Обратная задача — найти элемент справочника по пользователю ИБ — решается запросом по реквизиту «ИдентификаторПользователяИБ». В БСП есть готовые функции модуля «Пользователи»: например, получение ссылки на элемент справочника для текущего пользователя сеанса. По возможности используйте их вместо прямых запросов — это устойчивее к обновлениям.
Связь при загрузке из Active Directory и обменах
В конфигурациях с настроенной аутентификацией ОС БСП умеет сопоставлять пользователей при входе: если у пользователя ИБ включена аутентификация операционной системы, при первом входе может автоматически создаваться элемент справочника. Чтобы механизм сработал, в настройках «Пользователи и права доступа» должна быть разрешена автоматическая регистрация новых пользователей.
При обменах между базами (например, перенос пользователей из старой конфигурации) главный риск — конфликт идентификаторов. GUID пользователя ИБ уникален в пределах одной базы: при загрузке в другую базу старый идентификатор либо не найдёт пользователя, либо, что хуже, совпадёт с чужим. Поэтому в правилах обмена идентификатор пользователя ИБ обычно не переносят, а связь восстанавливают в целевой базе по имени входа.
Как выбрать способ связывания
Как проверить, что связь работает
Простейшая проверка — войти под нужным пользователем и открыть «Настройки» → «Персональные настройки» или любой документ, где автоматически подставляется ответственный. Если подставляется правильное ФИО — связь есть. Если поле пустое или подставляется чужой элемент — связь отсутствует или указывает не туда.
Второй способ — открыть список справочника «Пользователи» и включить отбор по колонке, отражающей вход в программу (в ряде конфигураций есть признак «Вход в программу разрешён»). Элементы без связи с пользователем ИБ будут иметь статус «вход запрещён».
Как проверить результат
Пользователь входит и видит свои документы
Вход выполнен, но ответственный в документах пустой или чужой
Один элемент на человека, вход разрешён
Два похожих элемента, у одного вход запрещён
Деятельность отображается под правильным именем
Действия приписываются другому элементу или не учитываются
Реквизит заполнен и соответствует пользователю ИБ
Поле пустое или ссылается на несуществующий GUID
Типичные ошибки и ограничения
Самая частая ошибка — ручное создание пользователя ИБ в конфигураторе «в обход» справочника. БСП при следующем входе создаст новый элемент справочника автоматически, и в базе появится дубль: старый элемент с историей документов и новый пустой, к которому привязан вход. Лечится поиском и объединением дублей с последующей корректной привязкой.
Вторая ошибка — копирование базы средствами СУБД без выгрузки в dt с последующей сменой имени сервера или домена: аутентификация ОС перестаёт совпадать, пользователи не входят. Третья — попытка править идентификатор напрямую в таблицах SQL: это нарушает целостность и поддерживается только штатными средствами платформы.
Что важно запомнить
Связь держится на реквизите «ИдентификаторПользователяИБ». Заводите пользователей через карточку справочника, а не через конфигуратор, дублей объединяйте штатной обработкой, при обменах идентификатор не переносите, а восстанавливайте связь по имени входа.
Частые вопросы
Почему пользователь входит в программу, но в документах не подставляется как ответственный?
Элемент справочника «Пользователи» не связан с пользователем ИБ либо связан другой элемент-дубль. Откройте карточку правильного элемента и проверьте настройку входа в программу: имя входа должно совпадать с логином пользователя. Дубль, который «перехватил» связь, отключите от входа и объедините с основным элементом.
Можно ли связать один элемент справочника с двумя пользователями ИБ?
Нет, связь один к одному: реквизит «ИдентификаторПользователяИБ» хранит один GUID, и БСП не позволит назначить уже занятое имя входа другому элементу. Если двум людям нужен один набор полномочий, создайте каждому свою карточку и назначьте обоим одинаковый профиль группы доступа.
Что делать, если при указании имени входа программа пишет, что имя уже занято?
Это значит, что другой элемент справочника уже связан с этим пользователем ИБ. Найдите его через список пользователей (отбор по имени входа или поиск дублей), откройте карточку и отключите вход в программу. После этого идентификатор освободится, и связь можно установить с нужным элементом.
Нужно ли связывать служебных пользователей, например для регламентных заданий?
Да, желательно. Для фонового пользователя создайте отдельный элемент справочника с понятным наименованием (например, «Робот (регл. задания)») и свяжите его с пользователем ИБ, под которым выполняются задания. Тогда документы, созданные роботом, будут корректно помечаться автором, а журнал регистрации и отчёты останутся читаемыми.
Потеряется ли связь при обновлении конфигурации?
Штатное обновление через поддержку связь не затрагивает: она хранится в данных, а не в метаданных. Риск появляется при нештатных сценариях — восстановлении из копии СУБД на другой сервер с аутентификацией ОС или загрузке данных сторонними обработками. После таких операций проверьте вход и подстановку ответственного хотя бы у нескольких пользователей.
Как массово проверить, у каких элементов справочника нет связи?
Откройте консоль запросов или универсальный отчёт и выберите элементы справочника «Пользователи», у которых реквизит «ИдентификаторПользователяИБ» пустой (равен пустому уникальному идентификатору). Это и есть несвязанные карточки. Дополнительно сверьте обратную сторону: пользователей ИБ, для которых не нашлось элемента справочника.