Имя: Пароль:
1C
 
Не соображу, как удалить записи с регистра сведений?
0 Формат строки
 
06.11.14
16:06
Есть независимый, непериодический регистр сведений.
Если хочу убрать все записи, например по какому то конкретному значению, то пишу так:

НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ИзмерениеРегистра.Установить(МоеЗначение);
НаборЗаписей.Записать();

Это все хорошо. Но как быть, если у меня этих значений много и не хочется после каждого раза делать НаборЗаписей.Записать();

Как сюда:
НаборЗаписей.Отбор.ИзмерениеРегистра.Установить(МоеЗначение);

надо засунуть все мои значения и сразу с отбором по ним всем удалить записи из регистра?
1 Krolik Bezobraznik
 
06.11.14
16:08
А очищать набор записей разве не надо перед записью?
2 Жан Пердежон
 
06.11.14
16:14
(1) ты собрался очищать пустой набор записей?
(0) никак, хотя... можешь разом записать все остальные записи
3 Eugene_life
 
06.11.14
16:17
(0) А чего тебе "не хочется"? Нормально - организуй цикл по всем своим значениям, для каждого фильтра свое "Записать".
4 Maxus43
 
06.11.14
16:17
>>и не хочется
что значит не хочется? надо. В транзакцию можешь завернуть всё, чтоб шустрей и разом всё
5 Maxus43
 
06.11.14
16:18
можно конечно весь регистр выгрузить в ТЗ, очистить ненужное, загрузить в регистр и записать, без отборов. Но это попахивает
6 herfis
 
06.11.14
16:18
Просто запиши пустой набор записей без отборов
7 Формат строки
 
06.11.14
16:19
Наверное не хочется потому, что в рс порядка 9млн записей и нужно удалить около 1млн разных (((
8 herfis
 
06.11.14
16:19
Упс. Подумал, надо очистить регистр :)
9 Eugene_life
 
06.11.14
16:20
(7) Это у тебя разовая процедура же.
Ну, можешь удалить средствами SQL - поскольку это все-таки регистр сведений независимый.
10 herfis
 
06.11.14
16:20
(7) Просто делай пачками в транзакциях, если вопрос производительности заботит.
11 Maxus43
 
06.11.14
16:21
(7) в транзакциях порциями удаляй, по тысче примерно, шустрей пройдёт. Тут в любом случае будет долго, одним махом "ненужные" не удалишь всё равно, без перезаписи других 8 млн записей
12 Looser-1c
 
06.11.14
16:21
Нельзя. Придётся перебирать все нужные значения.
13 Формат строки
 
06.11.14
16:26
понятно, спасибо
14 Fragster
 
гуру
06.11.14
16:30