|
Регистр сведений, удалить записи кроме нужных |
☑ |
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) Неожиданно интересный коммент в глупой теме.
|
|