Имя: Пароль:
1C
1C 7.7
v7: Медленное удаление помеч.на удаление документов после обрезки базы
, ,
0 olmi
 
10.08.13
22:42
Бухгалтерская база SQL-я существует несколько лет, много раз правлена. Обновила ее в свое время до 551 релиза и сегодня обрезала. При этом помечены на удаление почти 1,7 млн документов и некоторое количество записей в справочниках. Сюда входят и ручные пометки на удаление. Стандартно удалять не могу, все виснет. Написала обработочку с транзакциями по 150 документов, с проверкой ссылок. Работает все равно очень медленно. Буду благодарна за рекомендацию чисто SQL-х или 1С-овских более быстрых методов удаления документов и элементов справочников с проверкой ссылок.
1 Прыгун
 
10.08.13
22:45
прямыми запросами можно удалить. С помощью 1С++, например. Как, не подскажу, т.к. сам в свое время привлекал для этого специалиста. )
2 olmi
 
10.08.13
23:23
Ссылок на подобные обработки нашла много, но все немножко не то или не 100% надежно, по словам авторов.  SQL знаю недостаточно хорошо, чтобы делать самостоятельно. Важно не просто удалить все, но и не нарушить ссылочную целостность.
3 Midaw
 
10.08.13
23:29
(0) а пошринковать, то что удалено пробовали?
4 olmi
 
10.08.13
23:44
(3) Что значит - пошринковать? Я обрезала базу стандартной обработкой WRAP.ert, убрав только пометку на удаление. Потом убрала на начало времен ТА и БИ, пометила на удаление все до операций ввода начальных остатков в корреспонденции со счетом 00 и теперь хочу удалить все, помеченное на удаление вручную до начала обрезки и автоматические помеченное - это почти 1,7 миллиона документов за несколько лет и сколько-то элементов справочников. Все это, естественно , надо делать с учетом ссылок.
5 olmi
 
10.08.13
23:45
Ответы смогу посмотреть только завтра утром. Заранее благодарна за них! Всем хороших выходных!)
6 Холст
 
10.08.13
23:50
а перенести оставшиеся актуальные доки и справочники в чистую конфу не вариант ?
7 КонецЦикла
 
11.08.13
00:05
Удалить не вопрос, вот контроль...
Можно для самых массовых документов написать свой контроль ссылок. Ну, например, ты знаешь, что документа "Реализация" точно не будет в субконто неопределенного вида в выписке и т.п.

Можно наоборот, пройтись по остаткам и перетянуть все что с ними связано. Есть остаток по документу - тянем.
Вот, кстати, обрезка, которая сразу это смотрит (но там только регистры)

http://1c911.by/skachat-1s-besplatno/universalnaya-svertka-korrektirovka-registrov-sql.htm
8 Midaw
 
11.08.13
00:07
пометка и удаление помеченных это только относительно видимых данных. удаленные помеченные попрежнему остаются в бд. правда не помню как в скуле, но в dbf точно. в скуле есть понятие шринкование, но возможно нужно даже не оно. лень лезть вспоминать.
9 КонецЦикла
 
11.08.13
00:09
В ДБФ мусор остается, можно Сжать()
В СКЛ нет
10 olmi
 
11.08.13
08:17
(8), (9) Сжатие после удаления, чтобы физически удалить из базы невидимые уже объекты - это понятно, просто в Конфигураторе. Да и в SQL вроде не нужно же? Речь только о НайтиСсылки(Док, Ссылки); и Если Ссылки.КоличествоСтрок()=0 Тогда Удалить(1);КонецЕсли; Это работает медленно, можно ли заменить на прямые SQL-е запросы, обязательно с проверкой ссылок? Ну и со справочниками аналогично.
(6) Если не смогу быстро почистить хвосты, придется переносить, возможно. Но с будущего года базу будем переводить на 8.2, еще тратить время на перенос не хотелось бы - база уже свернута, другой работы полно.
11 Мимохожий Однако
 
11.08.13
08:38
Запуская по ночам обработку удаления объектов в фоновом режиме. Постепенно удалит.
12 ЧеловекДуши
 
11.08.13
08:51
(0) Зачем? СФ ты никогда не удалишь, на них есть ссылки..
Реализации так же, тоже ссылки :)
В итоге получишь мертвую БД...
13 ЧеловекДуши
 
11.08.13
08:52
(7) Почему то мне кажется, что контроль ссылок его мало интересует :)
14 olmi
 
11.08.13
09:14
(12), (13) Ребята, я не против, чтобы меня считали блондинкой, мне бы задачку решить). В том-то и дело, что счета-фактуры, как и реализации, в удаляемом периоде имеют ссылки на удаляемые же документы. Вот и хотелось бы удалить все, что не цепляет рабочих периодов. Конкретнее: база существует с декабря 2004 года. Свертка сделана по 2011 год включительно, чтобы оставить очередной период трехлетний для аудита, текущий проверяют в старой базе, если что-поправить начальные остатки в боевой не проблема.
Вся история возникла из-за того, что база последнее время работает медленно и начались странные ошибки, например, в журнале по серии одинаковых документов суммы видны нарастающим итогом и т.д. О переводе на 8.2 только что принято решение, но улита едет - когда-то будет, а работать надо здесь и сейчас. Поэтому полумера-обрезка базы. Так можно ли ее обрезать корректно?) Если да, то как удалить помеченное на удаление?) У меня часов 15-20 крутится на пробу 1 месяц так, как я писала в (10)... И конца-краю не видать)...
15 olmi
 
11.08.13
09:18
Естественно, обрезка проблем не решит, но базу хоть можно будет быстрей выгружать-загружать (что чистит многие баги), переводить в dbf при необходимости и т.п.
16 olmi
 
11.08.13
09:20
Сейчас в ней больше 20 гигов и растет она стремительно - основная база, в нее сливается из нескольких крупных внешних источников все, если ляжет - беда.
17 olmi
 
11.08.13
09:24
(12), (13) Да, и, конечно, контроль ссылок интересует и очень). Я попробовала самый простой вариант пока, и то медленно безумно, а если таблицы ссылок анализировать-еще веселей будет. Поэтому и спрашиваю об альтернативных методах.
18 hhhh
 
11.08.13
09:25
(16) заведите пустую базу и в нее загрузите из внешних источников
19 olmi
 
11.08.13
09:30
(16) Это проблемы не решает. База заполняется как изнутри, так и заливом извне. Еще раз - если способа безболезненно и быстро удалить помеченные на удаление документы и элементы справочников, не имеющие ссылок на непомеченные на удал. документы и эл-ты спр-ков не найдется, я, конечно, буду выгружать справочники и доки в чистую базу, но хотелось бы закончить начатое, а не ваять все с нуля.
20 КонецЦикла
 
11.08.13
14:21
(19) Ладно, если все так серьезно, то какой бюджет? :)
21 КонецЦикла
 
11.08.13
14:23
А вообще если в след. году переходите на 8.2 (удачного перехода), то я бы вообще не заморачивался обрезками. 20 Гиг - это не тот объем.
22 Злопчинский
 
11.08.13
14:24
ну все, конец цикла обогатится и уедет на мальдивы.. ;-)
23 КонецЦикла
 
11.08.13
14:26
(22) Ну если токо на след. год :)
24 ЧеловекДуши
 
11.08.13
15:17
(14) Они имеют ссылки не на документы, их имеют Регистры +Счета бух учета :)
25 ЧеловекДуши
 
11.08.13
15:18
(15) Удаление документов не лишит её объемности, т.е. скорости небудет так же как и прирост дискового пространства :)
26 jarett
 
11.08.13
15:22
мне одному показалось, что в ветке бреда про ТА как дерьма за баней? Речь идет о бухгалтерской базе судя по (0). Или что?
27 ЧеловекДуши
 
11.08.13
17:21
(26) Может про БУ, но есть шанс, что это вообще комплексная БД :)
Автор не раскрывает всех козырей, но судя по информации в скоре они переходят на 8.2, но и тут непонятно на какую конфу :)
28 olmi
 
20.08.13
21:20
Так). Смотрю, инфа продолжает поступать). Меня перекинули было на другие срочные задачки, сорри, некогда было глянуть).
(20) Пока даже не обсуждается).
(26) База бухгалтерская, платформа комплексная, с моей точки зрения тоже ТА не относится к делу, но где-то рекомендовалось и ее сперва закидывать на начало времен, потому и упомянула. Насчет дерьма за баней не в курсе, поисками не занималась, возможно, есть более опытные товарищи).
(24),(25),(27). Естественно, ссылки в проводках есть, но и документы-основания, скажем, тоже. Объем базы уже сильно уменьшился за счет табл.проводок, но надо и документы чистить, желательно, побыстрей, хотя теперь так не гонят. На 8.2 переход планируется в будущем году, естественно, тоже будут все компоненты, потому что баз разных в конторе как, хм)... Не рискую писать, в ветке есть специалист по баням)...
29 olmi
 
20.08.13
21:23
(7) Да, идею просмотра ссылок по остаткам уже подсказал один умный человек, возможно, так и придется делать, если не найду более быстрого способа. Спасибо, идея хорошая!)
30 olmi
 
20.08.13
21:26
(25) Объем частично ушел, я писала-проводки ушли, еще уйдет после удаления документов, сжатие вроде ж не нужно, база SQL-я.
31 Ёпрст
 
21.08.13
00:16
(0) если штатно - то отключи ЖР..совсем и помечай себе доки на удаление.
32 Ёпрст
 
21.08.13
00:17
А так, sql запросом всего лишь проапдейтить _1sjourn да прибить проводки и операции, делов то
33 olmi
 
27.08.13
15:54
(31),(32) Вернулась к теме. ЖР отключить не проблема, на удаление тоже помечено все, а проапдейтить _1sjourn - как? Есть ли способ, при котором не оборвутся ссылки? И как прибить проводки и операции? Я в SQL-е не сильна, увы. Простой Select напишу, конечно, а вот хитростей не знаю...
34 olmi
 
27.08.13
15:58
И еще: ЖР с 2012 года нужен, можно ли его переписать или обрезать, как обычный текстовой файл? Есть ли в этом случае ограничения по размеру записываемого через V7plus текстового файла? Или лучше использовать другие средства? Если да, то какие?
35 Джордж1
 
27.08.13
16:10
(34)дак пусть ЖР в копии останется.
36 Ёпрст
 
27.08.13
16:19
(33)
Да ё..
ЖР прибивать не надо!
Нужно в пофигураторе СЫНять галочки все с него, чтоб при штатной пометке на удаления туда ничего не писалось..вообще.
Потом можешь обратно галки взад вернуть.
37 Ёпрст
 
27.08.13
16:22
но  sql запросом всё можно сделать быстрее
38 olmi
 
27.08.13
19:30
(35) База обрезана по 2011 год, ЖР с 2012 года нужен, просто в копии оставлять мало. Им бывает надо видеть, кто что делал не только с момента обрезки, но и раньше.
39 olmi
 
27.08.13
19:50
В ЖР при обрезке, галочки, конечно, убирала. Речь не о том, просто попутно ответила. С обрезкой его тоже все просто оказалось - обычный текстовой файл, в копии уже обрезала. А вот вопросы из (33) остались...
40 EugeniaK
 
27.08.13
20:31
(0) А зачем так сильно волноваться о ссылочной целостности?
Период закрыт, прошлые данные всегда можно в копии посмотреть.
Удалите програмно все документы до 2011 года без проверок.
41 olmi
 
27.08.13
22:23
(40) Не рискую). При нарушении ссылочной целостности база может вообще перестать читаться, такие случаи известны.
42 olmi
 
27.08.13
22:25
(40) Ведь ссылки могут быть в более поздних документах и элементах справочников, и точно будут  - есть справочники, в которых одним из реквизитов является документ, есть документы, ссылающиеся на другие - хотя бы как на основания, да много чего есть).
43 sttt
 
27.08.13
23:06
(9) в SQL тоже запись помечается как удаленная и через некий промежуток времени очищается
44 Ёпрст
 
28.08.13
09:07
да блин, примитивный запрос который в 1sjourn пометит доки на удаление и в табличках операций и проводок уберёт все записи с этих документов.. и всё.
45 Ёпрст
 
28.08.13
09:07
+ с таблички итогов можно тоже вычистить, хотя проще, прибить и пересчитать таблички итогов.
46 olmi
 
28.08.13
19:39
(44) А физически и с точки зрения 1Са они останутся в базе помеченными на удаление? А надо их физически удалить, чтобы уменьшить размер базы. И как насчет ссылок на эти документы в справочниках и других документах?
47 olmi
 
28.08.13
19:40
(45) И что значит "прибить таблички итогов"?
Основная теорема систематики: Новые системы плодят новые проблемы.