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