Удаление данных средствами SQL, теория и практика

16.01.24

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

Методика быстрого удаления данных через SQL. Выбираем документ в 1С, добавляем простые условия - получаем готовый скрипт, удаляющий сами документы, их табличные части и движения по регистрам.

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

Наименование Файл Версия Размер
Удаление данных средствами PostgreSQL
.epf 24,32Kb
25
.epf 1.0 24,32Kb 25 Скачать
Удаление данных средствами MSSQL
.epf 24,03Kb
10
.epf 24,03Kb 10 Скачать

В данной статье будет рассмотрена методика удаления данных запросом в MSSQL-студии.

Отказ от ответственности

Делайте архив. 

Проверяйте, пожалуйста, текст скрипта перед выполнением. Понимайте, что делаете. Помните, что ответственность лежит целиком на Вас!

С особой внимательностью рекомендую проверять скрипт перед выполнением, если в Вашей базе есть случаи, когда период записей регистров отличается от даты регистратора.

Основная цель применения

Прикладная задача, в процессе решения которой родилась данная методика: свертка базы (ввод остатков, удаление документов и движений регистров в прошлых периодах). То есть: удаление документов (вместе с табличными частями, разумеется) до определённой даты, и их движений. Иногда обработка использовалась для удаления данных с более сложными условиями, но они менялись вручную уже в SQL-студии.

Предыстория

Проблема: свертка стандартными средствами происходила неприлично долго. Точней, именно этап удаления старых данных. Остатки вводятся быстро, а вот удаление движений регистров, пометка на удаление документов, само удаление - по нашим оценкам на наших объёмах (500ГБ) заняло бы недели.

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

Препятствия: Данные в SQL хранятся в разных таблицах. Таблиц много, как их связать - не всегда понятно. То есть мало очистить сам документ (шапку), надо очистить также данные табличных частей, и движений документа. Движения по разным регистрам. Для одного документа регистров может быть много. Каждый регистр в свою очередь хранит данные также в нескольких таблицах. Наименования таблиц - неосмысленные.

Теория

Варианты (операторы) удаления в SQL.

  1. DROP - полное удаление таблицы из структуры данных (вместе с данными). То есть очищаются не только данные, но и метаданные. Работает мгновенно.
  2. TRUNCATE - полная очистка таблицы с сохранением структуры таблицы (очищаются только строки таблицы, колонки остаются прежними). Работает мгновенно.
  3. DELETE - удаление записей в таблице по определенному условию. Занимает определенное время.

Оператором DROP на практике я почти не пользуюсь. TRUNCATE - иногда пригождается, когда по условию задачи возможно удалить всю таблицу (данные не нужны совсем, либо можно после удаления загрузить откуда-то только нужную часть). В остальных случаях (в том числе в рамках данной методики) используется DELETE. 

Для того, чтоб удалить данные целостно по ряду связанных таблиц документа (шапка, ТЧ, движения) - сперва я рассматривал вариант честно отобрать данные документа по дате, а потом уже связать с другими таблицами через JOIN. То есть очистить поочередно все связанные таблицы, после чего удалить основную (так как только в ней есть реквизит, по которому решаем удалять объект или нет)

В итоге была выбрана и реализована следующая стратегия

  1. Удаляем движения регистров, которые двигает нужный вид документа, по связке с основной таблицей документа
  2. Удаляем строки табличных частей документа, по связке с основной таблицей документа
  3. Удаляем основную таблицу документа
  4. Очищаем целиком таблицы журналов, где участвует документ (нехорошо, но в нашем случае - не критично, можно и не трогать)
  5. Опционально можно очистить таблицы регистрации изменений для обмена

Таблиц много + названия неудобные + конструктора запросов нет = очень много рутины с высокой вероятностью ошибки и дороговизной ошибок. Поэтому был создан инструмент, берущий большую часть рутины на себя.

Устаревшая стратегия (альтернатива)

Первое решение, от которого я впоследствии отказался. Хотя вначале оно казалось более удобным и простым. А именно - очистить шапку. А потом все связанные таблицы поочередно, у кого нет "пары" в основной таблице (ссылка/регистратор = "битая" ссылка).

Данный вариант не работает для движений документа. Так как после удаления основной таблицы документа - IS NULL даёт истину после соединения таблицы движений регистра и основной таблицы документа в 2х случаях

  1. Когда действительно записи сделаны этим видом документа, и эти документы были удалены (тут всё хорошо)
  2. Когда записи были сделаны документами других видов, и в этом случае записи удаляются ошибочно (так нельзя!). Чтоб решить эту проблему надо связывать таблицу регистра со всеми возможными типами регистраторов, а это слишком сложно

Вобщем порядок был такой (отличия в пунктах 2 и 3)

  1. Удаляем записи регистров, которые двигает нужный вид документа, по связке с основной таблицей документа
  2. Удаляем основную таблицу документа
  3. Удаляем записи табличных частей документа, у которых Ссылка после соединения = IS NULL
  4. Остальное (как в основном варианте, журналы и регистрация изменений)

Но в процессе эксплуатации выяснилось, что удаление по пустой шапке на больших объёмах работает медленно, поэтому по умолчанию от данной стратегии пришлось отказаться (по крайней мере, на нашем примере), но эта опция по-прежнему доступна по соответствующей галочке на первой закладке.

Особенности

  1. Доступна опция порционного удаления.
  2. На данный момент, обработка существует только для обычного приложения.
  3. Обработка сама не подключается в SQL и не запускает скрипт там на выполнение. Только формирует текст скрипта. Считаю, что скопировать-вставить нетрудно, а если нет навыков работы в SQL-студии, то и запускать подобное, возможно, рано.
  4. Исходный код открыт.

Порядок действий 

  1. Делаем архив
  2. Составляем список удаляемых данных (самые большие таблицы, которые удалить стандартными средствами слишком долго / неудобно / не хочется разбираться с тем, что удаляемые данные зарегистрируются к обмену и "пойдут" куда не надо)
  3. Запускаем обработку, при желании сверху ставим отбор
  4. Выделяем в списке нужные виды документов (обязательно выделяем ОСНОВНЫЕ таблицы, то есть таблицы шапок, а не табличных частей)
    Можно сразу несколько с Ctrl-ом (доступно множественное выделение)
  5. Переходим на вторую закладку и выбираем нужный нам вариант удаления (например по дате)
  6. Нажимаем соответствующую кнопку по формированию скрипта
  7. Получаем в окне сообщений готовый скрипт на удаление данных на языке SQL
  8. Копируем в буфер, вставляем в SQL Management Studio
  9. При надобности корректируем. Например через замену (Ctrl+H) можно заменить "<" на ">=", и получится скрипт удаляющий данные документов не до указанной даты, а, наоборот, - начиная с неё. Либо отбор по дате можно заменить на пометку документа на удаления (_Marked = 1). Либо чтоб удалялись только непроведенные (_Posted = 0). 
  10. Запускаем на выполнение, дожидаемся завершения, наблюдаем за статусом на закладке Messages
  11. Проверяем результат в 1С
  12. Обязательно пересчитываем итоги затронутых регистров накопления и бухгалтерии, так как таблицы итогов не обрабатываются

При желании протестировать/посмотреть "что именно будет удаляться" предусмотрена соответствующая опция (галочка справа внизу), в этом случае скрипты будут формироваться с оператором SELECT, а не DELETE. Можно выделить нужный кусок, запустить на исполнение, посмотреть результаты, прежде чем запускать на удаление.

Для PostgreSQL

...Использовалась копированием текста скрипта из 1С, вставкой и запуском в dbAdmin через Query Tool
Версия для PostgreSQL на данный момент не поддерживает порционное удаление

Вместо эпилога

Конструктивную критику, вопросы и пожелания - прошу в комментарии!

Спасибо за прочтение!

обработка удалениеданных сверткабазы MSSQL PostgreSQL

См. также

Удаление данных с отбором и построением дерева ссылок в базах 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    113690    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. пользователь 25.04.18 17:56
Сообщение было скрыто модератором.
...
2. пользователь 26.04.18 04:00
Сообщение было скрыто модератором.
...
3. kolhoznik 05.07.18 13:31 Сейчас в теме
Обработка просто огонь, удобно делать тестовые копии с урезанными данными!
Полезна для изучения структуры таблиц в SQL

1. Удобно было бы из ОСНОВНЫЕ таблицы заложить в фильтр (решается сортировкой нужной колонки)
2. Вывод сообщений скрипта в SQL немного не удобен, особенно при обработке большого количества документов
3. Сдвиг дат

Иногда проскальзывает сообщение 'Недопустимое имя столбца "_Period"'
Похоже в скрипте

PRINT 'Начинаю очистку регистра: РегистрСведений.СостоянияОСОрганизаций.Основная	' +CAST(GETDATE() as varchar);
DELETE	FROM SubData
	FROM _InfoRg12237 SubData
 	INNER JOIN _Document188 MainData
ON SubData._RecorderRRef = MainData._IDRRef
WHERE _Period < @date_trim;
svbel85; METAL; +2 Ответить
4. METAL 289 11.07.18 16:10 Сейчас в теме
(3) Спасибо большое, комментарии приняты, постараюсь реализовать/поправить, но из-за нехватки времени сроки обещать не могу.
По 1 - есть некое решение уже, сам столкнулся, доведу чуть до ума, поделюсь
2. Сейчас есть неудобство, когда начинает чистить какую-то таблицу - сообщает о начале вместе с сообщением о завершении. Не знаю с чем связано, но постараюсь решить. Если есть предложения - внимательно слушаю.
3. Не понял честно говоря, о чём речь
4. 'Недопустимое имя столбца "_Period"' - Да, тоже замечал, такое бывает когда идёт попытка очистить регистр, у которого регистратором является выбранный документ, но регистр непериодический. В этом случае регистр не очищается. Посчитал нестрашным для наших задач, поэтому пока не успел поправить.
6. METAL 289 27.07.18 16:48 Сейчас в теме
(3)
1. Удобно было бы из ОСНОВНЫЕ таблицы заложить в фильтр (решается сортировкой нужной колонки)
2. Вывод сообщений скрипта в SQL немного не удобен, особенно при обработке большого количества документов

Улучшено в новой версии
5. METAL 289 27.07.18 12:32 Сейчас в теме
UPD Обновлена версия обработки. Бета.
[*] Редизайн интерфейса, повышение юзабилити.
[+] Добавлена возможность целостного удаления документов на отдельной закладке
[+] Частично реализована опция порционного удаления. Порциями удаляются данные при выборе произвольной таблицы, а также при целостном удалении документов - основная таблица документа. Продолжение следует.
[*] Рефакторинг системы вывода сообщений. Теперь сообщения выводятся мгновенно, и выглядит всё более коротко и информативно
7. METAL 289 03.08.18 10:53 Сейчас в теме
[↑] Доделано и протестировано порционное удаление
8. METAL 289 16.11.18 16:19 Сейчас в теме
Иногда проскальзывает сообщение 'Недопустимое имя столбца "_Period"'

[fix] Исправлено
9. AlexeyT1978 202 28.01.19 10:18 Сейчас в теме
Ух, крутая штука, скоро пригодится!
10. AlexeyT1978 202 29.01.19 11:43 Сейчас в теме
Вчера пользовался, работает корректно, но остаются ссылки в "присоединенных файлах". Наверное, вручную буду удалять.
11. METAL 289 29.01.19 15:50 Сейчас в теме
(10) Спасибо за обратную связь!
Ссылки в "присоединённых файлах" (то есть ссылки на удаляемые произвольные документы в произвольных справочниках) как почистить на уровне SQL в процессе свёртки базы - пока не вижу вариантов... Видимо да, проще на уровне 1С сделать
12. METAL 289 01.02.19 16:00 Сейчас в теме
[+] Добавлена возможность удалить все записи выбранных регистров накопления ДО определённой даты
13. METAL 289 01.02.19 16:43 Сейчас в теме
После свертки очередной базы выяснилась одна особенность-недоработка. Стали сверять остатки после свертки на свёрнутой базе и оригинальном исходнике. Обнаружили расхождения - движения документов без регистратора.
Чтоб удалить их был добавлен новый функционал в обработку, а именно удобное удаление движений регистров накопления без привязки к документам до определённой даты
Прикрепленные файлы:
14. METAL 289 04.02.19 14:48 Сейчас в теме
Свёртка - дело хорошее. Но как убедиться, что остатки свёрнутой базы совпадают с оригинальной базой? Отдельная интересная задачка.
Можно выгрузить в табличный документ и сравнить через "Сравнить файлы", но хотелось сделать что-то удобней, быстрее и надёжней.
Есть методика, когда обрезанная база подключается через универсальный веб-сервис в оригинальную базу, выполняет произвольный запрос (чтоб получить "оригинальные" остатки до обрезки) и сверяет другим запросом со свернутой базой. См. скрины.
Если кому-то интересно - ставьте лайки, пишите что-нибудь. при наличии спроса и времени - сделаю чтоб запускалось на произвольной конфигурации и опубликую!
Спасибо.
Прикрепленные файлы:
a-m-gv; bashdn; AntonH851; IvanPoh; 2PRV; +5 Ответить
16. 2PRV 7 19.02.19 12:14 Сейчас в теме
(14)
база подключается через универсальный веб-сервис

Было бы интересно посмотреть на такую обработку.
обрезанная база подключается через универсальный веб-сервис
, а не проще com-соединением получить остатки из базы?
a-m-gv; METAL; +2 Ответить
17. METAL 289 19.02.19 13:04 Сейчас в теме
(16) COM - хорошо, но очень он требовательный. Если базы для сравнения на разных серверах и не очень толстым каналом, COM, к сожалению - не вариант.
ОК, принято, обязательно оформлю через какое-то время! Наверное уже в марте. Если срочно - напишите в личку пожалуйста
44. METAL 289 21.07.21 18:00 Сейчас в теме
(16)
Было бы интересно посмотреть на такую обработку.

За небольшим спросом публикация затянулась, но тем не менее - ВОТ, пожалуйста
Буду рад если пригодится!
15. IvanPoh 24 14.02.19 12:30 Сейчас в теме
Было бы круто добавлять произвольные отборы на документы
svbel85; METAL; +2 Ответить
18. NIC001 10 21.02.19 14:13 Сейчас в теме
Добрый день.
Извините, не увидел, а с БП 3.0 как отработает Ваша обработка?
19. METAL 289 22.02.19 03:15 Сейчас в теме
(18) Здравствуйте! Думаю, что точно так же, как и на любой другой конфигурации. Но непременно в режиме обычного приложения её придётся запускать для получения скрипта. Если возникнут проблемы - пожалуйста, пишите, готов попробовать доработать в марте.
45. пользователь 23.11.21 15:49
Сообщение было скрыто модератором.
...
20. NIC001 10 22.02.19 16:30 Сейчас в теме
Добрый день.
В марте не актуально.
Спасибо.
Попробовали.
При запуске в режиме 8.2 отработало штатно.
За это отдельно спасибо.
Удаление объектов на нашей базе (100 ГБ на SQL) прошло ровно и заняло чуть более 2-х часов.
А вот ТиИ длится уже 12 часов к ряду...
Пока "рубит" версии объектов.
Как долго будет продолжаться? Не знаю.
Посоветуете что-нибудь?
21. NIC001 10 23.02.19 11:12 Сейчас в теме
(20) Всем добрый день.
...
Судя по всему, удаление версий объектов будет идти около 20 дней.
За сутки прошло 5%.
Увы.
Без решения этого момента выигрыш от обработки полностью теряется.
На сегодня отработала штатная свёртка.
Жаль.
Первые впечатления были более позитивные.
к сожалению, в том виде и с теми комментариями (инструкциями/объяснениями) как есть, использовать обработку бесполезно.
23. METAL 289 24.02.19 00:05 Сейчас в теме
(21) Почему выигрыш теряется? Иными словами, что делаете? Какова цель операции? Чего достичь хочется? Уменьшить размер базы удалением ненужных данных, основная часть которых находится в «версиях..»? Или...?
22. METAL 289 24.02.19 00:01 Сейчас в теме
(20) Спасибо за отзыв!
А что значит «версии объектов»? Регистр сведений, откуда хочется убрать битые ссылки на документы? Или...?
24. NIC001 10 25.02.19 09:19 Сейчас в теме
Добрый день.
Отвечу по пунктам.
1. Почему выигрыш теряется?
Идея была в сокращении времени на удаление объектов после штатной свёртки баз.
Этого не произошло, т.к, используя штатную свёртку удалось закончить много раньше.
2. А что значит «версии объектов»?
Согласно рекомендаций, после удаления информации на дату, требуется провести ТиИ.
Это нормально.
Но то, что за трое суток прошло только 5 % от проверки логической целостности версий объектов в регистре сведений, это не нормально.
У меня за 40 часов отработала штатная свёртка.
Отсюда понимаю, либо что-то не доработано в обработке, либо что-то не досказано в описании.
Прикрепленные файлы:
25. METAL 289 26.02.19 14:06 Сейчас в теме
(24)
На вашем месте я бы пробовал выгрузить нужные версии до свёртки (например в XML).
Потом сворачивал базу, удалял данные (регистры, документы).
Потом удалял бы таблицу версий целиком.
А потом бы загружал из файла нужные версии.
А так - получилось, что сами объекты удалены, а версии - остались.
Хотя всё равно конечно странно, почему ТиИ идёт так долго.
Возможно, оборудование не справляется.
26. METAL 289 26.02.19 14:11 Сейчас в теме
(24)
Отсюда понимаю, либо что-то не доработано в обработке, либо что-то не досказано в описании.

Обработка не удаляет наборы записей регистров, не подчинённых регистратору (в режиме удаления документов с движениями и ТЧ). Я надеялся, что это понятно из интерфейса
Прикрепленные файлы:
27. NIC001 10 27.02.19 09:22 Сейчас в теме
Добрый день всем.
После серии проб и ошибок...
***
Ситуация: база БП КОРП 100 Гб. на SQL.
По совокупности причин, приняли решение обрезать на 01/01/2019г.
С помощью стандартной свёртки от 1С рассчитали остатки и создали операции ввода начальных остатков.
Типовое удаление старых документов прервали, ибо бессовестно долго и нет гарантированного результата.
Время: 1,5 часа.
С помощью данной обработки полностью очистили версии объектов.
Время: 30 минут.
После этого, с помощью данной обработки, удалили документы до даты.
Заняло 70 минут.
После этого пересчитали итоги.
Заняло ~1,5 часа.
Нашли ~ 20 "потерянных" записей и отработали их вручную.
База работает штатно, весит 25 Гб.
***
Спасибо.
a-m-gv; METAL; +2 Ответить
28. METAL 289 27.02.19 14:24 Сейчас в теме
(27) Очень рад, Александр! Спасибо за отзыв!
29. titanium2008 42 05.10.19 12:56 Сейчас в теме
Добрый день, а по организации умеет удалять?
30. METAL 289 05.10.19 13:33 Сейчас в теме
(29) Нет.
Можете попробовать вот эту разработку https://infostart.ru/public/731455/
31. AKV77 259 15.11.19 09:42 Сейчас в теме
Здравствуйте ! Обработка очень удобна, Спасибо. Есть замечания:
При тестировании сначала сделал выборку данных Sel ect используя удаление порциями... скрипт отрабатывает с ошибкой.
Для исправления немного изменил процедуру:

Процедура ОбработатьСкрипт_ЗаменитьУдалениеНаЧтение(ТекстСкрипта)
	
	Если ПисатьСкриптНаЧтение Тогда
		//ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "DELETE", "SELECT * ");
		Если УдалятьПорциями Тогда
			ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "DELETE TOP(@PortionSize)", "SELECT TOP(@PortionSize) * ");
		Иначе
			ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "DELETE", "SELECT * ");
		КонецЕсли;	
		ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "FR OM SubData", "");
	КонецЕсли; 
	
	// ну и покажем наконец-то
	Сообщить(ТекстСкрипта);

КонецПроцедуры
Показать
32. METAL 289 22.11.19 16:00 Сейчас в теме
(31) Шикарно, исправил, благодарю, коллега!
36. пользователь 08.02.21 15:21
Сообщение было скрыто модератором.
...
33. AlexeyIsip 26 10.03.20 02:37 Сейчас в теме
Предлагаю обмен https://infostart.ru/public/1178808/ у меня удаляются только движения, документы помечатся на удаление, у тебя нет отбора и запуска из-под 1с средствами ADO. Если согласен, то моя почта alex_isip@mail.ru
34. пользователь 08.02.21 15:01
Сообщение было скрыто модератором.
...
35. пользователь 08.02.21 15:19
Сообщение было скрыто модератором.
...
37. user775441 17.03.21 09:38 Сейчас в теме
Добрый день! Подскажите, как с помощью вашей обработки удалить документы по определенной организации?
38. METAL 289 17.03.21 10:09 Сейчас в теме
(37) На данный момент, нет, и не планируется
Можете попробовать вот эту разработку https://infostart.ru/public/731455/
39. пользователь 20.04.21 22:11
Сообщение было скрыто модератором.
...
40. METAL 289 04.05.21 19:27 Сейчас в теме
[↑] Улучшена очистка регистров бухгалтерии
41. rolin555 51 18.06.21 20:39 Сейчас в теме
Почему не показывает все объекты?
Например тот же самый, упомянутый выше: РС.ВерсииОбъектов
Прикрепленные файлы:
43. METAL 289 18.06.21 20:51 Сейчас в теме
(41) На этой закладке только периодические регистры сведений для очистки до определённой даты
Если хотите почистить версии - воспользуйтесь закладкой "Произвольное удаление", и там в поиске напишите Версии
42. пользователь 18.06.21 20:50
Сообщение было скрыто модератором.
...
46. EuLER 02.07.22 18:51 Сейчас в теме
Вопрос на всякий случай - Postgres сможет чистить ?
47. METAL 289 02.07.22 19:08 Сейчас в теме
48. METAL 289 19.07.22 19:50 Сейчас в теме
[+] Добавлена версия для очистки баз под управлением PostgreSQL
49. UPKA 29.11.22 11:34 Сейчас в теме
Здравствуйте, подскажите, возможно ли удалить только итоги по регистру, а движения оставить?
50. METAL 289 29.11.22 12:20 Сейчас в теме
(49) Добрый день
Да, см скрин, пример приведён для оборотного регистра
Идёте на закладку "Произвольное удаление по структуре данных" - вбиваете в поиск название регистра, ищете нужную таблицу итогов, нажимаете "Полная очистка только выбранных таблиц (TRUNCATE)" - внизу будет скрипт, его копируете, вставляете в SQL-студии, запускаете
Если нужен пример для регистра остатков - напишите, пожалуйста, подскажу
Прикрепленные файлы:
51. alex0175 16.01.23 07:44 Сейчас в теме
Здравствуйте.
Хотели свернуть базу КА 2.5 штатными средствами 1С, но процесс очень долгий, т.к. 4 года работы. Приобрели у Вас обработку для удаления документов, регистров и журналов документов. Можно получить у Вас подробную схему выполнения действий с данной обработкой, последовательно друг за другом для правильной свертки базы.
52. METAL 289 16.01.23 18:47 Сейчас в теме
(51) Добрый вечер! Спасибо за вопрос!

Данная обработка заменяет шаг по удалению данных из стандартной схемы по свертке базы

Порядок использования обработки при свертке детально расписан в статье в разделе "Порядок действий"

Если Вы всё это читали, но всё равно мало что не понятно и осталось много вопросов - напишите мне в личку, обсудим варианты сотрудничества
53. METAL 289 17.01.23 20:46 Сейчас в теме
[+] Добавлена поддержка очистки регистров расчёта
54. пользователь 15.03.23 16:48
Сообщение было скрыто модератором.
...
55. serg0776 5 24.04.23 10:32 Сейчас в теме
Бизнес-процессы и Задачи не попадают в обработку. Хорошо бы и их туда.
56. METAL 289 26.04.23 16:53 Сейчас в теме
(55) Куда именно? На закладке "Произвольное удаление по структуре данных" есть абсолютно все метаданные текущей базы, в том числе бизнес-процессы и задачи
57. Kraft2013 02.05.23 18:25 Сейчас в теме
Класная штука но не поддерживает объекты измененные\добавленные в расширении
58. METAL 289 02.05.23 18:41 Сейчас в теме
(57) Спасибо за обратную связь, попробую добавить документ через расширение, и удалить потом через обработку...
59. Tarlich 115 01.11.23 07:09 Сейчас в теме
60. METAL 289 01.11.23 07:13 Сейчас в теме
(59) к сожалению, версия для УФ не появилась.. а есть сложности с запуском в обычном режиме для получения скрипта?
61. Tarlich 115 01.11.23 07:14 Сейчас в теме
(60) да вроде нету -)) спасибо
62. 7407171 25.12.23 13:49 Сейчас в теме
(52) Добрый день!!! Как Вам написать в личку?
Оставьте свое сообщение