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

25.12.25

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

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

Файлы

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

Наименование Скачано Купить файл
Удаление помеченных на удаление объектов с предварительным отбором
.epf 32,22Kb
19 2 450 руб. Купить
Пометить на удаление объекты с предварительным отбором:
.epf 18,91Kb
0 2 150 руб. Купить

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

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

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

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

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

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

 

     

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

 

     

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

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

 

     

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

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

 

     

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

 

     

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

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

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

 

 

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

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

 

 

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

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

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

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

 

 

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

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

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

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

п.с. В ходе аудита моей обработки: добавила в Исключение Попытки -> ЗаписьЖурналаРегистрации (для серверных функций) и ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации (для клиентской функции). Поэтому, если у вас старенький релиз конфигурации, в которой нету общего модуля "ЖурналРегистрацииКлиент" - заремарьте.

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

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

     В ходе глобальной чистки от захломляемости базы, был найден документ-паразит, который в принципе не нужен в текущем учете, но он порождался по подписке, на текущий момент оказалось таких документов 4,5 млн...Чтобы массово пометить на удаление с применением фильтра по Периоду: написала еще одну Универсальную обработку "Франкенштейн: Пометить на удаление.Универсальный".

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

Так как при открытии данной обработки - идет загрузка всех справочников и документов, не помеченных на удаление, плюс - раскрытие справочников по группам, то для базы, у которой 75 миллионов подобных записей - занимает время 2минуты. Просто подождите.

Для того, чтобы не ждать заново обновление начальной формы, то под кнопкой "Далее" - заремарила обновление данных.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Обработки можно открыть: либо через Файл->Открыть, либо прикрепить в базе меню Администрирование в "Дополнительные отчеты обработки"

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

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

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

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

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

См. также

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

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

24900 руб.

20.08.2024    54880    299    147    

274

Чистка данных Системный администратор Программист 1С:Предприятие 8 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    144290    286    147    

454

Чистка данных Системный администратор Программист 1С:Предприятие 8 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    277604    244    83    

279

Чистка данных Программист Пользователь 1С:Предприятие 8 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    29632    79    21    

94

Чистка данных Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

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

5000 руб.

23.08.2021    11827    25    3    

31

Чистка данных Системный администратор Программист 1С:Предприятие 8 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    12707    275    WeterSoft    7    

16

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

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

1 стартмани

25.10.2023    7494    6    SerVer1C    27    

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