Имя: Пароль:
1C
1С v8
Регистр сведений, удалить записи кроме нужных
0 Dimon1C
 
29.07.15
07:38
Добрый день.
Задача стоит в том, чтобы удалить записи из регистра сведений, кроме нужных (массив Исключаемые записи).

ВыборкаЗаписи = РегистрыСведений.Регистр1.Выбрать(,,Новый Структура("Измерение1", Измерение1));
Пока ВыборкаЗаписи.Следующий() Цикл
    Запись = ВыборкаЗаписи.ПолучитьМенеджерЗаписи();
    Если ИсключаемыеЗаписи.Найти(Запись) = Неопределено Тогда
       Запись.Удалить();
    КонецЕсли;
КонецЦикла;

Подскажите как правильно такое осуществить, вообще Записи можно между собой сравнивать на равенство, как происходит сравнение по всем измерениям, ресурсам, реквизитам ?
1 lxndr
 
29.07.15
07:41
записи сравнивать нельзя. Сравнивай поля. Лучше запросом выбери не нужные
2 Лефмихалыч
 
29.07.15
08:58
1. выбрать запросом только нужные записи
2. Создать набор записей и заполнить его только нужными записями
3. Записать(Истина)
3 Лефмихалыч
 
29.07.15
08:58
+(2) набор должен быть без отборов
4 бомболюк
 
29.07.15
09:02
думаю, раз именно ненужные записи собраны в некий массив - то именно их и меньше, и пойти лучше обратным путем - удалить ненужное, а не записать нужное.
5 Лефмихалыч
 
29.07.15
09:08
возможно.
1С, кстати, при записи пустого набора "DELETE FROM" по одной записи в СУБД командует. Так, что, если ненужных сильно меньше, чем нужных, возможно их удалить будет и быстрее.
6 Goggy
 
29.07.15
09:09
(5) Неожиданно интересный коммент в глупой теме.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.