Статья

Как в 1С удалить записи регистра сведений или накопления?

Вариант 1

Чтобы программно удалить записи, подчиненные регистратору, можно использовать следующий код:
НаборЗаписей = РегистрыСведений.ИмяНашегоРегистра.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);
НаборЗаписей.Записать();
Сначала мы создаем набор записей нашего регистра. Далее устанавливаем отбор по регистратору, передавая ссылку на конкретный документ. А затем записываем созданный пустой набор.

Вариант 2

Чтобы удалить ВСЕ записи регистра, нужно воспользоваться следующим лаконичным кодом:
НаборЗаписей = РегистрыСведений.ИмяНашегоРегистра.СоздатьНаборЗаписей(); 
НаборЗаписей.Записать();

Вариант 3

Этот вариант подходит для удаления записей независимого регистра сведений или накопления (не подчиненного регистратору):
НаборЗаписей = РегистрыСведений.ИмяНашегоРегистра.СоздатьМенеджерЗаписи();
// устанавливаем отбор по нужным реквизитам регистра:
НаборЗаписей.Период = НачалоДня(ТекущаяДата());
НаборЗаписей.Контрагент = Контрагент;
НаборЗаписей.Организация = Организация;
НаборЗаписей.Прочитать();
НаборЗаписей.Удалить();