Журнал регистрации изменений во внешней информационной базе 1С
Давно известно, что стандартный журнал регистрации 1С достаточно плохо продуман и реализован. Допустим, он предоставляет информацию об идентификаторе транзакции, но не предоставляет сведения о том, какой реквизит был изменен, что более важно. Часто возникающий вопрос — как быть, если пользователей работает много, изменений производится тоже достаточно много и вы пытаетесь в стандартном журнале найти, кто изменил документ? К сожалению, подобная, в общем случае, тривиальная задача займет у вас очень много времени. Простой отбор по какому-нибудь документу может занимать 5-10 минут, а время, как известно, деньги…
Перейти к описаниюДавно известно, что стандартный журнал регистрации 1С достаточно плохо продуман и реализован. Допустим, он предоставляет информацию об идентификаторе транзакции, но не предоставляет сведения о том, какой реквизит был изменен, что более важно. Часто возникающий вопрос — как быть, если пользователей работает много, изменений производится тоже достаточно много и вы пытаетесь в стандартном журнале найти, кто изменил документ? К сожалению, подобная, в общем случае, тривиальная задача займет у вас очень много времени. Простой отбор по какому-нибудь документу может занимать 5-10 минут, а время, как известно, деньги…
Основные возможности
Прежде всего, хочется перечислить, все основные механизмы с обоснованием, почему используются именно они:
- Подсистема работает в конфигурациях 8.2 и 8.3 в толстом, тонком и WEB-клиенте (обычные и управляемые формы). Сейчас сложилась парадоксальная ситуация. Есть конфигурации, которые используют обычные формы, конфигурации, которые работают на управляемых формах, а также есть те, которые работают и первым, и вторым способом. Наша подсистема позволяет работать в любом режиме, причем если будет запущена в толстом клиенте, то будет интерфейс и формы толстого клиента, если в тонком или WEB, то на управляемых формах. При этом практически не будет никакой разницы с точки зрения функциональности.
- Регистрируются изменения для следующих видов объектов: константы, справочники, документы, планы видов характеристик, планы счетов, планы видов расчета, бизнес-процессы, задачи и регистры сведений.
- Для хранения истории изменений объектов используется внешняя информационная база 1C. Был выбран именно этот механизм хранения, т.к. он не влияет на размер основной информационной базы 1C, а работа напрямую с базой данный 1C позволяет быстро производить чтение и запись событий.
- При помещении во внешнюю информационную базу история изменений объектов «сжимается». Что это значит? Приведем пример. Допустим пользователь «А» создал документ, заполнил его и провел. Затем пользователь «Б» его открыл и изменил в нем один реквизит, после чего также провел. При этом наша подсистема позволит вам увидеть, только то, что пользователь «Б» изменил без показа всех реквизитов. Это позволяет точно сказать, что было изменено.
- Есть возможность настроить список объектов, по которым не нужно отслеживать изменения. Скажем больше: такая возможность просто необходима! Так как в типовых конфигурациях есть, например, справочники «Сохраненные настройки» или «Рабочие места», по которым нет необходимости вести историю изменений, так как эти справочники служебные.
- Поддержка ведении истории в распределенных информационных базах (РИБ) с двумя способами ведения истории (полный или упрощенный).
- Просмотр изменений прямо на формах объектов. Позволяет при открытии объектов из журнала регистрации подсветить на форме измененные объекты красной рамкой. При этом в подсказках измененных объектов пишется дата изменения, кто изменил, что было раньше и что стало после изменения.
- «Откат» изменений объектов в конфигурации на предыдущие версии по данным журнала регистрации.
- Возможность записи событий входа и выхода пользователей в информационную базу (при желании можно отключить).
- Гибкая система отборов: по пользователю, компьютеру, типу метаданных, объекту, представлению, событию за период. Все отборы устанавливаются на фантастической скорости! Это не десятки минут ожидания работы типового механизма. Все просто и быстро.
- Один журнал регистрации 1C для нескольких информационных баз 1С.
- Есть возможность добавить подписки на события, которые будут срабатывать при изменении выбранных объектов или реквизитов и оповещать ответственных пользователей. Т.е., например, если кассир отвечает за кассовые документы, и кто-то отличный от кассира поменял реквизит сумма в документе, то подсистему можно настроить так, что кассир будет оповещен о том, что объект или реквизит документа изменил другой пользователь. События подписок (оповещения) создаются при сжатии объектов из кэша, при этом пользователь получает уведомление только при изменении другим пользователем, собственные изменения не вызывают оповещений.
- Минимальное влияние на производительность. Вы практически не почувствуете разницу при работе с нашей подсистемой и без нее.
- Для типовых конфигураций разработаны внешние печатные формы, которые позволят просматривать истории изменений объектов при печати. Т.е. для любых объектов типовых конфигураций (БП, ЗУП, УПП, УТ, КА, БГУ, УНФ) можно за пару щелчков мыши, нажав на кнопку «Печать» и выбрав пункт «Просмотр изменений» открыть изменения данного объекта.
- В подсистеме используется уникальный механизм защиты от записи истории объектов в клонах информационных баз. Часто, необходимо сделать копию информационной базы для тестирования доработок, экспериментов и т.д. При этом наша подсистема будет работать только в работающей конфигурации, в копиях-клонах работать она не будет. Эта особенность пригодится программистам, т.к. позволит не думать, что копия будет добавлять свои события в историю.