Как в 1с отследить изменение документа. История данных. Как настроить версионирование объектов

Если вы разрабатываете новую конфигурацию то обязательно должны включить журнал регистрации. Он позволит отслеживать все изменения в вносимые пользователями в 1С. Например вы сможет узнать кто что добавлял удалял или изменял.

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

Настройка журнала регистрации и просмотр истории изменений

И так для начала давайте настроим журнал регистрации в 1С. Настройки аналогичны как для версии 8.2 так и для 8.3. Запускаем Конфигуратор ищем пункт Администрирование и выбираем Настройка журнала регистрации.

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

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

Теперь для того что просмотреть изменения в журнале регистрации нужно зайти в конфигуратор открыть пункт меню Администрирование и выбрать Журнал регистрации.

Откроется Журнал регистрации в котором записываются все действия пользователей. Например, я создал новый документ. Давайте посмотрим, как мои действия записались в журнал регистрации. Мы видим таблицу, в которой есть поля Дата и время, Пользователь, Событие, Статус транзакции и метаданные. По ним мы видим, что я зашел в программу 13.11.17 под учётной записью Администратор. В колонке событие видно, что я добавил Данные. В колонке метаданные видно какой документ.

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

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

Очень часто мне задают вопросы:

  • Как в 1С 8.2 посмотреть поменявшего документ?
  • Как в 1с посмотреть изменившего документ?
  • Как в 1С узнать кто и когда изменял документы?
  • Как в 1С узнать кто изменил проводку в документе?
  • Как посмотреть кто изменял документ в 1с?

Журнал регистрации

Содержит информацию о том, какие события происходили в информационной базе в определенный момент времени или какие действия выполнял тот или иной пользователь. Для каждой записи журнала, отражающей изменение данных, отображается статус завершения транзакции (транзакция завершена успешно, или же транзакция отменена).

Журнал регистрации доступен как в режиме 1С:Предприятие, так и в режиме Конфигуратор.

Доступ к журналу регистрации возможен как из режима Конфигуратора (через меню Администрирование - Журнал регистрации ), так и из режима Предприятия (меню Сервис - Журнал регистрации ). В режиме Такси (Основное меню - Все функции - Стандартные - Журнал регистрации )

Вид журнала регистрации (Обычные формы и Такси):


Отбор в журнале регистрации (Обычные формы и Такси):


Используя средства работы со списками имеется возможность выгрузить журнал регистрации в табличный или, при необходимости, текстовый документ (через Действия - Вывести список) , который в дальнейшем может быть сохранен например в формате Excel , TXT или HTML. При этом существует возможность настройки уровня событий, которые будут фиксироваться в журнале регистрации, а также периодичности разделения журнала на отдельные файлы (в режиме конфигуратора меню Администрирование - Настройка журнала регистрации ).


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

Где хранится журнал регистрации

В Файловой базе: в каталоге базы папка 1Cv8Log - это и есть директория содержащая журнал регистрации.

Если вы планируете перенести файловую базу данных и хотите сохранить историю журнала регистрации & вам обязательно надо скопировать папку 1Cv8Log в категорию новой базы 1С. Если необходимо очистить журнал регистрации 1С в файловой базе просто удалите папку 1Cv8Log.

В Клиент-серверной базе: C:\Program Files\1cv8\srvinfo\<Имя кластера сервера>\<Идентификатор базы на сервере>\1Cv8Log

С версии 8.3.5.1068 . Значительно переработали журнал регистрации для того, чтобы увеличить скорость выполнения запросов к журналу и повысить надёжность хранения данных.

Для этого, в том числе, потребовалось изменить формат хранения журнала регистрации. Теперь он хранится в одном файле базы данных SQLite. Этот файл имеет расширение lgd.

Версионирование объектов

В некоторых конфигурациях 1С внедрен специальный механизм «Версионирование объектов».

По умолчанию версионирование выключено, чтобы включить откройте Сервис - Настройки учета - Настройка параметров учета

По кнопке «Настройка версионирования объектов» выбираем, какие справочники и документы нужно версионировать (наблюдать за тем, кто, что и когда изменил).

По умолчанию наблюдение за объектами информационной базы не ведется, поетому напротив каждого типа документов установлен признак «Не версионировать». Если нужно чтоб наблюдение велось, нужно установить «Версионировать» напротив интересующего журнала документов.

Все, при закрытии окна и нажатии на кнопку «Оk» наблюдение за объектами будет вестись.

Для того чтоб просмотреть все изменения которые кто-то делал в документе или справочнике нужно перейти в меню: Сервис - История изменений объектов

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.11.2867.

Мы реализовали новый механизм, история данных , который компактно хранит историю изменения прикладных данных пользователями. С помощью готовых интерфейсных решений или с помощью встроенного языка вы можете теперь гибко анализировать изменения данных, сравнивать разные версии и восстанавливать данные в то состояние, которое они имели в выбранной версии.

В каких сценариях нужна работа с историей данных

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

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

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

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

При этом во всех перечисленных сценариях хочется, чтобы эти возможности достигались с минимальными потерями производительности и места на диске.

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

Понятно, что совсем убрать потери производительности невозможно, потому что вместо одного действия, необходимо выполнять два: сохранение объекта и ещё сохранение его истории. Но при этом хочется, чтобы эти потери были незаметны.

Есть и ещё одна особенность, которая связана не с функциональностью, и не с техническими требованиями, а со спецификой рынка 1С:Предприятия. Можно придумать очень хороший механизм, который и работать будет быстро, и функциональность будет иметь большую. Но если для его настройки, включения и обслуживания понадобятся значительные технические знания, это может свести на нет все его преимущества.

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

Какие возможности для анализа истории уже существуют в платформе

Главный инструмент, который вы можете использовать для анализа того, «что происходит в системе», это журнал регистрации . В числе прочего он регистрирует факты изменения данных. То есть можно узнать, кто и когда изменил данные некоторого объекта. Но его возможности в обсуждаемой области на этом и заканчиваются, потому что по журналу регистрации нельзя понять, какой именно реквизит был изменён, какое было его предыдущее состояние. И уж тем более нельзя с помощью журнала регистрации восстановить предыдущее состояние реквизита или всего объекта.

Другой инструмент, который существует довольно давно и есть во всех тиражных решениях, это БСП – библиотека стандартных подсистем. В её составе есть подсистема версионирования объектов . Эта подсистема содержит все перечисленные функции, однако она имеет некоторые практические ограничения.

Во-первых, она является частью библиотеки, поэтому её внедрение в прикладное решение требует участия квалифицированного разработчика. Хорошо, если БСП изначально присутствует в прикладном решении. Но если её там нет, администратор, или, тем более, квалифицированный пользователь, не смогут самостоятельно её внедрить.

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

Преимущества решения, встроенного в платформу

Когда мы проанализировали имеющуюся ситуацию, имеющийся опыт использования БСП, взвесили все «за» и «против», мы пришли к выводу, что наиболее эффективным решением будет реализовать историю данных в составе самой технологической платформы. Это позволит достичь следующих преимуществ:

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

Основные сведения о механизме

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

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

«Включение» механизма заключается в том, чтобы указать, для каких именно объектов конфигурации будет вестись история изменений. Причём ведение истории можно включать не только для всего объекта целиком, но и для его отдельных составных частей: реквизитов, измерений, ресурсов. В том числе для реквизитов табличных частей. Таким образом, вы можете выбирать: хранить полную информацию, или экономить место.

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

Данные истории мы храним в отдельных таблицах информационной базы. Для повышения эффективности мы храним только разницу между версиями данных. Если у вас есть «тяжёлый» документ с большим количеством строк в табличной части, а вы меняете только один реквизит в самом документе, то в истории данных сохранится только одно это изменение. То есть у вас не будет храниться множество копий этого объекта, и занимать место на диске.

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

Обработка изменения данных

Процесс создания версии данных состоит из двух этапов. Сначала, когда вы записываете объект (например, документ), формируется специальное сообщение, которое помещается в очередь. Этот этап выполняет платформа, разработчик в нём не участвует.

А вот второй этап инициируется разработчиком. Второй этап заключается в том, что при обработке очереди эти данные извлекаются, помещаются в хранилище версий, и становятся доступными для работы с ними.

Для того чтобы таким образом обработать очередь, у менеджера истории данных (МенеджерИсторииДанных ) есть метод ОбновитьИсторию() . Мы предполагаем, что вы будете использовать его так же, как похожий метод, предназначенный для обновления индекса полнотекстового поиска. То есть обновлять историю вы будете в некотором регламентном задании, которое выполняется с определённой периодичностью.

Мы полагаем, что в результате такой асинхронной работы будет обеспечена как эффективная запись объектов, так и минимизация потерь производительности.

Пользовательский интерфейс

В пользовательском интерфейсе 1С:Предприятия новый механизм называется История изменений . Он включает в себя несколько форм, которые позволяют выполнять те действия, которые были перечислены в начале этой статьи.

Список версий по конкретному объекту

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

Она позволяет увидеть список всех изменений (версий) объекта.

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

В этом списке, в колонке

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

Итак, ответим же на вопросы «Как в 1С 8.2 посмотреть поменявшего документ?», «Как в 1с посмотреть ?», «Как в 1С узнать кто и когда изменял документы?», «Как в 1С узнать кто изменил проводку в документе?», «Как посмотреть кто изменял документ в 1с?»


На самом деле все достаточно просто. В программе 1С:Бухгалтерия имеется встроенный инструмент по фиксации действий пользователей в информационной базе.

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

Добавим в последний документ по начислению еще одного работника. Рассчитаем и проведем документ.

Казалось бы, все. Умышленное добавление к выплате незаметно насчитано, остается только дождаться формирования ответственным бухгалтером документа выплат, получить «доплату» и можно идти в магазин за обновками… Однако злоумышленнику спешить не стоит.

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

Для этого открываем пункт главного меню «Сервис», и далее выбираем «Журнал регистрации». Замечу что, по умолчанию опция журнала регистрации включена. Однако, иногда, ошибочно полагая, что регистрация приведет к понижению производительности, некоторые администраторы ее отключают. Тем самым лишаясь полезной функциональности.

Итак открываем журнал.

Установив фильтр по документу видим все произведенные с ним действия.

Т.е. какой пользователь, с какого компьютера, в каком документе, и, главное, что и когда сделал.

Таким образом, от всевидящего ока 1С, при изменении документов никуда не деться.

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

Для примера продемонстрируем журнал кассовых документов конфигурации одного из предприятий, воспользовавшихся данной разработкой. В поле «Ответственный» мы видим неизменное значение человека, создавшего документ, а в поле «Изменивший» — ник пользователя 1С, внесшего последние изменения.

И, дополнительно, доступна информация по конкретным внесенным изменениям реквизитов документа. Кто, когда, в каком документе, с чего на что, с какого компьютера. Все, вплоть до знака.

Воспользовавшись одним из рассмотренных нами способов бухгалтер, имеющий доступ, всегда сможет верно определить пользователя 1С, внесшего последние изменения в документ информационной базы.

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

Обсудить операцию и задать по ней вопросы можно в .

Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на


Оцените статью:

Версионирование в 1С:Підприємство ➾ История изменений объектов ➾ Как настроить версионирование объектов в 1С:ПІдприємство? ➾ Что такое версионирование? Настройка вариантов, роли, механизм записи версий и др.

Представьте ситуацию: вы - менеджер по продажам. Вы сформировали заказ покупателя, по которому должны сделать отгрузку товара. Сформировали документ реализации и обнаружили, что данные в нем не совпадают с заказом покупателя. Чтобы узнать, кем, когда и какие изменения были внесены в документ, в конфигурациях "1С:ПІдприємство 8" существует механизм версионирования.

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

Система позволяет просматривать любую версию объекта или сравнивать любые версии объекта между собой. Для работы с историей изменений объектов необходимо выполнить предварительную настройку их версионирования. Настройку и просмотр истории версий выполняет администратор системы.


Как настроить версионирование объектов?

На данный момент механизм версионирования доступен во многих типовых, самых распространенных конфигурациях, например таких как:

Настройку версионирования выполняет Администратор системы с полными правами.

Откройте закладку "Версионирование" и поставьте галочку "Использовать версионирование объектов":

Нажмите на "Настройка версионирования объектов..."

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

  • Не версионировать - значение установлено всем объектам по умолчанию;
  • Версионировать - значение используется для настройки справочников и документов;
  • Версионировать при проведении - значение используется только для документов.

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

Если у документа установлен режим Версионировать при проведении, то первая версия документа будет записана в историю только после первого проведения документа. Впоследствии версии документа будут записываться при каждой записи проведенного документа. Режим позволяет не создавать версии новых и не заполненных окончательно пользователем документов, чтобы не увеличивать размер ИБ. Рекомендуется применять эту настройку для всех документов.

Версионирование большого количества объектов может привести к росту информационной базы из-за хранения их версий. Поэтому рекомендуется использовать эту возможность избирательно.

Чтобы просмотреть историю изменений объектов, откройте Сервис/История изменений объектов. Команда доступна только администратору системы и только для тех объектов, у которых настроено версионирование. В открывшейся форме выберите объект (в примере это Заказ покупателя), выделите версии данного объекта, которые нужно сравнить, нажмите кнопку "Сравнить версии".

Эта команда сформирует Отчет по изменениям версий объекта (нажмите на изображение, чтобы увеличить):

Windows 7