Я поглядел код этой обработки и что-то мне показалось не сильно оптимально читать данные из регистра, потом их записывать привязывая на пустую ссылку, чтобы потом отбором по ней грохнуть данные.
в общем запилил альтернативный код для кнопки выполнить
Если Не ЗначениеЗаполнено(ДатаПо) Тогда
Предупреждение("Не указана дата очистки !", 10);
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииОбъектов.Объект,
| ВерсииОбъектов.НомерВерсии,
| ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии
|ИЗ
| РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
| НАЧАЛОПЕРИОДА(ВерсииОбъектов.ДатаВерсии, ДЕНЬ) <= &ДатаПо
|
|УПОРЯДОЧИТЬ ПО
| ДатаВерсии";
Запрос.Параметры.Вставить("ДатаПо",ДатаПо);
Выборка = Запрос.Выполнить().Выбрать();
Набор = РегистрыСведений.ВерсииОбъектов.СоздатьНаборЗаписей();
НомерСтроки = 0;
КоличествоСтрок = Выборка.Количество();
Пока Выборка.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ОбработкаПрерыванияПользователя();
Если НомерСтроки % 50 = 0 Тогда
Состояние("Прогресс " + Формат((НомерСтроки - 1) / КоличествоСтрок * 100, "ЧДЦ=2") +
"%. (удалено " + (НомерСтроки - 1) + " из " + КоличествоСтрок +") дата: " +
Формат(Выборка.ДатаВерсии, "ДФ=dd.MM.yyyy") + " документ: " +
Выборка.Объект + " номер версии: " + Выборка.НомерВерсии);
КонецЕсли;
Набор.Отбор.Объект.Установить(Выборка.Объект);
Набор.Отбор.НомерВерсии.Установить(Выборка.НомерВерсии);
Набор.Записать(Истина);
КонецЦикла;
Предупреждение("Обработка завершена !", 10);
Показать