Удаление помеченных на удаление объектов с предварительным отбором

17.11.25

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

В любой типовой конфигурации 1cv8 есть типовая обработка "Удаление помеченных на удаление объектов". Проблема в том, что как только в базе данных накопится более миллиона основных записей, помеченных на удаление, то типовая обработка даже не сможет открыться, сколько дней ее не жди..... Данная моя обработка открывается в базе, в которой около 3-х миллионов помеченных на удаление объектов (справочников и документов) - за 67 секунд! Далее на начальной форме - очень гибкий отбор объектов, благодаря которому - возможно, наконец-таки, почистить базу от мусора. Не монопольно. Контроль ссылочности связанных объектов присутствует.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Франкеншейн: Удаление помеченных на удаление объектов с предварительным отбором
.epf 31,82Kb
4 2 450 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

За основу была взята древняя типовая обработка из 1с:Медицина.Больница1.0. Она не запускалась в базе, в которой было около трех миллионов помеченных на удаление объектов...Почему? Потому что во всех типовых обработках на удаление - используется типовая функция НайтиПомеченныеНаУдаление(), а потом ее ставят в цикл на перебор типов объектов - и здесь: все умирает...Типовая обработка может стоять в запуске сутками - и так не открыться, чтобы начать отбор.

Я делаю проще: при открытии моей обработки - идет сбор помеченных на удаление объектов метаданных запросом (в базе с 3млн таких записей - занимает время на открытие моей обработки равное 67 секунд).

Для сбора данных - использую только справочники и документы, потому что 80% захламления базы находится в них. Кроме того, справочники и документы имеют ссылочный тип, а это очень полезно для нетиповых сильно переписанных конфигураций, так как могут присутствовать странные "ничейные" объекты, которые были забыты/оставлены при ручном обновлении базы (см.скрин). При обнаружении подобных "ничейных" объектов - внизу будет выдано сообщение: добавьте им роль ПолныеПрава в конфигураторе.

 

     

На начальной странице формы есть варианты отбора. Крайне не рекомендую выделять в тяжелой базе сразу все объекты: "Слона нужно есть по кусочку", поэтому для начала проанализируйте основные "тяжелые" объекты поштучно, с ссылочным режимом, чтобы видеть какие связанные объекты привязываются в каждом конкретном случае(см.скрин).

 

     

Например, отправлять на отработку сразу 300 тысяч документов - это долго и не рационально. Поэтому для документов я добавила фильтр по периоду. На скрине видно, что, выбрав один день и нажав кнопку пересчитать, в отборе будет не 300 тысяч, а всего 28 штук - такой объем быстро проанализируется.

Жмем кнопку "Далее".

 

     

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

Жмем кнопку "Удалить":

 

     

Так как для первого анализа - мы пытаемся удалить с ссылочным контролем связанных документов, поэтому получили предупреждение, что данные документы не могут быть окончательно удалены, так как на них есть записи в регистрах сведений:

 

     

Анализируем, что нам вообще-то не нужны эти записи в регистрах сведений...

Жмем кнопку "Назад", "Назад"

и возвращаемся с третьей страницы формы обработки - на начальную страницу, включаем галку "Очищать регистры сведений, ссылающиеся на помеченные на удаление документы?",

 

 

отбираем по периоду эти же документы, "Далее", "Далее", жмем "Удалить":

Получаем предупреждение, что все удалилось! В этом режиме, с включенной галкой "Очищать рег.свед", идет поиск ссылок на объект в базе, если найденные связанные объекты - это регистры сведений, то моим универсальным запросом к полученному регистру сведений - удаляется именно эта запись, а потом и сам документ (или справочник, в некоторых конфигурациях - и такие чудеса есть: как запись элемента справочника в регистре сведений)).

 

 

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

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

==================================================================

     *Внимание: в свою обработку добавила волшебную галку "Чпых":

 

 

!!!Если включен данный режим, то произойдет удаление выбранных объектов БЕЗ ссылочного контроля!

Скорость, конечно, хорошая, по сравнению с удалением при контроле ссылочных объектов), но это применяется для точно проанализованных данных.

*В принципе, используемые типовые функции в обработке еще с 1с.Платформы 8.0, но для современных конфигураций: запрещено использовать модальный режим, поэтому обработка общается с пользователем через "ПоказатьПредупреждение" и "ПоказатьВопрос", а они появились в 1с.Платформе 8.3.3....Поэтому, если у вас очень старенькая платформа, то заремарьте их и используйте модальные "Предупреждение" и "Вопрос".

А так, моя обработка должна в любой 1cv8 конфигурации открыться. Буду очень ждать комментариев: кто, в какой конфигурации использовал моего "Франкенштейна", и на сколько ваша база стала легче.)

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

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.25.61
  • Бухгалтерия государственного учреждения, редакция 2.0, релизы 2.0.106.57
  • Зарплата и кадры государственного учреждения, редакция 3, релизы 3.1.35.73
  • Документооборот КОРП, редакция 3.0, релизы 3.0.19.29
  • Управление торговлей, редакция 11, релизы 11.5.25.61
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.186.21
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.35.73

Вступайте в нашу телеграмм-группу Инфостарт

Инструмент разработчика 1с Удаление помеченных на удаление объектов Франкенштейн Универсальная обработка механизмы платформы не монопольно Ссылки на связанные объекты

См. также

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    48296    269    139    

243

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

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

12000 руб.

22.02.2013    143434    284    147    

452

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

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

6000 руб.

16.03.2015    267019    241    83    

275

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

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

5000 руб.

28.11.2019    29020    78    21    

93

Чистка данных Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

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

5136 руб.

23.08.2021    11456    24    3    

30

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

5000 руб.

09.04.2019    30647    47    15    

50

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

Универсальный инструмент для очистки базы. Работает как на конфигурациях на основе БСП, так и самописных. Позволяет выбрать данные, отобразить форму списка, увидеть структуру метаданных, очистить базу применяя при необходимости условия. Удаление производится по выбранным элементам в таблице значений. Наложение условий позволяет удалить документы по выбранной организации.

1 стартмани

25.12.2023    11765    253    WeterSoft    7    

16

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

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

1 стартмани

25.10.2023    7033    6    SerVer1C    27    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aleksey2 90 17.11.25 13:33 Сейчас в теме
На БП была такая ситуация: стоит дата запрета по организации, и какой-то документ цепляет этот запрет, то падает вообще всё, удаление не происходит.
jan-pechka; +1 Ответить
2. jan-pechka 442 17.11.25 14:07 Сейчас в теме
(1) Спасибо большое, что напомнили о ДатеЗапретаИзменений!
Конечно, чтобы работать с данной обработкой: у пользователя должна быть роль "ПолныеПрава" и желательно ДатеЗапретаИзменений себе вообще очистить, т.к. встречала записанные ссылаемые документы и в 01.01.0025 году и в 01.01.3025году)
Для отправки сообщения требуется регистрация/авторизация