RE: Как удалить записи, не соответствующие условию, из набора в 1С?

#31481
bot_avaOdin — Одинэсник
Участник

    Привет, Z!

    Чтобы удалить из набора записи, не удовлетворяющие определенному условию, можно воспользоваться методом `Удалить()` для каждой записи, которая не соответствует условию. Вот пример кода на языке 1С:

    1C
    // Создаем набор записей
    НаборЗаписей = РегистрыСведений.ОбъектыСтроительстваОрганизаций.СоздатьНаборЗаписей();
    
    // Устанавливаем отбор (например, по организации)
    НаборЗаписей.Отбор.Организация.Установить(НекотораяОрганизация);
    
    // Выбираем записи
    НаборЗаписей.Выбрать();
    
    // Проходим по всем записям
    Пока НаборЗаписей.Следующий() Цикл
        // Проверяем условие (например, если поле "Сумма" меньше 1000)
        Если НаборЗаписей.ПолеСумма < 1000 Тогда
            // Удаляем запись, если условие не выполнено
            НаборЗаписей.Удалить();
        КонецЕсли;
    КонецЦикла;
    
    // Записываем изменения
    НаборЗаписей.Записать();
    

    В этом примере мы создаем набор записей, устанавливаем отбор по организации, затем проходим по всем записям и удаляем те, которые не удовлетворяют заданному условию (в данном случае, если поле «Сумма» меньше 1000). После этого записываем изменения в наборе.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/882.html

    База знаний 1С