Поиск и удаление объектов без ссылок

22.06.23

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

Обработка предназначена для быстрого поиска объектов, на которые нет ссылок в других таблицах базы данных, и последующего удаления найденных объектов.

Файлы

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

Наименование Скачано Купить файл
Поиск и удаление объектов без ссылок:
.epf 50,78Kb
68 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

Альтернативный алгоритм поиска ссылок заключается в выполнении следующих действий:

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

Порядок работы с обработкой.

  1. Выбор проверяемого объекта (справочника или документа).


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


     
  3. Находим ссылки на объект метаданных по кнопке "Найти ссылки на объект метаданных" (выполнение пунктов 1-2 алгоритма поиска ссылок)



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


     
  5. Нажимаем кнопку Пометить объекты на удаление / Удалить. Запускается процесс удаления объектов с выводом прогресса выполнения операции.

    Важно! В отличие от команды "Пометить объекты на удаление", команда "Удалить" производит непосредственное удаление элемента без возможности восстановления и без проверки ссылочной целостности. Использовать данный метод нужно крайне осмотрительно.

Рекомендуется перед удалением объектов из базы данных сделать резервную копию базы (как вариант сохранить данные удаляемой таблицы с помощью обработки Выгрузка и загрузка данных XML).

Для выполнения операций обработки в фоновом режиме рекомендуется встроить обработку в конфигурацию или в расширение конфигурации.

Дополнительная информация

Тестирование подсистемы проводилось на версии платформы 8.3.21.1302 (режим совместимости конфигурации 8.3.14). При разработке использовалась Библиотека стандартных подсистем версии 3.1.7.

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

НайтиПоСсылкам удаление

См. также

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

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

24900 руб.

20.08.2024    71719    366    170    

318

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4131    14    1    

18

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

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

6100 руб.

16.03.2015    281305    263    84    

294

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46374    32    13    

50

Чистка данных Системный администратор Программист 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. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 26.02.2026, версия 4.5, 4.6.0)

14640 руб.

22.02.2013    147110    291    155    

459

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

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

23999 руб.

20.02.2026    1403    1    0    

4

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

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

13420 руб.

14.05.2012    170366    358    253    

589
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sandr13 35 23.06.23 16:03 Сейчас в теме
А если объект/реквизит использует хранилище значений, где данные хранятся в неявном виде, тогда как быть?
2. Sirruf 196 24.06.23 18:37 Сейчас в теме
(1) я думаю, что и платформа не найдет такие ссылки, можете проверить - установить пометку удаления на объект присутствующий в хранилище и попробовать удалить такой объект через типовую обработку удаления помеченных.
DennyPhilord; +1 Ответить
3. sandr13 35 24.06.23 19:55 Сейчас в теме
(2) Смотря кто, и с какой целью будет искать эти ссылки. А ещё есть вариант зашифрованных, с которыми вообще непонятно что делать.
4. V.Nikonov 126 28.06.23 12:36 Сейчас в теме
А ещё есть связанные Таблицы: Контрагент-ДоговорКонтрагента; Номенклатура-ЕдиницыИзмерения...
Эти можно только Парно искать "Бесхозные".
У Контрагента есть ОсновнойДоговор, а у ДоговораКонтрагента - Владелец. Выкрутиться можно, отключая проверку отдельных связей... Но, какова должна быть квалификация пользователя Обработки? Может тогда ему подойдёт Универсальная Обработка Объектов?
P.S. Кажется лучше создать несколько Обработок, которые по Адекватному сценарию Зачищают "Ручной мусор" (под каждый вид "Мусора" свою обработку)?
5. sandr13 35 28.06.23 18:08 Сейчас в теме
6. OlesyaBelochka 39 06.03.25 14:41 Сейчас в теме
Скачала обработку, не запускается. Выходит ошибка:

Конфигурация Бухгалтерия предприятия 3.0, (3.0.166.17)
Платформа 1С:Предприятие 8.3 (8.3.24.1586)

Не удалость найти ссылки на объект метаданных по причине:
Для вызова процедуры внешнего отчета или внешней обработки
требуется заполнить параметр ВнешнийОтчетОбработка

Для вызова процедуры внешнего отчета или внешней обработки
требуется заполнить параметр ВнешнийОтчетОбработка
{ОбщийМодуль.ДлительныеОперации.Модуль(1869)}:ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ДлительныеОперации.Модуль(1847)}:ОбработкаОтчетОбъект = ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ЧастиИмени[1]);
{ОбщийМодуль.ДлительныеОперации.Модуль(1792)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
{ОбщийМодуль.ДлительныеОперации.Модуль(1811)}:ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,, СтекЗапуска, ИнформацияОбОшибке);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
по причине:
Для вызова процедуры внешнего отчета или внешней обработки
требуется заполнить параметр ВнешнийОтчетОбработка
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
8. Гость 04.07.25 11:27
(6) У меня обработка при открытии как "Внешняя обработка" через Файл-открыть выдает такую-же ошибку. Поэтому необходимо последовать совету автора:
Для выполнения операций обработки в фоновом режиме рекомендуется встроить обработку в конфигурацию или в расширение конфигурации.

Мой пример использования описан в ответе комментарию ниже.
7. xelas12345 3 04.06.25 18:30 Сейчас в теме
Добрый день!
Не работает на БП 3.
При нажатии кнопки "Найти объекты без ссылок" выдает:
Не удалость найти объекты без ссылок по причине:
{(4, 20)}: Ожидается выражение "ВЫБРАТЬ"
ЛЕВОЕ СОЕДИНЕНИЕ (<<?>>) КАК ВложенныйЗапрос

{(4, 20)}: Ожидается выражение "ВЫБРАТЬ"
ЛЕВОЕ СОЕДИНЕНИЕ (<<?>>) КАК ВложенныйЗапрос
{РасширениеКофемания Обработка.ПоискИУдалениеОбъектовБезСсылок.МодульОбъекта(213)}:КомпоновщикНастроекКД.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКД));
{(1)}:Объект.ФоновыйПоискОбъектовБезСсылок(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(6065)}:Выполнить "Объект." + ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1840)}:ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1792)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
{ОбщийМодуль.ДлительныеОперации.Модуль(1811)}:ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,, СтекЗапуска, ИнформацияОбОшибке);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка, ОшибкаКонфигурации]
по причине:
Ошибка при вызове конструктора (ИсточникДоступныхНастроекКомпоновкиДанных)
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(4, 20)}: Ожидается выражение "ВЫБРАТЬ"
ЛЕВОЕ СОЕДИНЕНИЕ (<<?>>) КАК ВложенныйЗапрос
9. Гость 04.07.25 11:48
(7) Эту проблему легко избежать, пройдя алгоритм по шагам 1-5 по описанию автора.

Как я делал:

1) Сформировал список ссылок на объект метаданных. (В моем случае объект метаданных: Справочник номенклатуры.)
2) Убрал из списка те ссылки объектов на Номенклатуру, которые присутствует у новой (т.е. нигде не задействованной номенклатуры), чтобы именно с этими объектами он не учитывал ссылки на номенклатуру.
Ссылающиеся объекты метаданных на новую номенклатуру посмотрел через обработку "поиск ссылок на объекты" в типовой конфе или любую другую.
3) Теперь на вкладке "Объекты без ссылок" нахожу номенклатуру, которая проверяется по списку из вкладки "Дерево ссылок".
4) Пометил на удаление и штатной обработкой в типовой конфе "Удаление помеченных объектов" произвожу окончательное удаление с проверкой на ссылки. Мало ли.
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация