44. «БСП» - подсистема «Версионирование объектов»
Работая с пользователями, наверное, каждый из 1с-ников сталкивался с ситуацией, когда подходит пользователь и говорит что данные, которые он вчера, сегодня, час назад, 5 минут назад (нужное подчеркнуть) вводил, исчезли, или что хуже изменились без его вмешательства. аботая с пользователямии В большинстве случаев на помощь 1с-нику приходит журнал регистрации, в котором можно указать, кто и когда изменял объект баз данных. Но как показывает практика этого в некоторых случаях недостаточно. В каждой базе есть объекты изменение реквизитов, которых вызывает лавинообразное изменение данных в базе (например, документ «установка цен номенклатуры»). Такие объекты принято называть ключевыми. Для них желательно не просто отмечать факт доступа и изменения объекта, но и желательно видеть что менялось. Такой функционал из коробки доступен в конфигурациях «управление торговым предприятием» УТП и «Управление производственным предприятием» УПП, а также в ряде других конфигураций. Если вы будете использовать БСП, то сможете с минимальными правками конфигурации добавить функционал Версионирование объектов. Под понятием версионирование подразумевается сохранение всех версий объектов в базе данных. Любые изменения объекта теперь будут записываться. Итак, рассмотрим, что же нужно сделать для использования данного функционала в нашей конфигурации.
Настройку программы можно условно разделить на два этапа: настройки, производимые в конфигураторе и настройки непосредственно в программе.
Сначала произведем изменения в конфигураторе.
Сначала в общих командах найдите общую команду «история изменений и включите ее для тех объектов конфигурации, которые планируете отслеживать.
Теперь создайте подписку на событие и укажете те же объекты что и в предыдущей общей команде. Событие указываем то, которое вам нужно я обычно указываю «при записи» обработчиком события следует назначить процедуру ЗаписатьВерсиюОбъекта из модуля ВерсионированиеОбъектовСобытия.
Теперь осталось только указать в регистре сведений «ВерсииОбъектов» тип измерения «Объект» такой же, как и типы параметров команды или типы подписки на события.
Теперь нам нужно запустить систему в режиме «Предприятие» и выставить константу «Использовать Версионирование объектов» как истина. Теперь нужно указать в форме «Версионирование объектов» какие объекты, и при каких событиях, будут версионироватся и будут ли она версионираваться вообще.
После этого в нужных нам объектах появиться дополнительная команда с помощью, которой мы сможем просматривать и версии объекта и различия между ними.
Напоследок хочу сказать, что версионирование большого количества документов и справочников приводит к значительному увеличению базы данных, что не лучшим образом сказывается на производительности, пользоваться этим механизмом нужно с умом и только при необходимости, а не в качестве превентивной меры.