Большинство решений данного вопроса на Инфостарте представлены в виде различных обработок, удаляющих записи регистра сведений «Версии объектов», и не предусматривают блокировок механизма версионирования.
В данной статье остановимся подробнее на создании механизма, позволяющего временно отключать версионирование объектов.
В параметры сеанса добавляем элемент «ВременнаяБлокировкаВерсионированияОбъектов» с типом Булево.
В модуль сеанса конфигурации в процедуру УстановитьЗначениеПараметраСеанса (ИмяПараметра, УстановленныеПараметры) строки кода:
В общий модуль «РаботаСОбщимиПеременнымиПовтИсп» в функцию ПолучитьЗначениеПеременной (ИмяПараметра) добавляем:
В общий модуль «ОбщегоНазначенияЗКПереопределяемый» в функцию ПолучитьЗначениеПеременной (ИмяПараметраВР, НайденноеЗначение, Кэш, ПоместитьВКэш) добавляем:
В общий модуль «ВерсионированиеОбъектов» в процедуру МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта (Источник, Отказ)
Осталось создать дополнительную внешнюю обработку, с помощью которой можно устанавливать блокировку версионирования, например, перед групповым перепроведением документов. После окончания перепроведения документов блокировку нужно снимать. У каждого нового сеанса параметр «ВременнаяБлокировкаВерсионированияОбъектов» будет иметь значение «ложь».
В следующих частях статьи планируется рассмотреть создание механизма позволяющего не сохранять дублирующиеся версии в процессе их возникновения и механизм удаляющий в автоматическом режиме не актуальные версии объектов.
Версионирование объектов. Отсеивание дублирующихся версий в процессе возникновения (УПП 1.3). Часть 2 :