Очистка базы (частичная) средствами SQL (реализована возможность очистки средствами 1С)

04.03.13

База данных - Чистка данных

Очистка базы (частичная) средствами SQL (для сравнения механизмов реализована возможность очистки средствами 1С). Любая конфигурация 1С 8.2, управляемое и обычное приложение.

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

Наименование Файл Версия Размер
Очистка базы 8.2
.rar 20,86Kb
304
.rar 20,86Kb 304 Скачать
Очистка базы 8.1
.rar 12,99Kb
22
.rar 12,99Kb 22 Скачать

Внимание! Согласно лицензионному соглашению 1С нельзя  манипулировать данными средствами  СУБД. Поэтому данная обработка носит чисто теоретический характер для понимания структуры хранения и целостности данных в SQL. Во избежание нарушения лицензионного соглашения 1С нельзя  запускать эту обработку.

Постановка задачи (придуманная, но вполне реальная): Начать заново ведение учета в существующей ИБ (не свертка, а так называемый "рестарт").

Анализ поставленной задачи: Для рестарта нам необходимо сохранить все константы, все справочники, некоторые документы (например, по установке цен или по принятию сотрудников) и некоторые регистры сведений (не подчиненные регистратору). В классическом варианте, конечно же, необходимо взять чистую ИБ и в неё загрузить все необходимые данные из текущей ИБ. Т.к. конфигурации идентичные, то это сделать не сложно через XML. Но, для понимания структуры хранения и целостности данных в SQL, был принят к рассмотрению вариант очистки «лишних» данных средствами SQL.

Алгоритм выполнения поставленной задачи:
1. Средствами SQL удаляем: выборочные документы, все журналы документов, все последовательности, выборочные бизнес-процессы и задачи.
2. Средствами SQL удаляем: выборочные регистры сведений (не подчиненных регистратору).
3. Средствами SQL удаляем: все регистры сведений (подчиненные регистратору), все регистры накопления, все регистры бухгалтерии, все регистры расчета (в т.ч. перерасчеты) и все планы обмена.
4. Запустить штатный механизм удаления помеченных на удаление (т.к. во 1-ых: Планы обмена в данном механизме не удаляются через SQL, а на них устанавливается пометка удаления; во 2-ых: Обычно существуют элементы справочников, которые помечены на удаление, а удалить их раньше было нельзя, т.к. использовались в документах).
5. В конфигураторе запустить «Тестирование и исправление».
6. Перепровести документы, не удаленные в п.1.

Особенность выполнения обработки: все таблицы хранения данных в ИБ получаются с помощью метода ПолучитьСтруктуруХраненияБазыДанных(), а удаляются с помощью команды SQL: TRUNCATE TABLE [ИмяТаблицы] (кроме планов обмена, на которые просто устанавливается пометка удаления. Планы обмена необходимо удалять штатными средствами, т.к. есть предопределенные элменты и регистрация изменений).

Жду комментарии специалистов по поводу целостности ИБ при использовании такого подхода.

 

Обновление от 11.01.2013
Добавлена версия обработки под 8.1
Правда, поставить сервер 8.1 и протестировать один нюанс не было времени.
Поэтому опишу его сдесь.
В 8.1 у метода ПолучитьСтруктуруХраненияБазыДанных() в оличии от 8.2 отсутствует 2-ой параметр, отвечающий, в каких терминах выдается информация о структуре хранения. Поэтому, возможно, в коде необходимо подредактировать имена таблиц. Это реализовано в модуле обработки в последней процедуре ОчиститьОбъектыНаУровнеSQL(), достаточно раскаментировать.

См. также

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 04.10.2023, версия 4.2)

9600 руб.

22.02.2013    135905    248    144    

418

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка данных Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Обработка позволяет удобно выборочно удалить данные из базы 1С. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    24307    46    16    

58

SALE! 10%

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Позволяет удалить организации из любых программ на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3980 3582 руб.

16.03.2015    113691    181    75    

217

Замена Номенклатуры+Характеристики

Чистка данных Логистика, склад и ТМЦ Платформа 1С v8.3 План видов характеристик 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Настраиваемая обработка, позволяющая заменить пару: Номенклатура+Характеристика в документах, их движениях и независимых регистрах сведений. Без перепроведения. Поможет, если вы по каким-то причинам решили отказаться от характеристик

3600 руб.

04.08.2015    41105    88    70    

49

Удаление битых ссылок 1С в базе без монопольного режима

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

2400 руб.

23.08.2021    9255    15    3    

20

Очистка дублей в синхронизированных базах (УТ, БП, РТ, УНФ)

Чистка данных Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Решение по удалению дублей позволяет определить связанные элементы в двух синхронизированных базах в качестве оригиналов и избежать необходимости ручного сравнения объектов в базах перед синхронизацией.

3960 руб.

27.06.2018    18804    10    3    

15

Очистка регистров сведений от записей по помеченным на удаление элементам

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

в современных конфигурациях стало очень много регистров сведений, хранящих вспомогательную и периодическую информацию и администраторы информационных систем стали сталкиваться с проблемой удаления помеченных на удаление объектов, так как ссылки на них хранятся в многочисленных регистрах сведений. Помочь почистить базу от ненужных записей предназначенная данная внешняя обработка на управляемой форме, которая ищет записи во всех регистрах сведений по помеченным на удаление объектах и очищает по ним записи их после использования данной обработки дальше можно смело пользоваться типовой обработкой удаление помеченных на удаление и проблем с удалением не возникнет! Удачи всем!

1200 руб.

21.01.2022    7122    5    6    

9

Очистка кэша 1С. Исполнитель

Чистка данных Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    4529    4    SerVer1C    25    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. krava_vlad 130 15.11.11 20:36 Сейчас в теме
Очень было бы полезно чистить базу по фильтрам, например по организации.
cleaner_it; +1 Ответить
4. zzz_natali 61 16.11.11 08:21 Сейчас в теме
Какая-нить есть статистика? Сколько по времени/размеру базу схлопывали?
(1) Да, было бы полезно в разрезе организации и на дату(интервал)
39. Sintson 411 20.03.21 23:51 Сейчас в теме
(4)
"Схлопывали" меньше минуты, база была больше трех терр., стала 300 мег.
Стояла задача оставить только аналитические справочники.
6. Homosum 16.11.11 10:19 Сейчас в теме
zzz_natali пишет:

Какая-нить есть статистика? Сколько по времени/размеру базу схлопывали?

(1) Да, было бы полезно в разрезе организации и на дату(интервал)


Регистр "Списанные товары" конфигурации "Управление торговлей" Предприятие 8.1. Сам регистр не хилый - много ресурсов. Кол-во записей 404 207 030. Не знаю сколько времени нужно, через 1С удалять все это чудо, но вот из SQL через DROP and CreateTable это происходит меньше чем за секунду!
Banzai79; +1 Ответить
20. Banzai79 27.12.11 12:22 Сейчас в теме
(6) как ты запустил обработку на 1С 8.1 подскажи пожалуйста
21. vetalvr 97 27.12.11 15:58 Сейчас в теме
(20) Banzai79, в (6) Homosum привел пример из собственных экспериментов, а не по этой обработке. У него даже метод другой используется.
7. vetalvr 97 16.11.11 13:14 Сейчас в теме
(1)(2)(4) Да, наверное, в ближайшее время доработаю для универсальности.
(3) Проще, но дольше и не интересней :-)
(4) На уровне SQL эта обработка очищает базу в считаные секунды, а штатными средствами на больших объемах очистка может занимать сутки, недели или вообще просто умирать от недостатка памяти.
sibunica@mail.ru; +1 Ответить
8. zzz_natali 61 16.11.11 14:09 Сейчас в теме
(7) Было бы весьма кошерно, ибо: берем обычную файловую базёнку, поднимаем ее на скуле и после этого препарируем ее. Сплошь и рядом, когда ведутся несколько фирм и нужно все шевеления по какой-нить прибить. или папики ра$$ераются и начинают делить бизнес: фирма "А" - тебе, фирма "Б" - мне...
cleaner_it; +1 Ответить
2. Valerich 1633 16.11.11 02:52 Сейчас в теме
вот ведь засаду 1с-овцы устроили со своим лицензионным соглашением.

Как-то надо было свернуть базу. Быстро. Вырезать из нее лет 5 интенсивной работы. Документов накоплено ну ОЧЕНЬ много. Сделал попытку пометить на удаление документы одного вида за 1 год и удалить. Пометка на удаление длилась часов 5. Удаление не смогло выполниться - умерло на стадии контроля ссылочной целостности - памяти не хватило. В итоге пришлось крошить данные прямо в SQL. Руками. Делая запросы к каждой таблице.

Так что дорабатывайте свою обработку до коммерческого использования с использованием хотя бы простейших условий и ограничений, например, по дате документа. Спрос, думаю, будет.
3. dolter 119 16.11.11 03:07 Сейчас в теме
А не проще, соблюдая лицензионное соглашение, перегрузить в "пустышку" необходимые данные?
5. afanasko 35 16.11.11 09:55 Сейчас в теме
Да забейте вы на "нарушение лицензионного соглашения". Там еще разобраться нужно, кто и что нарушил :)
iov; Lo1jke; Oleg_nsk; German; +4 Ответить
9. alexm73 16.11.11 19:19 Сейчас в теме
Очень интересная идея!
если бы ещё для 1С 7.7, было что-то похожее...
11. sCHTASS 49 18.11.11 10:14 Сейчас в теме
(9) Писал в свое время обработку пометки на удаление документов за период с очисткой движений регистров. Писал с использованием 1С++. Если есть на то потребность, могу выложить.
12. zzz_natali 61 18.11.11 12:30 Сейчас в теме
(11)
Было бы прекрасно, если Вы не просто выложили, а сделали бы сравнительный анализ: при прочих равных условиях, чья обработка быстрее, Ваша или ув. vetalvr (ну и вопрос "юзабилити" не на последнем месте)
13. vetalvr 97 18.11.11 12:37 Сейчас в теме
(12) На сколько я понял, то (11) имеет ввиду обработку для версии 7.7
14. sCHTASS 49 18.11.11 19:55 Сейчас в теме
10. dkprim 5 17.11.11 06:09 Сейчас в теме
да, фильтры нужны. а публикация хорошая, автору спасибо :)
15. Valiko77 23.11.11 12:17 Сейчас в теме
Не хватает фильтра и возможности выбирать метаданные, а не только эти 3 пункта.
А вообще полезная штука, иногда бывает очень нужна. Спасибо!
16. нинас 30.11.11 06:37 Сейчас в теме
Как раз вы вовремя, попробую, отпишу
17. LoboVik 20.12.11 18:16 Сейчас в теме
Большую помощь оказали. Пытался сам через SQL-запросы писать, но все медленно и непонятен результат. Спасибо.
18. AlekseiLeit 9 21.12.11 12:42 Сейчас в теме
есть возможность попробовать, отпишусь потом что получилось...
19. Banzai79 27.12.11 12:09 Сейчас в теме
а есть возможность для 1С 8.1 УТ очень нужно
22. vetalvr 97 27.12.11 16:08 Сейчас в теме
(19) Banzai79, Вам в 8.1 обработку конвертнуть?
23. a1ex4ndr 5 21.11.12 10:34 Сейчас в теме
(22)
Banzai79, Вам в 8.1 обработку конвертнуть?

Думаю не только Banzai79 будет интересна данная обработка под 8.1...
Мне точно будет интересна :)
26. vetalvr 97 11.01.13 18:07 Сейчас в теме
(19)(20)(23) Выложил обработку под 8.1. Возможно, её нужно будет подправить в связи с особенностями 8.1.
24. a1ex4ndr 5 04.12.12 11:42 Сейчас в теме
Похоже забыли про обработку.....
25. vetalvr 97 04.12.12 13:25 Сейчас в теме
(24) Не забыл. Не стал её конвертировать на предыдущие версии из следующих соображений:
Если кто-то не может конвертнуть на предыдущие версии - значит он не программист 1С. Значит у него нет представления, как хранятся данные 1С в SQL. Обработка работает напрямую с таблицами SQL, обходя механизмы 1С, и требуется осознанное использование данной обработки. Хотя очистка средствами 1С в этой обработке тоже была реализована.

Отброшу идейные соображения и на днях конвертну под 8.0 (чтобы открыть её под 8.1 необходимо будет открыть её в конфигураторе).
Фильтры, наверное, таки да, тоже добавлю как-нибудь, но позже - работы очень много...
27. SeiOkami 3423 02.03.13 10:33 Сейчас в теме
Странно работает обработка. Запустил, выбрал тип документов, нажал "Выполнить", вылезло окошко "Выполнено". Открываю документы - ничего не изменилось. Ни один не исчез. В чем соль?
28. vetalvr 97 04.03.13 14:30 Сейчас в теме
(27) А можно немного подробностей?
- 8.1 или 8.2
- обычное или управляемое
- что выбрано: средствами 1С или через скул?
29. SeiOkami 3423 04.03.13 15:07 Сейчас в теме
30. vetalvr 97 04.03.13 18:02 Сейчас в теме
(29) Прошу прощения. В обработке для отладки временно была отключена процедура. Исправил и залил заново обработку.
31. a1ex4ndr 5 04.07.13 18:03 Сейчас в теме
Отброшу идейные соображения и на днях конвертну под 8.0 (чтобы открыть её под 8.1 необходимо будет открыть её в конфигураторе).

СПС отлично работает, единственно что не понравилось - движения по регистрам рубятся только полностью, а если удалить документы то их движения остаются, может прикрутить к фильтрам по документам крыжик "удалять движение документов", или я может что то проглядел??
32. vetalvr 97 05.07.13 12:43 Сейчас в теме
(31) Изначально исходя из поставленной задачи обработка написана таким образом, что таблицы очищаются только полностью. Чтобы очищать таблицы не полностью или очищать связанные движения, необходимо переписывать запросы на уровне SQL (для не полного очищения таблицы использовать фильтры, для связанных движений использовать соединения). Задача в принципе не сложная для тех, кто может написать подобные запросы на языке 1С.
33. chmv 10.07.13 13:53 Сейчас в теме
34. _Ramzes 125 30.08.13 22:16 Сейчас в теме
А можно чтобы не удалялись предопределенные элементы?
35. vetalvr 97 31.08.13 14:30 Сейчас в теме
(34) _Ramzes, эта обработка очищает документы и регистры. О каких предопределенных элементах идет речь?
36. b-dm 171 07.11.14 10:54 Сейчас в теме
Отличная обработка, ожидается её доработка про выбор по определенным фильтрам ?
37. vetalvr 97 11.11.14 22:06 Сейчас в теме
(36) b-dm, пока не планировалось ввиду малого спроса
38. Sintson 411 20.03.21 23:44 Сейчас в теме
Спасибо автору разработки. Очень выручила обработка. Рекомендую, задача не частая, но очень проблемная.
На моем примере: обычным образом по расчетам, на удаление данных ушло бы порядка трех месяцев.
Обработка автора отработала меньше минуты по регистрам и документам.
Независимые РС не чистил, кроме версий объектов. Конфигурация не типовая, на базе УПП сильно переработанная для большого холдинга.
База была более трех террабайт, схлопнулась в десять раз. После обработки сжимали базу сиквелом, удаление помеченных не запускали, у нас номенклатурных позиций больше четырехсот тысяч позиций.
Оставьте свое сообщение