В процессе эксплуатации информационной системы на базе платформы 1С:Предприятие администраторы часто сталкиваются с необходимостью экстренного или планового ограничения доступа к базе данных. Это может быть вызвано проведением регламентных работ, обновлением конфигурации, блокировкой уволенных сотрудников или устранением критических ошибок, вызванных действиями конкретных юзеров. Процедура того, как закрыть пользователей в 1С, не является тривиальной задачей «нажатия одной кнопки», так как архитектура системы предполагает многоуровневую защиту и разграничение прав.
Некорректное завершение сеансов может привести к потере несохраненных данных, блокировке объектов метаданных или даже повреждению файлов базы данных при использовании файлового варианта. Поэтому перед началом активных действий по отключению учетных записей необходимо четко понимать разницу между остановкой конкретного сеанса, блокировкой пользователя в списке прав доступа и полным запретом входа на уровне сервера приложений. В данной статье мы подробно разберем все доступные механизмы администрирования.
⚠️ Внимание: Перед принудительным завершением сеансов убедитесь, что пользователи сохранили все проведенные документы. Резкий разрыв соединения может привести к рассинхронизации данных в регистрах.
Анализ текущих сеансов и активных пользователей
Первым этапом перед тем как закрыть доступ, является диагностика текущего состояния системы. Администратору необходимо получить полную картину того, кто именно находится в базе в данный момент и какие ресурсы потребляются. Для этого в режиме Предприятия предусмотрен специальный журнал регистрации и мониторинг сеансов. Через интерфейс программы перейдите в раздел Администрирование → Монитор активных пользователей.
В открывшемся окне отображается список всех подключенных сеансов с детальной информацией: имя пользователя, компьютер, время начала сеанса и последнее действие. Особое внимание следует уделить колонке Блокировка данных, которая показывает, захватил ли пользователь какие-либо объекты для изменения. Если вы видите длительные блокировки, это может сигнализировать о зависшем процессе или некорректной работе кода конфигурации.
Для более глубокого анализа можно использовать консоль администрирования серверов 1С, если ваша база работает в клиент-серверном варианте. Там доступна статистика по кластерам серверов и рабочим процессам rmngr и rphost. Это позволяет выявить не только активных юзеров, но и фоновые задания, которые могут имитировать активность пользователя и мешать проведению технических работ.
Отключение пользователей через интерфейс 1С
Самый простой и безопасный способ закрыть пользователей в 1С — использование встроенных средств управления сеансами непосредственно из толстого или тонкого клиента. Этот метод подходит для оперативного решения проблем, когда требуется освободить занятые объекты или сбросить «зависший» сеанс без полной остановки службы.
В окне мониторинга активных пользователей выделите нужную строку с именем нарушителя или просто лишнего сотрудника. В верхней панели инструментов найдите кнопку Завершить сеанс. Система запросит подтверждение действия, так как это необратимая операция для текущей сессии. После подтверждения соединение с клиентским приложением будет разорвано, а все транзакции, открытые данным пользователем, будут откатаны сервером.
Если требуется отключить сразу несколько человек, например, перед началом обновления, можно воспользоваться функцией массового выделения. Зажмите клавишу Ctrl или Shift для выбора группы записей и примените команду завершения. Однако помните, что при файловом варианте работы базы массовое отключение может вызвать временную недоступность базы для остальных пользователей из-за механизмов блокировки файла данных.
☑️ Подготовка к отключению сеансов
Блокировка учетных записей в списке пользователей
Для долгосрочного ограничения доступа, например, при увольнении сотрудника или переводе его в другой отдел, недостаточно просто завершить текущий сеанс. Необходимо изменить права доступа в самой конфигурации. Это гарантирует, что пользователь не сможет войти в систему повторно, даже если он попытается сделать это с другого компьютера.
Перейдите в раздел Администрирование → Настройки пользователей и прав → Пользователи. Найдите нужную запись в списке и откройте её карточку. Ключевым элементом здесь является флаг Активен. Снятие этой галочки делает учетную запись недействительной. При следующей попытке входа система выдаст сообщение об ошибке авторизации, ссылаясь на то, что пользователь заблокирован.
Также в карточке пользователя можно изменить пароль или отозвать все выданные ранее роли. Это полезно в ситуациях, когда требуется временно приостановить работу сотрудника без полного удаления его из системы. Например, на время длительного отпуска или служебного расследования. Изменения вступают в силу мгновенно для новых сеансов, но не разрывают уже установленные соединения.
⚠️ Внимание: Удаление пользователя из списка без предварительной передачи его дел и документов может привести к потере истории действий в журналах регистрации. Лучше использовать блокировку, а не удаление.
Администрирование через консоль серверов 1С
В корпоративном секторе, где используется SQL версия базы данных и кластер серверов, управление доступом осуществляется на более глубоком уровне — через консоль администрирования серверов 1С Предприятия (mmc). Этот инструмент позволяет управлять информационными базами на уровне кластера, игнорируя настройки внутри конкретной конфигурации.
Запустите консоль управления, подключитесь к нужному кластеру и раскройте ветку Информационные базы. Выберите вашу базу и перейдите на вкладку Сеансы. Здесь отображаются все активные соединения, включая служебные. Вы можете принудительно завершить любой сеанс, нажав правую кнопку мыши и выбрав соответствующий пункт меню. Этот метод работает даже если интерфейс самой 1С завис или недоступен.
Для полной блокировки работы с базой на уровне сервера существует параметр Блокировка начала сеансов. Установив галочку в свойствах информационной базы в консоли серверов, вы запретите подключение любых новых пользователей. Существующие сеансы продолжат работу до их естественного завершения или принудительного разрыва администратором. Это идеальный инструмент для проведения регламентных работ в ночное время.
Используйте параметр "Блокировка начала сеансов" в консоли серверов за 10-15 минут до начала технических работ, чтобы новые пользователи не успели открыть базу и начать работу.
Ограничение доступа через файл блокировки (p1c)
В случаях, когда нет доступа к консоли серверов или интерфейс программы полностью неработоспособен, можно воспользоваться механизмом файловой блокировки. Этот метод особенно актуален для файловых баз данных, размещенных на общем сетевом ресурсе, но может применяться и для ограничения доступа к каталогам клиент-серверных баз на уровне операционной системы.
В каталоге с базой данных (или в каталоге, указанном как путь к базе в списке запуска) необходимо создать специальный файл с расширением .p1c или 1Cv8.p1c. При попытке запуска базы платформа 1С обнаружит наличие этого файла-флага и выдаст пользователю предупреждение о том, что база заблокирована для работы. Текст сообщения можно кастомизировать, записав его внутрь файла с помощью блокнота.
Этот способ является «грубым», но очень эффективным при аварийных ситуациях. Он не требует прав администратора базы данных внутри 1С, достаточно прав на запись в файловую систему сервера или сетевого хранилища. Однако стоит учитывать, что данный метод блокирует запуск для всех пользователей без исключения, включая самого администратора, до момента удаления файла.
| Метод блокировки | Уровень воздействия | Скорость применения | Обратимость |
|---|---|---|---|
| Завершение сеанса | Конкретный пользователь | Мгновенно | Пользователь может войти снова |
| Снятие флага "Активен" | Учетная запись | Мгновенно | Требует прав админа 1С |
| Блокировка в консоли серверов | Вся информационная база | 1-2 секунды | Требует доступа к серверу |
| Файл .p1c | Файловая система | Зависит от сети | Удаление файла |
Автоматизация процесса выгрузки пользователей
Для крупных предприятий ручное отключение десятков или сотен пользователей может занять слишком много времени. В таких случаях целесообразно использовать механизмы автоматизации, встроенные в платформу или написанные специально для этих целей. Современные версии 1С позволяют использовать внешние обработки или расширения для пакетного управления доступом.
Можно написать простую обработку на встроенном языке, которая будет проходить по регистру сведений Пользователи и устанавливать признак активности в значение Ложь для всех, кроме группы администраторов. Запуск такой обработки можно поставить в очередь фоновых заданий или выполнить в монопольном режиме перед началом обновления.
Также существуют сторонние утилиты и скрипты, работающие через COM-соединение, которые позволяют управлять кластером серверов 1С программно. Это позволяет интегрировать процесс блокировки пользователей в общие скрипты обслуживания серверов, запуская их по расписанию через планировщик задач Windows или Linux.
Пример кода для массовой блокировки
Для каждого пользователя из списка пользователей цикл: если не пользователь.Администратор тогда пользователь.Активен = ложь; конецесли; конеццикла; записать пользователя.
⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С (8.2, 8.3) и конфигурации (Бухгалтерия, УТ, ЗУП). Всегда сверяйтесь с документацией к вашей конкретной версии ПО.
Комбинированный подход — сначала блокировка начала сеансов на сервере, затем завершение активных сессий, и только после этого обновление конфигурации — гарантирует целостность данных.
Часто задаваемые вопросы (FAQ)
Что произойдет с документом, который пользователь заполнял в момент отключения?
При принудительном завершении сеанса все незаписанные данные, находящиеся в оперативной памяти клиентского приложения, будут утеряны. Если документ был уже записан в базу, но проведен не был, он останется в состоянии «Не проведен». Транзакции, открытые в момент разрыва, будут откатаны сервером базы данных для обеспечения целостности.
Можно ли закрыть пользователей удаленно, не заходя в базу?
Да, если у вас есть доступ к серверу 1С, вы можете использовать консоль управления кластером серверов (mmc). Также можно удалить или переименовать файл 1Cv8.1CD (для файловых баз) или остановить службу сервера 1С, но это приведет к отключению всех баз на данном сервере, а не одной конкретной.
Как узнать, кто мешает установить монопольный режим?
При попытке включения монопольного режима система выдаст список пользователей, которые в данный момент работают с базой. Также эту информацию можно увидеть в журнале регистрации событий или через монитор активных пользователей, где отображается список всех подключенных сеансов.
Блокировка пользователя в 1С блокирует его почту или другие сервисы?
Нет, блокировка учетной записи в 1С Предприятие касается только доступа к данной информационной системе. Она не влияет на учетную запись Windows, доступ к электронной почте, корпоративному порталу или другим внешним ресурсам, если они не интегрированы единой системой аутентификации (SSO) с жесткой зависимостью.