Кто сейчас в базе 1С и что он делал: проверка по шагам
Содержание
Чтобы узнать, кто работает в 1С прямо сейчас, откройте Администрирование → Обслуживание → Активные пользователи. Там видно имя пользователя, компьютер, приложение и время начала сеанса. Что сотрудник делал раньше, показывает журнал регистрации — он лежит в том же разделе.
Этих двух окон хватает в файловой базе. В клиент-серверной базе добавляется консоль администрирования кластера: она показывает все сеансы, включая фоновые задания, COM-соединения и веб-сервисы, которые обычный список пользователей прячет или подписывает невнятно. Пути даны для 1С 8.3 в интерфейсе «Такси».
Подготовка: какие права нужны и где искать команды
Список активных пользователей и журнал регистрации доступны тем, у кого есть административные права. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) это профиль «Администратор». Рядовой бухгалтер этих команд не увидит.
Пути к командам в разных программах похожи:
| Где | Активные пользователи | Журнал регистрации |
|---|---|---|
| БП 3.0, ЗУП 3.1, УТ 11 | Администрирование → Обслуживание | Администрирование → Обслуживание |
| Любая конфигурация через «Все функции» | Стандартные → Активные пользователи | Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Активные пользователи | Администрирование → Журнал регистрации |
Меню «Все функции» по умолчанию скрыто. Включите его: кнопка с тремя полосками в заголовке окна → Настройки → флажок «Отображать команду “Все функции”». Это работает в любой конфигурации, даже в нетиповой, где раздела «Администрирование» нет.
Конфигуратор удобен, когда пользовательский режим не открывается — например, база заблокирована или сломалась форма. Но и сам Конфигуратор занимает сеанс, и в списке он будет виден как отдельное подключение.
Список активных сеансов: кто сейчас в программе
Откройте «Активные пользователи». Каждая строка — один сеанс, а не один человек. Если бухгалтер запустил программу дважды, вы увидите две строки с одним именем.
Что показывают колонки:
- 👤 Пользователь — имя из справочника пользователей. Пустое имя бывает, если в базе вообще не заведены пользователи.
- 💻 Компьютер — сетевое имя машины. При работе через терминальный сервер здесь будет имя сервера, а не рабочего места.
- 🧩 Приложение — тонкий клиент, толстый клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение.
- 🕒 Начало работы — когда открыт сеанс.
- 🔢 Сеанс и Соединение — номера, по которым сеанс можно найти в журнале регистрации и в консоли кластера.
Пригодится двойной щелчок по строке: в типовых конфигурациях он открывает журнал регистрации с отбором по этому сеансу. Так за полминуты видно, что человек делал с момента входа.
Из этой же формы сеанс можно завершить командой в панели списка. В клиент-серверной базе программа спросит логин и пароль администратора кластера, если он задан.
Завершение сеанса обрывает работу пользователя без сохранения. Несохранённый документ пропадёт. Сначала позвоните сотруднику и попросите закрыть программу сам.
Журнал регистрации: что человек делал и когда
Журнал регистрации — это история событий базы: входы и выходы, запись и проведение документов, изменение справочников, ошибки, работа регламентных заданий. По нему отвечают на вопросы «кто удалил документ», «кто последним менял цену», «кто заходил ночью».
Как отобрать нужные события
- Откройте журнал:
Администрирование → Обслуживание → Журнал регистрации. - Нажмите «Установить отбор» в верхней части формы.
- Задайте период. Без него журнал за год открывается долго.
- Отметьте пользователя, компьютер или приложение.
- Для поиска изменений выберите события группы «Данные»: запись, проведение, удаление, отмена проведения.
- Для входов в программу выберите события группы «Сеанс»: начало, завершение, аутентификация.
- Двойной щелчок по строке открывает подробности: объект, представление данных и комментарий.
Как найти, кто изменил конкретный документ
Откройте журнал с отбором по событиям «Данные», а в поле «Данные» укажите сам документ. Останутся только записи об этом объекте. Колонка «Пользователь» покажет, кто и когда его записал, провёл или пометил на удаление.
Почему в журнале чего-то не хватает
Журнал пишет только то, что разрешено настройкой. Её задают в Конфигураторе: Администрирование → Настройка журнала регистрации. Варианты уровня — от «Не регистрировать» до «Регистрировать все события».
| Уровень | Что попадает в журнал | Когда выбирать |
|---|---|---|
| Ошибки | Только ошибки | Почти никогда: входы и изменения не видны |
| Ошибки и предупреждения | Плюс предупреждения | Слабые серверы, тяжёлые базы |
| Ошибки, предупреждения и информация | Плюс входы и выходы | Минимум для контроля пользователей |
| Все события | Плюс изменения данных | Нужен ответ «кто что изменил» |
Если стоит уровень ниже «Все события», запись документа в журнал не попадёт. Задним числом это не восстановить.
В том же окне есть «Сократить» — удаление старых записей с выгрузкой в файл. Перед сокращением выгрузите журнал: после удаления история пропадёт.
Физически журнал хранится в папке 1Cv8Log. У файловой базы она лежит в каталоге базы, у серверной — в каталоге кластера на сервере 1С. С версии 8.3.5 по умолчанию используется формат одного файла 1Cv8.lgd, раньше был набор текстовых файлов .lgp.
Консоль кластера: все сеансы серверной базы
В клиент-серверном варианте самый полный список даёт «Администрирование серверов 1С Предприятия» — консоль кластера. Она показывает сеансы по всем базам кластера сразу.
- Запустите консоль. Если сервер ещё не добавлен, создайте его: имя сервера и порт агента, по умолчанию 1540.
- Раскройте
Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Информационные базы → <база>. - Откройте ветку «Сеансы». Здесь пользователь, компьютер, приложение, время начала и последней активности.
- Ветка «Соединения» показывает сетевые подключения к рабочим процессам.
- Ветка «Блокировки» — какие сеансы держат блокировки данных. Это ответ на вопрос «кто не даёт провести документ ».
Ветка «Сеансы» на уровне всего кластера собирает подключения по всем базам. Отсортируйте по колонке «Последняя активность»: давно не активные сеансы видны сверху или снизу.
Если консоль не открывается и пишет про ошибку загрузки оснастки, перерегистрируйте radmin.dll из каталога bin нужной версии платформы командой regsvr32 от имени администратора. Версия консоли должна совпадать с версией сервера.
Через rac из командной строки
Без консоли сеансы смотрят утилитой rac. Ей нужен запущенный сервер администрирования ras (по умолчанию порт 1545).
rac localhost:1545 cluster list
rac localhost:1545 infobase summary list --cluster=<id кластера>
rac localhost:1545 session list --cluster=<id кластера> --infobase=<id базы>
rac localhost:1545 session list --cluster=<id кластера> --licenses
Первая команда даёт идентификатор кластера, вторая — идентификаторы баз. Третья выводит сеансы базы с полями user-name, host, app-id, started-at, last-active-at. Четвёртая показывает, какой сеанс какую лицензию занял. Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Остальные параметры смотрите в rac help session.
Скрытые и служебные подключения
Часто сеансов больше, чем людей в офисе. Разбираться помогает колонка «Приложение» (в rac — поле app-id).
| Приложение | app-id | Кто это обычно |
|---|---|---|
| Тонкий клиент | 1CV8C | Обычный пользователь |
| Толстый клиент | 1CV8 | Пользователь или обработка, требующая толстого клиента |
| Веб-клиент | WebClient | Вход через браузер, веб-публикация |
| Конфигуратор | Designer | Программист или администратор |
| Фоновое задание | BackgroundJob | Регламентные задания: обмен, загрузка курсов, обновление |
| COM-соединение | COMConnection | Внешняя программа или другая база 1С |
| Веб-сервис, HTTP-сервис | WSConnection, HTTPServiceConnection | Интеграции: сайт, мобильное приложение, ЭДО |
| Консоль кластера | SrvrConsole | Администратор сервера |
На что смотреть при проверке:
- 🔍 COM-соединение под администратором. Это внешняя обработка, сайт или чужая база, которая подключается под общей учёткой. Выясните, чей это скрипт, и заведите ему отдельного пользователя.
- 🔍 Конфигуратор в рабочее время. Если программист не предупреждал, проверьте, кто открыл его и с какого компьютера.
- 🔍 Сеанс с компьютера, которого нет в офисе. Сверьте имя машины со списком рабочих мест.
- 🔍 Сеанс без активности несколько часов. Чаще всего сотрудник ушёл, не закрыв программу. Но такой сеанс держит лицензию.
- 🔍 Пользователь не виден в окне входа. У пользователя в Конфигураторе снят флажок «Показывать в списке выбора». Так обычно оформляют технические учётки обмена. Проверьте полный список в
Администрирование → Пользователи.
В файловой базе служебных подключений меньше, но COM-соединения и Конфигуратор там тоже встречаются. Фоновые задания в файловой базе выполняет один из клиентских сеансов, отдельной строки у них может не быть.
Как ограничить доступ и навести порядок
Контроль бесполезен, если все входят под одним «Администратором». Журнал тогда покажет одно имя на всех.
- Своя учётная запись каждому. Заведите пользователей в
Администрирование → Настройки пользователей и прав → Пользователи. Общие учётки удалите или отключите им вход. - Пароли. В разделе настроек пользователей и прав задайте требования к сложности и сроку действия пароля.
- Роли по задачам. Дайте права через группы доступа: кассиру — касса, кладовщику — склад. Полные права оставьте одному-двум администраторам.
- Технические учётки для интеграций. Обмену и сайту — отдельные пользователи без интерактивного входа.
- Уволенным — отключить вход сразу. В карточке пользователя снимите разрешение на вход в программу. Удалять пользователя не нужно: его записи в журнале и документах останутся связаны с именем.
- Блокировка на время работ. Для обновления закройте вход новым пользователям:
Администрирование → Обслуживание → Блокировка работы пользователей. В серверной базе то же делается в свойствах базы в консоли кластера флажком блокировки начала сеансов.
Блокировка начала сеансов не выбрасывает тех, кто уже работает, сразу: программа предупреждает их и завершает сеансы по расписанию блокировки. Ставьте её вне рабочего времени или заранее предупредите людей.
Автоматизация контроля и отчёты
Смотреть список вручную каждый день неудобно. Есть три способа автоматизировать контроль.
Отчёт по журналу регистрации
В типовых конфигурациях на БСП есть отчёт «Анализ журнала регистрации». Его варианты показывают активность пользователей за период: когда входили, сколько работали, сколько событий записали. Найдите его через поиск по разделу «Администрирование» или в «Все функции → Отчёты». Отчёт можно сохранить с настройками и отправлять по расписанию через рассылку отчётов.
Скрипт с rac
На сервере удобно запускать rac session list из планировщика Windows и складывать вывод в файл с датой. Так копится история: кто работал по ночам, сколько лицензий занято в пике.
@echo off
set RAC="C:\Program Files\1cv8\<версия>\bin\rac.exe"
set CL=<id кластера>
%RAC% localhost:1545 session list --cluster=%CL% > "D:\1c_sessions\%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%.txt"
Формат даты в %DATE% зависит от региональных настроек Windows. Строка выше рассчитана на русский формат ДД.ММ.ГГГГ. Проверьте имя файла после первого запуска.
Своя обработка
Программист может собрать список сеансов прямо в 1С. Метод ПолучитьСеансыИнформационнойБазы() работает на сервере и возвращает массив сеансов:
&НаСервере
Процедура ПоказатьСеансыНаСервере()
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Имя = ?(Сеанс.Пользователь = Неопределено, "<без имени>", Сеанс.Пользователь.Имя);
Сообщить(СтрШаблон("%1 | %2 | %3 | с %4",
Имя,
Сеанс.ИмяКомпьютера,
ПредставлениеПриложения(Сеанс.ИмяПриложения),
Формат(Сеанс.НачалоСеанса, "ДФ='дд.ММ.гггг ЧЧ:мм'")));
КонецЦикла;
КонецПроцедуры
Такую процедуру ставят в регламентное задание и пишут результат в регистр или отправляют администратору. Для выгрузки истории подходит метод ВыгрузитьЖурналРегистрации() с отбором по периоду и пользователю.
Частые ошибки при проверке
- ❌ Считать строки списка людьми. Один человек с двумя окнами — два сеанса. Фоновое задание — тоже сеанс.
- ❌ Искать в журнале изменения при уровне «Ошибки и предупреждения». Их там нет и не будет. Сначала поднимите уровень.
- ❌ Завершать «зависший» сеанс, не проверив его. Долгий сеанс без активности может оказаться обновлением или закрытием месяца в фоне. Посмотрите приложение и журнал, потом решайте.
- ❌ Доверять имени компьютера на терминальном сервере. Там у всех одно имя. Различайте по пользователю или включите в RDP-сессиях собственные учётки.
- ❌ Смотреть консолью другой версии. Консоль 8.3.22 к серверу 8.3.24 может не подключиться или показать не всё.
Частые вопросы
Можно ли узнать, кто работал в 1С, если сотрудник уже вышел?
Видит ли сотрудник, что администратор смотрит его сеанс?
Почему в списке активных пользователей есть «Фоновое задание», хотя все вышли?
Администрирование → Обслуживание → Регламентные операции.Сколько хранится журнал регистрации?
Как узнать, кто занял все лицензии?
rac session list --cluster=<id> --licenses или в консоли кластера в ветке «Сеансы». Сеансы фоновых заданий лицензию клиента не занимают.