Имя: Пароль:
1C
 
как быстро удалить из РС информацию
0 lamme
 
22.12.23
12:13
Есть РС - непериодический. независимый.
В нем 50 млн записей

Параметры
- код
- производитель
- цена.


Как быстро в этом регистре оставить только те записи
где по Код-Производитель - цена минимальная?
1 Волшебник
 
22.12.23
12:25
нужно создать новый регистр, выгрузить в него нужные записи
2 lamme
 
22.12.23
12:29
думаешь?

я тут подумал - что запросом получить данные.
очистить рс
и потом записывать в него уже найженные  данные
3 Михаил Козлов
 
22.12.23
12:33
(2) Очистить не обязательно.
4 lamme
 
22.12.23
12:33
а как потом записать много информации
без обхода построчно полученного результата?

сейчас - чтобы записать в этот начальный РС массив данных
(те на входе- массив)
я построчно что то типа такого делаю


НовыйНаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НовыйНаборЗаписей.Отбор.Валюта.Установить(Доллар, Истина);

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

НовыйНаборЗаписей.Записать();
5 unenu
 
22.12.23
12:37
(2) регистр не ссылочный тип, попробуйте (1).
потом вернуть новому старое имя

главный вопрос - как быстро и чем вырезать старый без сожалений.

если, конечно, регистр независимый и регистраторы пришивать не надо.
6 mikecool
 
22.12.23
12:35
(2) делай
7 mikecool
 
22.12.23
12:36
+6
я вот только не пробовал - набор без отборов, загрузить данные запроса, записать - сработает ли или ждать 24 платформу
8 СвинТуз
 
22.12.23
12:40
(0)
Отчетом выгрузить в Excel нужные записи.
Грохнуть все.
Купить у "Гения 1С" из соседней темы обработку загрузки.
Загрузить.

Как угодно. Тип же не объектный. Битых ссылок не ожидается.
9 СвинТуз
 
22.12.23
12:41
(2)
= хорошо
10 rphosts
 
22.12.23
12:49
(0) Зависит от того какой % данных удалять, если много - делай как написано в (1), если единицы % - удаляй лишние записи.
11 lamme
 
22.12.23
12:53
10
да вот не изветно сколько удалять.
по словам... наверное ... удалять придется до 80%


я просто не сильно понял - зачем второй регистр
одного не хватит?
12 2S
 
22.12.23
13:05
(0) сабж какой-то невнятный.
Если это цены поставщика, для чего оставлять минимальную цену?
13 lamme
 
22.12.23
13:05
12
такое требование.

не нужна информация о товаре -  с разными ценами.
оставляем самую меньшую.
14 lamme
 
22.12.23
13:06
12

это цены поставщиков.
не одного поставщика.
15 Irbis
 
22.12.23
13:13
(11) В доп регистр сносится нужна информация, регистры переименовываются и ненужный херится, иногда на уровне СУБД
16 rphosts
 
22.12.23
13:33
(11) так узнай (разумеется запросом, например:
Выбрать Различные Код, Производитель, 1 КАК Счетчик Поместить ВТ_Уникальные Из ТвойРС
;
///////////////////
Выбрать    СУММА(ВТ_Уникальные.Счетчик) КАК Счетчик
ИЗ ВТ_Уникальные КАК ВТ_Уникальные)
17 rphosts
 
22.12.23
13:35
(11) попробуй узнать с замером сколько времени займёт удалить ну пусть 10.000.000 записей РС и сколько удалить РС в котором 10.000.000 записей из конфигурации
18 Eiffil123
 
22.12.23
13:39
(4) делай транзакцию по 1000 записей, быстрее будет.
19 Eiffil123
 
22.12.23
13:40
(8) есть универсальная выгрузка/загрузка xml же. ее более чем достаточно. есть даже версии где отборы можно на регистры делать
20 Михаил Козлов
 
22.12.23
13:41
(4) Создать набор записей
Обойти выборку запроса, добавляя в набор записи
Набор записать.