К статье
Практический материал

Администрирование · 10 мин

Поиск ссылок на объекты в 1С 8.3: где находится и как работать

Как найти все ссылки на объект в 1С 8.3: стандартная функция поиска ссылок, обработки, запросы. Удаление объектов без нарушения целостности базы.

Перед удалением документа, элемента справочника или любого другого объекта в 1С 8.3 важно понять, где этот объект используется. Если удалить контрагента, на который ссылаются десятки документов, в базе останутся «битые ссылки» — записи вида «Объект не найден», которые ломают отчёты, проведение и обмены данными. Функция поиска ссылок показывает все места использования объекта и позволяет принять безопасное решение.

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

Где находится стандартная функция поиска ссылок

Самый быстрый способ — открыть нужный объект (элемент справочника, документ) и в меню «Ещё» выбрать команду поиска ссылок. В типовых конфигурациях на управляемых формах команда может называться «Найти ссылки» или находиться в подменю «Сервис». Платформа построит список всех объектов, где встречается ссылка на текущий элемент: документы, регистры сведений, другие справочники, планы обмена.

Второй путь — через главное меню. Откройте «Все функции» (если пункт не виден, включите его: Сервис → Параметры → флажок «Отображать команду "Все функции"»). В дереве найдите раздел «Стандартные» и там обработку «Поиск ссылок на объекты». В ней можно добавить сразу несколько объектов списком и выполнить поиск по всем сразу — это удобнее, чем открывать каждый объект по отдельности.

В конфигураторе аналогичная функция доступна через пункт меню «Правка» → «Найти ссылки на объект» при выделенном объекте метаданных, а также через контекстное меню объекта в дереве конфигурации. Этот вариант ищет ссылки в метаданных и модулях, а не в данных, и нужен разработчикам при рефакторинге.

Как работать с результатами поиска

Результат поиска выводится в виде таблицы: объект-источник ссылки, его представление и место использования. Из таблицы можно перейти в любой найденный объект двойным щелчком, открыть его на редактирование и заменить или очистить ссылку. Это основной сценарий «ручной чистки»: вы видите каждое место использования и осознанно решаете, что с ним делать.

Обратите внимание, что поиск находит ссылки не только в реквизитах документов, но и в табличных частях, регистрах сведений (в том числе независимых), движениях регистров накопления и бухгалтерии. Если объект используется в движениях проведённого документа, просто удалить его нельзя — сначала придётся распровести или перепровести документ с заменой значения.

Порядок действий при ручной проверке
  1. 1
    Откройте объект и вызовите «Ещё» → «Найти ссылки» (или обработку через «Все функции»)
  2. 2
    Изучите список: отделите актуальные документы от архивных и помеченных на удаление
  3. 3
    В актуальных объектах замените ссылку на корректное значение или очистите поле
  4. 4
    Распроведите документы, где ссылка участвует в движениях, измените и проведите заново
  5. 5
    Повторите поиск ссылок — список должен опустеть
  6. 6
    Только после этого помечайте объект на удаление и запускайте удаление помеченных

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

Когда объектов много, ручная проверка каждого нерациональна. Типовая обработка «Удаление помеченных объектов» (в типовых конфигурациях: Администрирование → Обслуживание → Удаление помеченных объектов) автоматически проверяет все помеченные элементы и показывает, какие из них используются и где именно.

Режим «Выборочное удаление» выводит дерево: помеченный объект и под ним — места использования. Можно прямо в этом окне снять пометку с нужных элементов, перейти в мешающие документы и исправить их, а затем повторить попытку удаления. Фактически это массовый поиск ссылок с возможностью немедленного исправления.

Поиск ссылок запросом и программно

Для нестандартных задач — например, найти ссылки только в определённом виде документов или выгрузить список использований в файл — удобна консоль запросов. Запрос вида «ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Контрагент = &Контрагент» покажет конкретные места использования с возможностью фильтрации по периоду, организации и другим условиям, чего стандартный поиск не умеет.

Во встроенном языке есть метод НайтиПоСсылкам(), который принимает массив ссылок и возвращает таблицу соответствий «ссылка — объект — метаданные». Он используется в собственных обработках, когда нужно автоматизировать проверку: например, перед заменой элементов в обработке поиска и замены дублей. Метод работает быстро, так как использует индексы платформы, но требует прав на чтение проверяемых таблиц.

bsl
МассивСсылок = Новый Массив;
МассивСсылок.Добавить(ПроверяемыйЭлемент);
ТаблицаСсылок = НайтиПоСсылкам(МассивСсылок);
Для Каждого Строка Из ТаблицаСсылок Цикл
    Сообщить(Строка(Строка.Данные) + " — " + Строка(Строка.Метаданные));
КонецЦикла;

Выбор способа под задачу

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

ИнструментКогда подходитОграничения
«Ещё» → «Найти ссылки» в форме объектаРазовая проверка одного объектаНет фильтров, по одному объекту за раз
«Все функции» → «Поиск ссылок на объекты»Проверка списка объектовНужно включить «Все функции»; нет условий отбора
«Удаление помеченных объектов»Массовая чистка базыРаботает только с помеченными на удаление
Консоль запросовВыборка с условиями, выгрузка результатовТребует навыка написания запросов
НайтиПоСсылкам() в кодеАвтоматизация, собственные обработкиНужны права разработчика/администратора
Маршрут решения

Как выбрать действие

Нужно проверить один-два объекта перед удалениемИспользуйте команду «Найти ссылки» из меню «Ещё» формы объекта
Требуется почистить базу от накопленных помеченных объектовЗапустите «Удаление помеченных объектов» в выборочном режиме
Нужны места использования с отбором по периоду или организацииНапишите запрос в консоли запросов по конкретным таблицам
Проверку нужно выполнять регулярно и автоматическиРеализуйте обработку с методом НайтиПоСсылкам()

Типичные ошибки и ограничения

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

Вторая ошибка — недостаток прав. Если у пользователя нет прав на чтение какого-то регистра или документа, поиск молча пропустит эти таблицы, и результат будет неполным. Проверку перед удалением лучше выполнять под учётной записью с полными правами.

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

Типичные ошибки
01
Удаление объекта без проверки ссылок — появляются записи «Объект не найден» в документах и отчётах
02
Поиск под ограниченными правами — часть таблиц не проверяется, результат неполный
03
Игнорирование обменов данными — ссылка может существовать в другой базе
04
Массовая проверка в рабочее время на большой базе — блокировки и жалобы пользователей

Как проверить результат и убедиться в чистоте базы

После замены ссылок и удаления объектов повторите поиск: список мест использования должен быть пустым. Затем полезно запустить тестирование и исправление информационной базы с включённой проверкой ссылочной целостности — она покажет оставшиеся «битые ссылки», если они появились раньше или в результате других операций.

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

Контрольные точки

Как проверить результат

Повторный поиск ссылок на объект
Норма

Список мест использования пуст

Тревожный признак

Остались документы или регистры со ссылкой

Тестирование и исправление (проверка ссылочной целостности)
Норма

Ошибок нет

Тревожный признак

Сообщения об объектах с несуществующими ссылками

Отчёты и журналы документов
Норма

Данные отображаются полностью

Тревожный признак

Надписи «Объект не найден» в строках

Частые вопросы

Почему в меню «Ещё» нет команды «Найти ссылки»?

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

Найдёт ли поиск ссылки в движениях проведённых документов?

Да, стандартный поиск проверяет таблицы движений регистров. Если ссылка есть в проведённом документе, объект нельзя будет удалить, пока документ не распроведён или не перепроведён с другим значением.

Можно ли найти ссылки сразу на группу объектов?

Да. В обработке «Поиск ссылок на объекты» (через «Все функции») добавьте несколько объектов в список и выполните поиск — результат будет сведён в общую таблицу. Программно то же делает метод НайтиПоСсылкам() с массивом ссылок.

Поиск ничего не нашёл, но объект не удаляется. Почему?

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

Чем опасно удаление с отключённым контролем целостности?

В базе останутся ссылки на несуществующий объект. Они отображаются как «Объект не найден», вызывают ошибки при проведении документов, искажают отчёты и приводят к сбоям обменов. Исправление таких последствий трудоёмко, поэтому контроль отключать не следует.

Итог

Что важно запомнить

Поиск ссылок в 1С 8.3 доступен из меню «Ещё» формы объекта, через «Все функции», обработкой удаления помеченных объектов и программно. Всегда проверяйте места использования перед удалением, работайте с полными правами и делайте резервную копию перед массовой чисткой.