Кто что делал в базе 1С: смотрим входы, сеансы и действия пользователей

· 9 мин

Содержание

Посмотреть активность пользователя в 1С можно в двух местах. Кто работает прямо сейчас — в списке активных пользователей: Администрирование → Поддержка и обслуживание → Активные пользователи. Что человек делал вчера или месяц назад — в журнале регистрации: Администрирование → Поддержка и обслуживание → Журнал регистрации.

Обычно вопрос звучит так: «Кто удалил документ?», «Кто сидит в базе и не даёт обновиться?», «Во сколько Иванова зашла и что закрыла?». Ниже — все рабочие способы, от кнопки в меню до скрипта, который сам пришлёт отчёт. Подходит для 1С 8.3 и более старых версий; различия отмечены отдельно.

Что 1С вообще запоминает о пользователе

Платформа ведёт три независимых источника. Путают их постоянно, а ответы лежат в разных местах.

ИсточникЧто хранитКак долгоКому доступен
Список сеансовКто подключён сейчас, с какого компьютера, чем занятТолько пока сеанс живАдминистратор
Журнал регистрацииВходы, выходы, записи и удаления данных, ошибкиСколько настроено (по умолчанию — без ограничения, пока не сократите)Роль с правом «Просмотр журнала регистрации»
Технологический журналВызовы сервера, блокировки, длительные запросыПока не удалите файлыТот, у кого есть доступ к серверу

Для 90% задач хватает первых двух. Третий нужен, когда базу тормозит и надо понять, чей запрос это делает.

Как посмотреть, кто сейчас работает в базе

Это самый быстрый способ. Подходит, когда нужно обновить конфигурацию , а кто-то «завис» в базе.

Из пользовательского режима

  1. Откройте Администрирование → Поддержка и обслуживание.
  2. Выберите Активные пользователи.
  3. В списке видны имя, компьютер, приложение (тонкий клиент, веб-клиент, фоновое задание) и время начала сеанса.

Если раздела нет в меню, у вашей роли нет прав администратора. Войдите под пользователем с полными правами.

Из конфигуратора

Администрирование → Активные пользователи. Окно такое же, но здесь есть кнопка завершения сеанса. Отключайте человека только после звонка: несохранённые данные пропадут.

В списке встречаются строки не от людей: фоновые задания, COM-соединение, обмены. Их тоже видно по колонке «Приложение». Не завершайте их без причины — оборвётся загрузка или регламентное задание.

Из консоли кластера (клиент-серверный вариант)

В консоли администрирования серверов 1С откройте: кластер → Информационные базы → нужная база → Сеансы. Здесь больше деталей: потребление памяти, число вызовов, блокировки. Плюс видны сеансы, которые не показывает список внутри базы.

💡 Если база файловая, консоли нет. Остаются список сеансов и журнал регистрации.

Журнал регистрации: что делал пользователь

Журнал — главный инструмент расследований. В нём лежат события за весь период, а не только текущий момент.

Открыть и отфильтровать

  1. Администрирование → Поддержка и обслуживание → Журнал регистрации.
  2. Нажмите кнопку отбора и задайте период.
  3. В поле «Пользователь» отметьте нужного человека.
  4. При необходимости ограничьте событием, например Данные.Удаление или Сеанс.Аутентификация.
  5. Нажмите «Применить» — список перестроится.

Не нужно просматривать весь журнал руками. Один хороший фильтр заменяет час поиска.

Какие события что значат

  • 🔑 Сеанс. Аутентификация — человек ввёл логин и пароль. Здесь же видны неудачные попытки.
  • 🟢 Сеанс. Начало — сеанс открыт. Время тут считается началом работы.
  • 🔴 Сеанс. Завершение — сеанс закрыт. Если его нет, пользователя «выбило» или он закрыл окно жёстко.
  • ✏️ Данные. Изменение — запись объекта. Видно, какой документ или элемент справочника.
  • 🗑 Данные. Удаление — удалён объект либо поставлена пометка.
  • 📋 Данные. Проведение и Отмена проведения — действия с документами.
  • ⚠️ Ошибка — сбои, которые человек часто не замечает.

Нужное событие находится по списку «Событие» в форме отбора. Там сотни пунктов, поэтому проще набрать слово в поиске по списку.

Как узнать, кто изменил конкретный документ

Откройте документ, затем Ещё → Перейти → История изменений (если включена) или выберите действие вроде «Журнал регистрации по объекту». В журнале останется отбор именно по этой записи.

Если такой команды нет, зайдите в журнал вручную и отфильтруйте по представлению данных: вставьте номер документа в поле поиска.

Что делать, если журнал пустой или короткий

Причины бывают три:

  • журнал сократили — старые файлы удалены;
  • не включена запись нужных событий в параметрах;
  • у вас нет прав на просмотр.

Параметры находятся в конфигураторе: Администрирование → Параметры журнала регистрации. Там задаётся, на сколько хранить записи и когда формируется новый файл (месяц, неделя, день).

Сократить журнал — значит удалить историю безвозвратно. Перед сокращением сделайте копию каталога 1Cv8Log внутри каталога базы.

Время работы пользователя: сколько сидел в базе

Сводного отчёта «кто сколько работал» в типовых конфигурациях нет. Но данные есть.

Вариант по шагам:

  1. В журнале оставьте события «Сеанс. Начало» и «Сеанс. Завершение».
  2. Отберите одного пользователя и день.
  3. Из времени завершения вычтите время начала.
  4. Сеансы суммируйте.

Пример. Петрова зашла в 09:02 и вышла в 12:30 (3 ч 28 мин), затем 13:15 и 18:05 (4 ч 50 мин). Итого 8 ч 18 мин присутствия в базе. Это время подключения, а не работы: сеанс может висеть открытым во время обеда.

Чтобы отличить реальную работу от простоя, считайте не сеансы, а количество записей данных. Если за час человек ничего не записал, он либо читает, либо ушёл.

Выгрузка активности кодом

Когда нужны регулярные данные, интерфейс неудобен. Отбор из журнала делается встроенной процедурой.

Отбор = Новый Структура;
Отбор.Вставить("Пользователь", "Петрова");
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));

Таблица = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Таблица, Отбор);

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

Текущие сеансы возвращает функция:

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

Выполнять такой код нужно под пользователем с административными правами, иначе список будет неполным.

Готовые отчёты и обработки

В типовых конфигурациях есть отчёт по действиям пользователей, но искать его надо по-разному.

  • 📊 В 1С:Бухгалтерия 3.0 и ЗУП 3.1 — раздел Администрирование → Поддержка и обслуживание. Нужные пункты отображаются в зависимости от прав.
  • 📊 В УТ 11 и ERP — тот же раздел, но состав отчётов шире: есть сведения о работе пользователей.
  • 📊 В любой конфигурации откройте Все функции (если команда включена в настройках) и введите в поиске слово «журнал» или «пользователи».

Если нужного отчёта нет, не пишите его сами сразу. Сначала проверьте, хватает ли отбора в журнале регистрации: он закрывает большинство запросов.

Скрытые возможности платформы

Блокировка входа новых пользователей

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

Сообщение пользователям

Из консоли администрирования можно отправить текст в открытые сеансы. Это мягкая альтернатива жёсткому отключению.

Технологический журнал

Включается файлом logcfg.xml в каталоге conf платформы. Он пишет вызовы сервера, блокировки и медленные запросы по пользователям. Файлы быстро растут, поэтому включайте его на короткое время и с узким отбором.

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1clogs" history="24">
    <event>
      <eq property="name" value="CALL"/>
      <gt property="duration" value="1000000"/>
    </event>
    <property name="all"/>
  </log>
</config>

В этом примере записываются серверные вызовы дольше одной секунды (значение указано в микросекундах), а файлы хранятся 24 часа.

Когда стандартных средств мало

Типовые возможности упираются в границы в трёх случаях.

  1. Нужна история за годы. Журнал приходится сокращать, чтобы база не тормозила. Решение — регулярно выгружать записи во внешнее хранилище до сокращения.
  2. Нужен контроль по нескольким базам сразу. Отчёт по одной базе не покажет, что человек работал в трёх.
  3. Нужны оповещения. Журнал сам никого не уведомляет.

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

Автоматизация: пусть отчёт приходит сам

Идея простая: раз в сутки собирать данные и складывать в отчёт.

  1. Напишите процедуру, которая выгружает события за вчера (пример кода выше).
  2. Создайте в конфигурации регламентное задание и привяжите процедуру.
  3. Задайте расписание: ночью, когда нагрузка минимальна.
  4. Результат записывайте в регистр сведений или отправляйте письмом администратору.

Расписание настраивается так: Администрирование → Настройки программы → Обслуживание → Регламентные и фоновые задания. Название раздела зависит от конфигурации.

Регламентное задание работает от имени заданного пользователя. Если у него нет права на журнал регистрации, выгрузка будет пустой, и ошибки вы не заметите.

Что имеет смысл контролировать автоматически:

  • ❌ серия неудачных входов подряд — подбор пароля;
  • 🌙 вход ночью, в выходные или с необычного компьютера;
  • 🗑 массовое удаление данных за короткое время;
  • 👻 учётные записи, под которыми давно никто не заходил.

Проверка перед расследованием

Перед тем как делать выводы, пройдите короткий список.

Перед разбором инцидента
Выполнено: 0 / 6

Какой способ выбрать

Что вам нужно узнать?

Типичные ошибки

  • 🔁 Общая учётная запись на всех. Журнал покажет «Бухгалтер», а кто именно — неизвестно. Заведите отдельный логин каждому.
  • 🧹 Журнал сократили «для скорости» без копии. Исчезла вся история.
  • 🕒 Расхождение времени. Время в журнале берётся с сервера, а не с компьютера пользователя. Сверяйте часы, если события «не сходятся».
  • 🔕 Отключены нужные события. Если запись данных в параметрах не включена, удаление не оставит следа.
  • 🚫 Завершили сеанс не тому. Перед отключением проверьте колонку «Приложение» и имя компьютера.
  • 📂 Файловый журнал в общей папке. При сетевом сбое он может повредиться. Храните каталог на локальном диске сервера.

Если не помогло

Пройдите по порядку:

  1. Проверьте, под каким пользователем вы смотрите: нужна роль с правом просмотра журнала.
  2. Уберите все отборы и откройте журнал целиком за день. Если записи есть, значит, фильтр был слишком узким.
  3. Проверьте параметры журнала в конфигураторе: включён ли он и какие события пишутся.
  4. Посмотрите каталог 1Cv8Log на диске: если файлов нет или они пустые, проблема в настройках или правах на каталог.
  5. Для клиент-серверной базы проверьте, что служба сервера 1С работает от учётной записи с правом записи в этот каталог.

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

Можно ли узнать, когда пользователь последний раз входил в базу?
Да. В журнале регистрации отфильтруйте по пользователю и событию «Сеанс. Аутентификация» и сортируйте по дате по убыванию. Первая строка — последний вход.
Видит ли журнал регистрации, что человек просто открыл документ и не менял?
Нет. Журнал фиксирует действия с данными: запись, проведение, удаление. Просмотр без изменений в обычной настройке не записывается.
Сколько места занимает журнал регистрации?
Зависит от числа пользователей и включённых событий. В активной базе на 20 человек это обычно сотни мегабайт в год. Размер видно по каталогу 1Cv8Log.
Можно ли отключить журнал, чтобы база работала быстрее?
Полностью отключить нельзя, а ускорения почти не будет. Разумнее ограничить список событий и периодически сокращать журнал после резервной копии.
Видит ли пользователь, что за ним следят?
Записи журнала доступны только тем, у кого есть соответствующая роль. Рядовому сотруднику они недоступны. О порядке контроля лучше предупредить работников документом о регламенте — это вопрос правил внутри компании.
Как завершить сеанс, если человек ушёл и не вышел?
Через список активных пользователей в конфигураторе или консоль кластера. Выберите сеанс и завершите его. Несохранённые данные пользователя пропадут.