Кто сейчас работает в базе 1С: сеансы, блокировки, журнал и консоль кластера

· 10 мин

Содержание

Быстрее всего посмотреть активных пользователей в 1С так: Администрирование → Обслуживание → Активные пользователи в БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП. Из Конфигуратора тот же список открывается через меню Администрирование → Активные пользователи. Для клиент-серверной базы самый полный вид даёт консоль «Администрирование серверов 1С Предприятия»: там видны все сеансы, рабочие процессы и блокировки.

Какой способ выбрать? Пользователю с правами администратора базы хватит формы в самой программе. Системному администратору нужна консоль кластера или утилита rac. Если вопрос не «кто сейчас», а «кто был вчера в 18:40», поможет только журнал регистрации.

Где открыть список активных пользователей в 1С

Механизм общий для платформы 8.3, отличаются только точки входа.

Где вы находитесьПуть
БП 3.0, ЗУП 3.1, УТ 11, КА 2, ERP (режим 1С:Предприятие)Администрирование → Обслуживание → Активные пользователи
Любая конфигурация, режим 1С:ПредприятиеГлавное меню → Все функции → Стандартные → Активные пользователи
КонфигураторАдминистрирование → Активные пользователи
Сервер 1С (клиент-серверная база)Консоль кластера → база → Сеансы

Если команды «Все функции» в главном меню нет, включите её: главное меню (кнопка с тремя полосками) → Сервис → Параметры → флажок «Отображать команду “Все функции”».

В конфигурациях на БСП форма «Активные пользователи» богаче платформенной: из неё можно открыть журнал регистрации по выбранному человеку и, в клиент-серверном варианте, завершить его сеанс. Платформенная форма из «Все функции → Стандартные» и Конфигуратора только показывает список.

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

Как читать список сеансов: колонки и приложения

Каждая строка — это один сеанс, а не один человек. Если Иванова открыла базу дважды, в списке будет две строки с её именем.

Основные колонки:

  • 👤 Пользователь — имя из списка пользователей базы. Пусто, если в базе вообще не заведены пользователи.
  • 🖥️ Компьютер — сетевое имя машины. Для терминального сервера тут будет имя сервера, а не ПК сотрудника.
  • 🧩 Приложение — чем подключились (таблица ниже).
  • 🕐 Начало работы — когда открыт сеанс.
  • #️⃣ Сеанс — номер сеанса, по нему его ищут в журнале регистрации и консоли кластера.

Свой сеанс в форме обычно выделен или отмечен отдельно, его легко отличить.

Что в колонке «Приложение»Что это значит
Тонкий клиентОбычная работа пользователя
Толстый клиентРабота в толстом клиенте, часто обычные формы или старые обработки
Веб-клиентВход через браузер (публикация на веб-сервере)
КонфигураторКто-то открыл Конфигуратор
COM-соединениеВнешняя программа: обмен, загрузка из Excel, интеграция
Фоновое заданиеРегламентные и фоновые задания (обмены, обновление курсов)
Соединение с Web-сервисом / HTTP-сервисомОбращение к базе извне по web- или HTTP-сервису

Часто «лишний» пользователь, который мешает обновлению, — это COM-соединение от забытой интеграции или зависший фоновый процесс, а не живой человек.

Кто держит базу: блокировки и монопольный режим

Обычно список активных пользователей открывают перед обновлением, загрузкой .dt или тестированием и исправлением. Этим операциям нужен монопольный доступ: в базе не должно быть других сеансов. Ошибка «Невозможно установить монопольный режим» почти всегда значит, что в списке кто-то есть.

Что делать по шагам:

  1. Откройте список активных пользователей и найдите всех, кроме себя.
  2. Попросите людей выйти. Сеансы фоновых заданий и COM-соединений гасите по согласованию с тем, кто отвечает за обмены.
  3. Если кто-то ушёл домой с открытой базой, используйте Администрирование → Обслуживание → Блокировка работы пользователей (в конфигурациях на БСП).
  4. Заполните время начала и окончания блокировки, текст сообщения и код разрешения. Установите блокировку.

После этого новые входы запрещены, а уже открытые сеансы получают предупреждение и завершаются к времени начала блокировки. Сами вы входите с кодом разрешения: параметр запуска /UC<код>, например /UCобновление.

Принудительное завершение сеанса обрывает работу пользователя: несохранённый документ пропадёт. Предупредите людей заранее и делайте это вне рабочего пика.

Конфликт блокировок данных

Другая ситуация — у бухгалтера при проведении появляется Конфликт блокировок при выполнении транзакции: Превышено максимальное время ожидания предоставления блокировки. Это не про монопольный режим. Это два сеанса пытаются изменить одни и те же данные, например провести документы по одному складу.

В клиент-серверной базе кто кого держит, видно в консоли кластера (раздел ниже): узел Блокировки у информационной базы и колонка «Заблокировано СУБД» в списке сеансов. В файловой базе такой детализации нет, там помогает только список активных пользователей и вопрос «кто сейчас проводит документы».

Журнал регистрации: кто входил и когда вышел

Список активных пользователей показывает только текущий момент. История входов хранится в журнале регистрации.

Где открыть:

  • 📂 Администрирование → Обслуживание → Журнал регистрации в конфигурациях на БСП;
  • 📂 главное меню → Все функции → Стандартные → Журнал регистрации;
  • 📂 в Конфигураторе: Администрирование → Журнал регистрации.

Как найти, кто работал в базе за период:

  1. Нажмите «Установить отбор» (в БСП-форме — «Отбор» или ссылка над списком).
  2. Задайте интервал дат.
  3. В отборе по событиям оставьте Сеанс. Начало, Сеанс. Завершение и Сеанс. Аутентификация.
  4. При необходимости ограничьте пользователем или компьютером.

События Сеанс. Ошибка аутентификации показывают неудачные попытки входа: подбор пароля или человек, который забыл свой.

У каждой записи есть номер сеанса. По нему легко связать вход, изменения документов и выход одного и того же сеанса: поставьте отбор по номеру сеанса.

Файлы журнала лежат в каталоге 1Cv8Log. Для файловой базы это папка рядом с 1Cv8.1CD, для серверной — каталог кластера на сервере 1С (внутри srvinfo). Если журнал пустой, проверьте уровень регистрации в Конфигураторе: Администрирование → Настройка журнала регистрации. При уровне «Не регистрировать» история не пишется.

Активные пользователи на сервере 1С: консоль кластера и rac

Для клиент-серверной базы консоль кластера — главный инструмент. Она показывает сеансы всех баз сразу, их рабочие процессы и захваченные блокировки.

Порядок действий:

  1. Запустите «Администрирование серверов 1С Предприятия» из меню «Пуск».
  2. Если сервер ещё не добавлен, создайте «Центральный сервер 1С:Предприятия» и укажите имя сервера и порт агента (по умолчанию 1540).
  3. Раскройте Кластеры → <кластер> → Информационные базы → <база> → Сеансы.
  4. Чтобы увидеть всех пользователей кластера по всем базам, откройте узел Сеансы на уровне кластера.

Помимо пользователя и компьютера, в консоли видны рабочий процесс, время последней активности и данные о блокировках. Удалить зависший сеанс можно из контекстного меню строки. Последствия те же, что и при любом принудительном завершении: работа человека обрывается.

Консоль не открывается или пишет об ошибке подключения после обновления платформы? Чаще всего консоль зарегистрирована от другой версии. Зарегистрируйте radmin.dll от установленной версии от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\radmin.dll"

Замените 8.3.XX.XXXX на номер версии платформы, которая стоит на сервере. Версия консоли должна совпадать с версией сервера.

Через утилиту rac

На Linux-сервере и для скриптов удобнее консольная утилита rac. Она работает через сервер администрирования ras (по умолчанию порт 1545), поэтому сначала запустите его на сервере 1С (ras cluster или как службу).

rac cluster list
rac infobase summary list --cluster=<uuid-кластера>
rac session list --cluster=<uuid-кластера>
rac session list --cluster=<uuid-кластера> --infobase=<uuid-базы>
rac session list --cluster=<uuid-кластера> --licenses

Если на кластере задан администратор, добавьте --cluster-user=<имя> --cluster-pwd=<пароль>. Завершить сеанс можно командой rac session terminate --cluster=<uuid> --session=<uuid-сеанса>. Полный список параметров — в справке rac help session.

Где ваша база и что нужно узнать?

Файловая база: как найти «невидимого» пользователя

В файловом варианте бывает так: список активных пользователей пуст, а обновление пишет, что база занята. Причина — процесс 1С, который завис на чьём-то компьютере и держит файл 1Cv8.1CD.

Приём, который знают сисадмины: посмотреть открытые файлы на компьютере, где лежит база.

  1. На этом компьютере нажмите Win+R, введите compmgmt.msc.
  2. Откройте Служебные программы → Общие папки → Открытые файлы.
  3. Найдите строку с 1Cv8.1CD: в колонке «Пользователь» — учётная запись Windows, которая держит файл.

То же самое из командной строки, запущенной от имени администратора:

openfiles /query /fo table | findstr /i "1Cv8"

Дальше идите к этому сотруднику и закройте 1С у него. Если не отвечает — завершите процесс 1cv8.exe или 1cv8c.exe в диспетчере задач на его ПК. Из оснастки «Открытые файлы» файл тоже можно закрыть, но тогда незаписанные данные пропадут.

Не удаляйте вручную служебные файлы в каталоге базы (например, 1Cv8.1CL), пока база кем-то открыта. Это не освобождает сеансы, а может повредить данные.

Активные сеансы программно и в сторонних инструментах

Своя обработка за 5 минут

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

&НаСервере
Процедура ПоказатьСеансыНаСервере()

	ТекущийНомер = НомерСеансаИнформационнойБазы();

	Для Каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл
		Если Сеанс.Пользователь = Неопределено Или ПустаяСтрока(Сеанс.Пользователь.Имя) Тогда
			ИмяПользователя = "<без пользователя>";
		Иначе
			ИмяПользователя = Сеанс.Пользователь.Имя;
		КонецЕсли;

		Сообщить(СтрШаблон("№%1 | %2 | %3 | %4 | с %5%6",
			Формат(Сеанс.НомерСеанса, "ЧГ=0"),
			ИмяПользователя,
			Сеанс.ИмяКомпьютера,
			ПредставлениеПриложения(Сеанс.ИмяПриложения),
			Формат(Сеанс.НачалоСеанса, "ДФ='dd.MM.yyyy HH:mm'"),
			?(Сеанс.НомерСеанса = ТекущийНомер, " (это вы)", "")));
	КонецЦикла;

КонецПроцедуры

Код можно положить во внешнюю обработку и открыть через Файл → Открыть. ПредставлениеПриложения() превращает технические имена (1CV8C, Designer, BackgroundJob) в понятные «Тонкий клиент», «Конфигуратор», «Фоновое задание».

Расширенная аналитика

Когда штатных форм мало:

  • 🔧 «Инструменты разработчика» — известный бесплатный набор обработок. Есть удобный просмотр сеансов, соединений и блокировок с фильтрами.
  • 📊 Технологический журнал платформы. Настраивается файлом logcfg.xml и пишет подробности по ожиданиям и конфликтам блокировок, взаимоблокировкам и долгим запросам. Это инструмент для разбора тормозов, а не для ежедневного «кто в базе».
  • 📈 Системы мониторинга (например, Zabbix) со скриптом на rac session list: строят график числа сеансов и шлют оповещение, если их стало больше лицензий.

Внешние обработки из интернета перед запуском в рабочей базе откройте в Конфигураторе и посмотрите код. Обработка с правами администратора может сделать в базе что угодно.

Частые промахи при проверке активных пользователей

  • ❌ Считать строки списка людьми. Один сотрудник с двумя окнами 1С — это два сеанса. А фоновые задания и COM-соединения — вообще не люди.
  • ❌ Смотреть список на терминальном сервере и искать ПК. В колонке «Компьютер» будет имя терминального сервера. Человека ищите по имени пользователя 1С или по сеансам Windows на сервере.
  • ❌ Удалять сеанс из консоли посреди рабочего дня. Если нужно обновиться, удобнее поставить блокировку с временем начала через 15–20 минут: люди успеют сохраниться.
  • ❌ Забыть про регламентные задания. Сеанс обмена может открыться снова сразу после завершения. Перед обновлением серверной базы включите в свойствах базы в консоли флажок блокировки регламентных заданий, а после — снимите.
  • ❌ Не снять блокировку после работ. Утром никто не может войти, а в окне входа висит ваше сообщение. Снимите блокировку той же формой или дождитесь времени окончания, если оно было задано.

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

Почему пункта «Активные пользователи» нет в меню Администрирование?
У вашего пользователя нет права «Активные пользователи» или административного профиля. Попросите администратора базы добавить профиль «Администратор» или открыть список под его учётной записью.
Видно ли в списке, что пользователь сейчас делает?
Нет. Список показывает только факт сеанса, приложение, компьютер и время входа. Что человек менял, смотрите в журнале регистрации с отбором по пользователю или номеру сеанса.
Как посмотреть активных пользователей, если в базе не заведены пользователи?
Список откроется, но колонка «Пользователь» будет пустой. Различать сеансы придётся по колонке «Компьютер» и времени начала работы.
Можно ли узнать число занятых лицензий через этот список?
Не напрямую: не каждый сеанс берёт клиентскую лицензию, например фоновые задания её не используют. Для серверной базы используйте консоль кластера или rac session list --licenses.
Сеанс завис и не удаляется из консоли кластера. Что делать?
Подождите пару минут: удаление выполняется не мгновенно. Если сеанс так и висит, проблемный рабочий процесс можно завершить, но это оборвёт все сеансы на нём, поэтому делайте это вне рабочего времени.