Подобная задача вряд ли поступит от пользователей, но от администраторов может. Допустим, у нас есть запись в журнале регистрации об изменении элемента справочника "Товары" на определенную дату.
На скриншоте выше время регистрации записи составляет '10:38:39'. И вот, по причинам, которые мы не будем описывать в статье, администратор попросил нас изменить время на '09:00:00'. Чтож, задача поставлена - давайте выполним её!
Для начала стоит упомянуть о способе хранения журнала регистрации платформой 1С:Предприятие 8.x. Вне зависимости от режима работы информационной базы (файловый или клиент-серверный), данные журнала сохраняются во внешний файл. Для файловой базы журнал регистрации сохраняется в файле "*.lgp", находящегося в подпапке "1Cv8Log" каталога информационной базы. Точно имя файла зависит от периода, за который сохраняются данные в журнал.
Для клиент-серверной базы файл журнала регистрации хранится в каталоге данных приложения вне зависимости от информационной базы.
Именно для клиент-серверного варианта работы рассмотрим решение поставленной задачи. Для начала откроем файл журнала в обычном текстовом редакторе.
Как мы видим, файл журнала регистрации имеет обычный текстовый формат, в котором каждое событие записывается записью по определенным правилам. Эти правила не будем подробно рассматривать, чтобы не усложнять пример. На скриншоте продемонстрирован путь поиска нужной записи в файле по дате записи и представлению данных. Используя значения этих полей, мы однозначно определили текст в файле журнала регистрации, относящийся к этому событию.
Все, что нам остается - это изменить дату этого события. На скриншоте ниже Вы можете видеть результат:
Теперь, если мы откроем журнал регистрации средствами платформы, то увидим измененную запись:
Время события изменилось, чего мы и добивались. Но внимательный пользователь обязательно заметит одну странность - дата события по странной причине не соответствует хронологии возникновения других событий (см. даты события выше и ниже записи). Этот недостаток можно победить, поставив текст записи в нужное место файла журнала регистрации.
Мы смогли изменить файл журнала регистрации, но это не означает, что его надежность и достоверность в нем данных нужно ставить под сомнение! Для изменения этого файла нужны соответствующие привилегии, а также возможность закрыть все сеансы работы с базой или остановить службу сервера для клиент-серверного варианта работы, иначе при попытки записи файла будет возникать ошибка "Файл занят другим процессом".
С этой точки зрения журнал регистрации весьма надежный.
С другой стороны при переносе базы на другой сервер (в клиент-серверном варианте) нужно переносить и файлы журнала регистрации, иначе данные будут потеряны. И это большой минус.
Также стоит отметить, что для каждого кластера сервера 1С:Предприятия ведется отдельный журнал регистрации. Все это снижает его надежность, так как при просмотре журнала на одном кластере мы не будем получать достоверные данные о действиях сеансов, работавших на других кластерах.
Хорошим решением было бы вести лог действий пользователей в отдельной базе, но это уже совсем другая статья.