gifts2017

Версионирование объектов. Удаление дублей версий (одинаковых версий) в регистре сведений "ВерсииОбъектов"

Опубликовал Михаил Курилов (MishaHD) в раздел Администрирование - Чистка базы

Внимание! Обработка работает только на платформе 8.3, так как используется объект ХешированиеДанных (конфигурация при этом может находиться в режиме совместимости хоть с версией 8.1).
Обработка позволяет найти и удалить дубли версий из регистра сведений "ВерсииОбъектов".

Дублем считаются две или более версий которые полностью идентичны. Поиск дублей выполняется на основе расчета хеш-суммы. Чтобы найти дубли версий выберите хеш-функцию и нажмите кнопку "Поиск дублей". Могут использоваться все доступные в 1С хеш-функции (MD5, CRC32, SHA1, SHA256). После поиска дублей в верхней таблице будет отображен список объектов по которым найдены дубли. При активации строки верхней таблицы в нижней будет отображены детализации по версиям выбранного объекта. Галочкой "Удалить версию" будут отмечены версии которые определены как дубли. Тем самым можно проверить работу обработки. 

Для удаления дублей нажмите кнопку "Удалить дубли версий". После удаления будет выполнена перенумерация версий.

Небольшой пример работы:

Некий Пупкин В.В. создал документ "Заказ покупателя" и провел его кнопкой "ОК", записав версию №1. Потом решил его проверить и открыл снова. Так как Пупкин В.В. глупый пользователь, он закрыл документ кнопочкой "ОК", опять же проведя его и создав версию №2. Далее документ был отредактирован другим пользователем и создана версия №3.

Итак в регистре три версии документа "Заказ покупателя". Вторая версия является дублем первой. Если запустить обработку и посмотреть результат, то в итоге будет две версии по документ "Заказ покупателя". Вторая версия будет удалена, а у третьей будет изменен номер на вторую.

 

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

Скачать файлы

Наименование Файл Версия Размер
Удаление дублей версий в регистре сведений версии объектов v1 44
.epf 16,65Kb
23.10.14
44
.epf 1.0 16,65Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Alexander Zaytsev (ef1) 27.10.14 07:35
не запустилась - любое значение хеш функции ошибка

{ВнешняяОбработка.УдалениеДублейВерсийВРегистреСведенийВерсииОбъектов.МодульОбъекта(86)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
{(14, 2)}: Недопустимое поле для группировки "ОбъектНаименование"
<<?>>ВерсииОбъектов.Объект.Наименование,

использую
1С:Предприятие 8.3 (8.3.5.1186)
Управление торговлей, редакция 11.1 (11.1.9.44)
2. Михаил Курилов (MishaHD) 27.10.14 13:50
(1) ef1, Добрый день! Видимо зря не указал что обработка работает только в БСП которая была на обычных формах. В новых версиях БСП поменяли структуру регистра ВерсииОбъектов, да и вообще сам принцип версионирования поменяли. Не было необходимости разбираться детально в версионировании в конфигурация на современной БСП (УТ 11, БП 3.0 и подобных). Планировал доработать обработку под новые версии БСП, но это будет тогда когда появиться немного свободного время.
3. Виталий Гуляев (vital1c) 02.03.15 23:11
Очень даже хорошо работает на УТ 11.1, очень выручила обработка
4. Виталий Гуляев (vital1c) 02.03.15 23:12
5. Aleksandr Popov (Arny83) 25.02.16 16:36
не работает Управление торговлей, редакция 11.2 (11.2.2.119)