Для кого:
Обработка по очистке регистров накоплений и регистров сведений предназначена для пользователей со знаниями о таких прикладных объектах, как регистры. В нашем случае речь пойдет о регистре накопления и регистре сведений.
Для чего:
Иногда возникает потребность в очистке регистра накоплений, но Регистры накопления вручную не очистить. Данная обработка позволяет полностью очистить регистр накопления, удалив все записи о нем без отборов и попыток вернуть все обратно)
При очистке регистров сведений нужно понимать, что очищаются только независимые регистры, не подчиненные регистратору.
Как делалось:
Очистка регистров накопления
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегистрЗапись.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.&Регистр КАК РегистрЗапись";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Регистр", ОбъектМетаданных.Имя);
Выборка = Запрос.Выполнить().Выбрать();
НаборЗаписей = РегистрыНакопления[ОбъектМетаданных.Имя].СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Записывать = Истина;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
Попытка
НаборЗаписей.Записать(Истина);
Исключение
Ошибка = ОписаниеОшибки();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ошибка);
КонецПопытки;
КонецЦикла;
Очистка регистров сведений
НаборЗаписей = РегистрыСведений[ОбъектМетаданных.Имя].СоздатьНаборЗаписей();
НаборЗаписей.Записать();
Обработка тестировалась на:
- базе ERP 2.5.7.298 Платформы 8.3.22.1750.
- базе Бухгалтерия предприятия 3.0.128.15 Платформы 8.3.22.1750.
- базе УНФ 3.0.4.45 Платформы Платформы 8.3.22.2175
- Добавлена возможность выбора периода для регистров накопления. Если период не заполнен, будет полная очистка выбранного регистра.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.7.298