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