Имя: Пароль:
1C
1С v8
Удаление проводок непосредственно в таблице SQL
0 Eugene_life
 
19.06.14
13:42
Ситуация: есть документ-регистратор, который используется как "заглушка" для движений (по регистру бухгалтерии). В итоге этих движений накопилось 2 млн. Возникла необходимость очистить эти движения (чтобы растащить их на несколько регистраторов, а то их даже просмотреть нельзя).
Попытка удалить движения путем записи пустого набора записей неизменно приводит к ошибке "недостаточно памяти на сервере 1С предприятия".
Рассматриваю вариант непосредственно из таблицы SQL регистра бухгалтерии удалить эти движения. Однако сильно смущает наличие также таблиц "Итоги по Счетам", "ИтогиПоСчетамССубконто1" и т.п. Возможно, что прямое удаление записей таблицы приведет к ошибкам в итогах.
Прошу помочь советом тех, кто в теме :)
1 ДенисЧ
 
19.06.14
13:42
Удаляешь, потом пересчёт итогов
2 Eugene_life
 
19.06.14
13:44
(1) Тогда не нужен SQL - можно отключить итоги, удалить, включить итоги. Но включение итогов у меня идет более 10 часов :( Точное время назвать затрудняюсь - не дожидался этого события
3 acsent
 
19.06.14
13:46
(2) ты думаешь сам лучше и проще сделаешь пересчет итогов средствами скл?
4 Cube
 
19.06.14
13:47
(0) Можно Сделать ТИИ, удалить заглушку непосредственно, а потом ТИИ с удалением ссылок...
5 Eugene_life
 
19.06.14
13:48
(3) сильно сомневаюсь. Кроме того , до меня дошло, что удаляются движения и так быстро - все время тратится на пересчет этих итоговых таблиц
6 Fragster
 
гуру
19.06.14
13:49
(0) очень странное поведение, честно. с записью наборов никаких проблем не должно быть.
7 Eugene_life
 
19.06.14
13:49
(4) Это также вызовет пересчет итогов, как я понимаю
8 Eugene_life
 
19.06.14
13:51
(6) Я так и делал многие месяцы - очищал просто записью пустого набора. Однако, вот - столкнулся, что не хватает памяти
9 Fragster
 
гуру
19.06.14
13:51
ВЫБРАТЬ
    КОЛИЧЕСТВО(*) КАК Поле1
ИЗ
    РегистрБухгалтерии.Корпоративный КАК Корпоративный

35 687 982
10 Fragster
 
гуру
19.06.14
13:52
все работает :)
11 Eugene_life
 
19.06.14
13:52
(10) У тебя сервер 1С 32 битный?
12 Fragster
 
гуру
19.06.14
13:53
(11) да
13 Eugene_life
 
19.06.14
13:53
(12) Есть время подключиться и помочь советом на конкретной базе?
14 Fragster
 
гуру
19.06.14
13:56
(13) не
15 Fragster
 
гуру
19.06.14
13:56
а тебе всютаблицу нужно грохнуть?
16 Eugene_life
 
19.06.14
13:59
Это регистр Хозрасчетный, так что только по этому регистратору
17 Fragster
 
гуру
19.06.14
14:00
(16) ну тогда по tref надо все грухнуть в скуле, а потом "ПересчитатьИтогиЗаПериод" помесячно начиная с первого месяца
18 Fragster
 
гуру
19.06.14
14:01
в принципе - сработать должно, только вот непонятно, почему руками не удаляется? может у тебя управляемые блокировки какие-нибудь хитрые? или РЛС?
19 Fragster
 
гуру
19.06.14
14:02
(17)+ только надо еще субконто не забыть грохнуть
20 Eugene_life
 
19.06.14
14:04
(19) какое субконто не забыть грохнуть?
21 Eugene_life
 
19.06.14
14:04
(18) нет у меня упр блокировок и РЛС. У меня 5 субконто на 20м счете
22 Fragster
 
гуру
19.06.14
14:07
наверное по ним итоги не закрываются?
23 Eugene_life
 
19.06.14
14:08
(22) да, не закрываются
24 Fragster
 
гуру
19.06.14
14:16
(23) а нафига тогда они?
25 Eugene_life
 
19.06.14
14:20
(24) они просто есть, и, поскольку я не знаю, зачем, то не убираю (не трогаю то, что не понимаю)
26 МихаилМ
 
19.06.14
14:20
и не надо удалять

tsql запросом "растащите" по новым регистраторам.
27 Vovan1975
 
19.06.14
14:30
может через управление итогами установить итоги на период "до" этого регистратора и попытаться грохнуть движения?
28 Vovan1975
 
19.06.14
14:36
другой вариант - запилить документ сторно, и "рубить хвост кусками"
29 Eugene_life
 
19.06.14
14:57
(26) хорошая, кстати, идея.. а не поползут итоги?
30 Eugene_life
 
19.06.14
15:01
(28) Документ сторно же не удалит сами движения. А через управление итогами - можно попытаться, но расчет итогов очень долгий
31 Vovan1975
 
19.06.14
15:09
(29) при помощи сторно ты удалишь незакрывающиеся итоги. Разница будет в том что в таблице собственно движений регистра прибавится 2 млн записей а в таблицах остатков эти 2 млн записей исчезнут. Все тормоза из-за итогов, думаю это может сработать.
32 Eugene_life
 
19.06.14
15:17
(31) не уверен, но ИМХО, сторно не удалит записи итогов - они останутся "нулевые" - до пересчета итогов.
33 Fragster
 
гуру
19.06.14
15:32
(32) сделай эти субконто оборотными :) или узнай, зачем они были сделаны и как они должны закрываться.
34 Fragster
 
гуру
19.06.14
15:36
переиндексацию таблиц средствами скуляки сделай ещё, может помочь некисло, если побита.

У нас была такая штука, что регламент не успевал сделаться за ночь и останавливался как раз на самой большой таблице - итоги, субконто и/или сами проводки
35 Eugene_life
 
19.06.14
15:37
(32) На 20м счете 5 субконто, и все они не оборотные. Я так понимаю - чтобы контролировать сальдо по всем 5 аналитикам. Закрываются они потом на 90.02.1 (при закрытии месяца), где также остаются не оборотными.
36 Eugene_life
 
19.06.14
15:38
(35) - > (33)
37 Fragster
 
гуру
19.06.14
15:40
(35) так ты же говоришь, что 4,5 субконто не закрываются?
38 Eugene_life
 
19.06.14
15:43
(37) Прости, если ввел тебя в заблуждение. Разумеется, 20 й счет закрывается на 90, и аналитики там совпадают. По 20 му остается только незавершенное.
39 Ненавижу 1С
 
гуру
19.06.14
15:47
только итоги на 39991101 хрен пересчитаются, проверено
40 Eugene_life
 
19.06.14
15:49
(39) а что такое "39991101"?
41 Fragster
 
гуру
19.06.14
15:50
(39) если пересчитать итоги по месяцам, то текущие итоги пересчитываются нормально
42 Eugene_life
 
19.06.14
15:52
(41) ИТого получается алгоритм:
1. Средствами SQL убиваю проводки в таблице.
2. Средствами 1С начиная с месяца регистратора (в кот я удалил движения) по месяцам пересчитываю итоги.

Так?
43 Fragster
 
гуру
19.06.14
15:53
(42) ну, типа того. и текущие итоги тоже. правда у меня они по проводкам выключены все равно.
44 Eugene_life
 
19.06.14
15:55
(43) ОК. А я где-то встречал упоминания о том, что существуют скрипты SQL по пересчету итогов. Ты с ними не сталкивался?
45 Fragster
 
гуру
19.06.14
15:56
(44) это в семерке было
46 Eugene_life
 
19.06.14
16:21
Ок, всем спасибо, пробую варианты.