Быстрое удаление документов (только для SQL)

Опубликовал Александр Окулов (PowerBoy) в раздел Администрирование - Чистка базы

Быстро удаляет документы с движениями из SQL базы.
Документы удаляются непосредственно из серверной базы прямыми командами SQL.
Поддерживается отбор документов.

Не поддерживается ссылочная целостность.

Скачать файлы

Наименование Файл Версия Размер
-
.1226489217 41,46Kb
25.09.09
918
.1226489217 41,46Kb 918 Скачать

См. также

Комментарии
1. Сергей Троицкий (tsd) 147 15.11.08 19:05 Сейчас в теме
последняя фраза на мой взгляд все убивает. Ибо простым нажатием кнопки мы легко можем похезить целостность базы
2. Александр Окулов (PowerBoy) 2551 16.11.08 17:19 Сейчас в теме
На самом деле ничего страшного нет. Так как обработка сама вычищает все основные ссылки из таблиц: регистров, изменений, журналов. Если что-то и останеться запускаешь ТИИ, так как база стала намного меньше оно пройдет быстро и дочистит оставшиеся ссылки.
3. Виталий (vit1c) 26.05.09 10:40 Сейчас в теме
Так если удалять документ, то и движения все удаляются (лениво код смотреть)
4. Александр Окулов (PowerBoy) 2551 26.05.09 11:20 Сейчас в теме
5. Игорь Гордиенко (Ugrumi) 6 22.09.09 05:29 Сейчас в теме
У меня сразу ошибку показала!!!
6. Александр Окулов (PowerBoy) 2551 22.09.09 06:28 Сейчас в теме
(5) Какая ошибка? Текст пожалуста и версии платформы, конфигурации и SQL servera.
7. Игорь Гордиенко (Ugrumi) 6 22.09.09 09:26 Сейчас в теме
Ошибка в закладке обработка в таб. части. Имя документа + ошибка. УПП 1.2.17.3, Microsoft SQL Server Management Studio 9.00.1399.00.
8. Александр Окулов (PowerBoy) 2551 22.09.09 09:42 Сейчас в теме
(7) Можно дословный текст ошибки в кавычках?
9. Игорь Гордиенко (Ugrumi) 6 22.09.09 10:02 Сейчас в теме
В копии вроде работает, в рабочей проверять уже не буду!
10. Алексей Разумов (DllloKeP) 02.11.09 16:27 Сейчас в теме
Отличная обработка, но пришлось подправить из-за 2 возникающих ошибок:
1) Некорректный перевод даты (если её выбирать в условии). SQL воспринимает: гггг.мм.дд, а переводилось в дд/мм/гггг.
2) В обработке в таблице _SequenceChangeRec выбиралось поле _Recorder_RRRef, а надо было _RecorderRRef.
11. Александр (MAP5) 23.12.09 08:00 Сейчас в теме
Чистил базу, перед обновлением конфигурации, и вводом начальных остатков, даже часть документов оставлял в базе, на удивление даже не пришлось перебрасывать в идентичную конфигурацию. Заработала на живую. Пробовал на торговле (2 часа на все) и Бухгалтерии (12 часов)
12. Александр Окулов (PowerBoy) 2551 23.12.09 11:32 Сейчас в теме
(11) У меня бухгалтерию в 10 Гб вычищает за чуть больше часа.
у Вас 12 часов - это какой размер базы? или сервер слабый?
13. Александр (MAP5) 23.12.09 13:16 Сейчас в теме
Бухгалтерия 4 года, сеть магазинов розница, количество маленькое, но строк много.
У меня перепроведение докуметов за ночь (с 18 по 09) успевает только один месяц. Прирост в год больше 10 Гб. Потому и открывал заново, что база уже не ворочается. Выгрузка DT занимала полтора часа.
14. finvest (finvest) 14.02.10 19:00 Сейчас в теме
За обработку спасибо. В процессе использования сделал два уточнения:
1. Учёл смещение дат в sql-базе для пересчета значения даты в параметре.
2. При удалении последовательностей изменил запрос для указания ссылки на реквизит регистратора в трёх вариантах сразу (действует всегда только один):
_Recorder_RRef
или
_RecorderRRef
или
_Recorder_RRRef
15. Дмитрий Лябашкин (lda0312) 25.03.11 13:29 Сейчас в теме
Не работает, не может получить кол-во документов, все время 0, что делать?
16. Алексей (Alav) 13 25.03.11 13:39 Сейчас в теме
(15) Какая платформа, какой скуль?
DimasBarabas; +1 Ответить 1
17. Дмитрий Лябашкин (lda0312) 25.03.11 13:48 Сейчас в теме
18. Алексей (Alav) 13 25.03.11 14:14 Сейчас в теме
(17) Подключаться нажимали? Окошко с параметрами выскакивала? Параметры правильно указываете, т.е. тест соединения проходи?
19. Дмитрий Лябашкин (lda0312) 25.03.11 15:02 Сейчас в теме
(18)Да все подключается, без ошибок
20. Дмитрий Лябашкин (lda0312) 25.03.11 18:16 Сейчас в теме
Получилось выполнить удаление только на платформе 8.1, на 8.2 не находила документы, возможно причина была в том что 8.2 работает не по стандартному порту 1541 а по 2041. При удалении на 8.1 дико рос лог и обработка падала с ошибкой, указал ограничение логу в 20 Гигов, хватило и все прошло успешно.
21. Анна Т (anna_irk) 21.09.11 10:01 Сейчас в теме
просто удаляет? или позволяет перецепить данные документы
22. Александр Окулов (PowerBoy) 2551 21.09.11 11:33 Сейчас в теме
23. Vyacheslav Kulikov (ELInfinito) 23.09.11 07:14 Сейчас в теме
Очень полезно и своевременно.
Только пришлось реализовать ссылочную целостность и добавить возможность удаления документов списком.
Спасибо!
24. Илья Фамилия (Murom) 30.09.11 15:20 Сейчас в теме
Работает как часы. Меня очень сильно выручила.Базу с 40Gb до 5Gb урезал очень быстро(по сравнение с типовым удалением).
Только была проблема с отбором документов по периоду. Неверный формат преобразования дат в формат sql: у меня почему-то дата вот-так "2011-06-17". Если б еще автоматически определяло формат дат sql сервера. :) Хотя можно и без этого.
25. Eugene Gr (EugeneMIPT) 07.12.11 14:30 Сейчас в теме
ELInfinito пишет:

Очень полезно и своевременно.
Только пришлось реализовать ссылочную целостность и добавить возможность удаления документов списком.
Спасибо!


Поясните пожалуйста, что конкретно имеется в виду под реализацией ссылочной целостности? Замена во всей конфигурации ссылок на удаляемые документы - пустой ссылкой?
DimasBarabas; +1 Ответить
26. Vitya Bog (LoboVik) 20.12.11 18:08 Сейчас в теме
Подключаюсь к базе. Задаю на удаление один вид документов "АвансовыйОтчет", устанавливаю отбор за период выдает пустую ошибку.
Прикрепленные файлы:
27. Vitya Bog (LoboVik) 20.12.11 18:15 Сейчас в теме
Да... База на 8.2 платформе.
28. Erbolat Akkusov (Banzai79) 23.12.11 11:41 Сейчас в теме
У меня вопрос после очистки документов, в центральной базе удаляться ли в периферийной базе после обмена данных?
29. Erbolat Akkusov (Banzai79) 23.12.11 13:42 Сейчас в теме
скачал вашу обработку, но выдает ошибку при проверить соединение... текст ошибки
"Не выполнена проверка соединения из-за ошибки при инициализации поставщика. Неопознанная ошибка", в чем дело?
30. Erbolat Akkusov (Banzai79) 23.12.11 14:43 Сейчас в теме
спс все быстро удаляет, с ошибкой разобрался надо было подключаться через поставщика SQL Native Client и там указать имя сервера и стандартный пользователь sa
31. Erbolat Akkusov (Banzai79) 23.12.11 14:45 Сейчас в теме
теперь проверяю будет ли удаляться в периферийной базе кому будет интересен результат тому отвечу
32. Erbolat Akkusov (Banzai79) 23.12.11 15:37 Сейчас в теме
Спасибо большое автору хорошая обработка тем кому надо обрезать большую базу. Но жаль что не передается через обмен на периферийную базу. (РИБ 1С 8.1.15.14 управл торг для Казахстана 2.2.8.10)
33. Erbolat Akkusov (Banzai79) 27.12.11 11:52 Сейчас в теме
после очистки базы этой обработкой у меня размер SQL базы не уменьшилось, в чем дело?
34. Diev Ivan (VanechkaDiev) 02.05.12 20:18 Сейчас в теме
а на PostgresSQL не работает что - ли?
35. Ганеев Руслан (GANR) 21.01.13 15:24 Сейчас в теме
Идея хороша, но сыро пока - куча не обнаруженных объектов по ссылке вывалилась после выполнения обработки при тестировании и исправлении.
36. Виталий Черненко (SeiOkami) 560 02.03.13 12:42 Сейчас в теме
(26) LoboVik, такая же ошибка...
Автор, ты где?
37. Олег Ортман (ortpro) 21.04.13 11:31 Сейчас в теме
Не работает отбор по дате!!! Выбираю все документы, в отборе указываю период для отбираемых документов - удалено документов 0!!! Из-за этой обработки купил подписку за 800!!! р. На#рена нужен аватар для публикации комментариев???!!!!
38. Олег Ортман (ortpro) 21.04.13 11:35 Сейчас в теме
(36) SeiOkami, в бегах, видимо )))))
39. Виталий Черненко (SeiOkami) 560 21.04.13 11:42 Сейчас в теме
Не знаю как отбор, а вот ошибка, что на скрине в (26) решается коментированием в коде обработки участка удаления последовательности документов (если не путаю, просто давно пару месяцев назад ей пользовался).
40. Виталий Черненко (SeiOkami) 560 21.04.13 11:43 Сейчас в теме
ну как решается... по крайней мере так работать будет =)
потом последовательности можно своим кодом очистить
41. acdix (softacademy) 19.06.13 18:33 Сейчас в теме
подскажите что нужно подправить в обработке чтоб под 8.2 отбор по периоду работал sql2008r2
vadimlp77; +1 Ответить
42. Andrey (angy) 02.07.13 14:08 Сейчас в теме
На 8.2 один документ удаляла 5 мин, дальше не стал ждать, лажа какая то :( ....
43. Rustam Samandarov (rustamsmax) 76 06.08.13 20:54 Сейчас в теме
очень полезная штука.. спасибо..
44. Вадим Янчук (vadimlp77) 24 28.09.13 19:04 Сейчас в теме
На 8.2 не работает. Что сделать ? И кстати если условий несколько - текст запроса формирует некоректно, пришлось пробел добавить перед "И"
podgayko; +1 Ответить
45. Александр *** (a1ex4ndr) 08.09.14 03:10 Сейчас в теме
(42) В документе не война и мир были? а то может еще и быстро удалилось...
46. Евгений Стоянов (quick) 557 06.02.15 17:13 Сейчас в теме
пробую почистить базу в 140 ГБ БП 2.0 :) последняя надежда.
47. Семён Павлюков (7OH) 29 08.06.15 10:53 Сейчас в теме
(46) quick, Вышло ?
Есть желание удалить ПРОВОДКИ по определенныйм документам с базе на 700 Гиг.
Обработка ПРОВОДКИ умеет удалять ?
Почему справшиваю - нарисовал запрос в SQL на удаление из основной таблицы - в надежде что из таблицы ЗначенияСубконто данные удалятся сами (триггерами).
Как оказалось 1С об этом не подумала.
Теперь вопрос - пытаться догадаться как именно связаны две таблицы (ключа в таблицах нет) или это может сделать эта обработка ?
48. Сергей Огородников (Serg O.) 132 03.08.15 16:39 Сейчас в теме
Условие ДоговорКонтрагента.Наименование "Содержит" - преобразует в Like...
имя поля через точку - надо бы добавить замену имени параметра через _
но почему то SQL запрос не cработал
49. Сергей Аблаев (serg1974) 11.05.16 09:57 Сейчас в теме
Здравствуйте! Кто может описать какие подводные камни есть при удалении напрямую? где то это обсуждалось?

Очевидно что надо удалять корректно - т.е.
1) не удалять документы - т.к. там не только документ + табл части в разных таблицах SQL но и еще есть движения регистров и общие итоги! Вывод лучше не связываться с удалением документов!

2) удаление справочников - тут уже проще - надо лишь убедиться что на удаляемые элементы не осталось ссылок в других объектах базы.

3) удаление данных регистра сведений - совсем просто, но они и штатными средствами неплохо чистятся!

Вопрос:
Что то еще я не учел? Итоги или общие данные базы какие то? Все ли я верно написал в пунктах?
50. Михаил Коваль (mihey) 12 01.06.16 10:33 Сейчас в теме
Скачал, попробовал, не учитывает смещение в 2000 лет, но лечится без вмешательства в код, просто добавьте 2000 лет к дате в отборе
51. Александр Перминов (trio-tlt) 23.08.16 19:31 Сейчас в теме
Клевая обработка. Хорошо написана - при желании можно легко дописать то, что нужно тебе.
52. Екатерина Черкасова (GERDUSKA) 20.12.16 10:43 Сейчас в теме
Добрый день! Подходит ли обработка для базы на postgre sql?
53. Xer shi (Xershi) 188 20.12.16 10:51 Сейчас в теме
(49) суть удаления через скуль скорость!
Но вы должны быть экспертом и все эти пункты просчитать иначе привет базе))
В каком месте может вылезти ссылка на объект? Нужно в каждом случае рассматривать, что вы хотите удалить, а то что вы описали это только часть айсберга может быть.
О чем я говорю? Прогнать все метаданные, не только то что на поверхности, тогда и будет результат на лицо!
54. Екатерина Черкасова (GERDUSKA) 20.12.16 10:55 Сейчас в теме
Подскажите, какие параметры подключения к базе posgre указывать в обработке
55. Александр Окулов (PowerBoy) 2551 20.12.16 11:49 Сейчас в теме
(54) На Postgre не проверял, возможно придется код править.