Имя: Пароль:
1C
1С v8
Что делать с незакрытыми регистрами? На примере
,
0 OldCondom
 
19.04.22
13:26
В базе, к примеру, по таблице остатков по регистру "Заказы покупателей" 102млн записей. 26Гб данных и 72Гб индексы. В то время как по живой таблице 27млн записей, 7Гб данные и 4Гб индексы.

Запрос первые 100 по остаткам уже выдает строки
Заказ покупателя СЕ000000001 от 13.06.2017 23:19:55    Купленный    Аренда кофейного оборудования        810,87                        Без НДС    1    810,87    51 721,51

То есть незакрытые остатки с 2017 и уверен еще раньше.
Смотрю этот заказ, ну заказ и заказ, дальше ничего не пошло, сделали и забыли. Возможно в других случаях ситуация немного иная(частично закрыты).

Что с ними делать?
У меня пока мысль получить эти заказы и в них же пихать движение расход, чтобы в 0 закрыть. Периоды эти закрыты, трогать никто не будет. После выполнить полный пересчет регистра. По идее удалятся и остатки и нулевые записи.

Или на каждый год сделать документ "операция", закрывать кучу остатков разом. Но тогда, как я понимаю, лишние записи, скажем январские, будут гулять по таблице итогов вплоть до декабря, когда они закроются.

Или есть совсем другой, правильный и более быстрый вариант?
1 Irbis
 
19.04.22
13:28
Закрыть жопным числом. А вообще неисполненные заказы должны или проляться принудительно или закрываться по прошествии некоторого времени.
2 OldCondom
 
19.04.22
13:31
(1) то есть именно создать закрытие заказа? Боюсь до нового года будет проводится.
3 Мимохожий Однако
 
19.04.22
13:35
(2) Либо закроешь регистры документами Закрытие заказов либо документами Корректировка регистров. Регламентное заданием порциями закрывай. Другого пути нет. Вариант с открытием новой базы, я полагаю, не рассматривается.
4 OldCondom
 
19.04.22
13:42
(3) понял. Будут корректировкой распараллеливать.
Новую базу не вариант, увы.
5 guitar_player
 
19.04.22
13:49
(4) ERP? Лучше не делать корректировку, закрывайте заказы с отменой строк, можно в несколько потоков.
6 Dmitry1c
 
19.04.22
14:20
Можно свертку сделать по этим регистрам.
7 _Дайвер_
 
19.04.22
14:33
ПересчитатьИтоги() , удалит нулевые записи и облегчит регистр
8 shuhard
 
19.04.22
14:55
(0)[Периоды эти закрыты,]
у заказов нет понятия закрытого периода, их нужно править путем отмены полной или частичной в ТЧ, см (5)
9 Михаил Козлов
 
19.04.22
16:53
(5)+ На инфостарте была обработка по закрытию заказов (если лень самому писать).
10 OldCondom
 
19.04.22
21:49
Сделал в итоге порционно по месяцам, чтобы лишних записей в течении года не было. Закрыл 3 месяца самого древнего периода:
dbo._AccumRgT26507    2 721 893(записи)    2 672 648    702 424(данные)      1 969 528(индексы)    696
Сильно вышло. -100млн записей.

Кстати, если кому пригодится, пересчет итогов лучше делать после truncate table *итоговая таблица*. В разы(в моем случае в десять так точно) сокращает время и не распухает лог.
11 Злопчинский
 
19.04.22
23:56
(8) заказы всегда состояние на "сейчас"?
12 Злопчинский
 
19.04.22
23:57
(10) "пересчет итогов лучше делать после truncate table *итоговая таблица*."
- это еще и в 77 было известно.. ;-)