новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Изменяем запись журнала регистрации

  • Добавить свою публикацию
  • для этого требуется регистрация

Небольшая задача

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

Изображение

На скриншоте выше время регистрации записи составляет '10:38:39'. И вот, по причинам, которые мы не будем описывать в статье, администратор попросил нас изменить время на '09:00:00'. Чтож, задача поставлена - давайте выполним её!

Выполняем

Для начала стоит упомянуть о способе хранения журнала регистрации платформой 1С:Предприятие 8.x. Вне зависимости от режима работы информационной базы (файловый или клиент-серверный), данные журнала сохраняются во внешний файл. Для файловой базы журнал регистрации сохраняется в файле "*.lgp", находящегося в подпапке "1Cv8Log" каталога информационной базы. Точно имя файла зависит от периода, за который сохраняются данные в журнал.

Изображение

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

Изображение

Именно для клиент-серверного варианта работы рассмотрим решение поставленной задачи. Для начала откроем файл журнала в обычном текстовом редакторе.

Изображение

Как мы видим, файл журнала регистрации имеет обычный текстовый формат, в котором каждое событие записывается записью по определенным правилам. Эти правила не будем подробно рассматривать, чтобы не усложнять пример. На скриншоте продемонстрирован путь поиска нужной записи в файле по дате записи и представлению данных. Используя значения этих полей, мы однозначно определили текст в файле журнала регистрации, относящийся к этому событию. 

 

Все, что нам остается - это изменить дату этого события. На скриншоте ниже Вы можете видеть результат:

Изображение

 Теперь, если мы откроем журнал регистрации средствами платформы, то увидим измененную запись:

Изображение

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

Внимание

Мы смогли изменить файл журнала регистрации, но это не означает, что его надежность и достоверность в нем данных нужно ставить под сомнение! Для изменения этого файла нужны соответствующие привилегии, а также возможность закрыть все сеансы работы с базой или остановить службу сервера для клиент-серверного варианта работы, иначе при попытки записи файла будет возникать ошибка "Файл занят другим процессом".

Изображение

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

 

С другой стороны при переносе базы на другой сервер (в клиент-серверном варианте) нужно переносить и файлы журнала регистрации, иначе данные будут потеряны. И это большой минус.

 

Также стоит отметить, что для каждого кластера сервера 1С:Предприятия ведется отдельный журнал регистрации. Все это снижает его надежность, так как при просмотре журнала на одном кластере мы не будем получать достоверные данные о действиях сеансов, работавших на других кластерах.

 

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

 
0
Читайте также
Ведение журнала регистрации 1С 8.1 в отдельной базе MSSQL.
Ваша база занимает десятки гигабайт, то ожидание просмотра журнала регистрации может занять много времени. Почему это происходит?
Разработки
Журнал регистрации 1С в отдельной SQL-базе
Ведение журнала регистрации в 1С 8.1 в SQL базе
Универсальный журнал документов
Разработка универсальный журнал документов
Журнал регистрации изменений во внешней БД MS SQL Server
Журнал регистрации в 1С доработанный
Еще от автора
≡ к списку статей