Проверить уровни и границы журнала без изменения его хранения

Учебные задачи

Читаем существующие настройки и диапазон дат. Отключённая регистрация новых событий не обязательно означает отсутствие ранее сохранённых событий.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ отдельную пустую файловую базу на 8.5.1.1343. Корневое имя конфигурации УчебныйЖурнал85. Рабочий журнал УТ/КА2/УНФ/БП не используйте.

  2. Запускайте серверный ВыполнитьПример() Экспорт собственного учебного модуля с правом просмотра журнала. Для уроков записи в настройках журнала собственной базы должен быть разрешён уровень Информация.

  3. Фрагмент вставьте в тело процедуры; каждый урок запускайте отдельно. Код НЕ включает регистрацию автоматически и НЕ меняет настройки журнала.

  4. Уроки с ЗаписьЖурналаРегистрации оставляют собственные события в журнале учебной базы. Это реальная диагностическая запись, не запись прикладного документа. Очистка/сокращение журнала не выполняются.

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

Уровни = ПолучитьИспользованиеЖурналаРегистрации();
Сообщить("Разрешённых уровней: " + Строка(Уровни.Количество()));
Для Каждого Уровень Из Уровни Цикл
    Сообщить("Уровень: " + Строка(Уровень));
КонецЦикла;
ПериодЖурнала = ПолучитьПериодЖурналаРегистрации();
Если ПериодЖурнала.Начало = Неопределено И ПериодЖурнала.Конец = Неопределено Тогда
    Сообщить("Журнал не содержит событий");
Иначе
    Если ПериодЖурнала.Начало = Неопределено Или ПериодЖурнала.Конец = Неопределено Тогда
        ВызватьИсключение "Получен неполный диапазон журнала";
    КонецЕсли;
    Сообщить(ПериодЖурнала.Начало <= ПериодЖурнала.Конец);
    Сообщить("Самое старое событие: " + Формат(ПериодЖурнала.Начало, "ДФ=yyyy-MM-dd HH:mm:ss"));
    Сообщить("Самое новое событие: " + Формат(ПериодЖурнала.Конец, "ДФ=yyyy-MM-dd HH:mm:ss"));
КонецЕсли;
Сообщить("Период разделения хранения: " + Строка(ПолучитьПериодРазделенияХраненияДанныхЖурналаРегистрации()));

Разбор по шагам

  1. Количество уровней относится к разрешённой регистрации, не к количеству событий.

  2. ПолучитьПериодЖурналаРегистрации возвращает Диапазон. Две границы Неопределено означают пустой журнал.

  3. До форматирования/сравнения проверяем обе границы. Непустой диапазон относится к уже сохранённым событиям.

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

Как проверить результат

  1. При непустом журнале проверка Начало <= Конец даёт Истина; иначе выводится сообщение об отсутствии событий.

  2. Ни один уровень, период хранения или старое событие не изменились. Имена пользователей/компьютеров не читаются.

Ожидаемый результат

Разделены настройки регистрации, наличие истории и политика разделения хранения.

На что обратить внимание

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

  2. Диапазон дат не является доказательством полноты бизнес-аудита.

  3. Не вызывайте очистку или смену периода хранения ради совпадения учебного результата.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.