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

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

Проверка логической целостности в 1С: ошибка «объект, на который ссылается значение, отсутствует»

Что делать, если при проверке логической целостности 1С сообщает «объект, на который ссылается значение, отсутствует»: причины битых ссылок, поиск и исправление.

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

Такие ссылки в обиходе называют «битыми». Сама по себе база с битыми ссылками продолжает работать, но последствия неприятны: в отчётах появляются строки вида «<Объект не найден> (123:abc...)», проведение документов может завершаться ошибкой, а обмены данными — останавливаться с критическими сообщениями.

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

Что означает сообщение и как устроены ссылки в 1С

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

Платформа при обращении к такой ссылке выводит представление вида «<Объект не найден>» с техническим кодом. Проверка логической целостности в режиме «Тестирование и исправление» как раз и сканирует таблицы базы, выявляя подобные несоответствия, и выдаёт формулировку «объект, на который ссылается значение, отсутствует».

Типичные причины появления битых ссылок

Чаще всего проблема возникает из-за прямого удаления объектов в обход контроля ссылочной целостности. Штатное удаление в 1С двухэтапное: сначала объект помечается на удаление, затем специальная обработка «Удаление помеченных объектов» проверяет, есть ли на него ссылки, и удаляет только незадействованные объекты. Если администратор или обработка удаляет объект напрямую (через запрос, метод Удалить() без контроля или при отладке), проверка не выполняется — и ссылки остаются висеть в пустоту.

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

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

Единичные ошибки после удаления справочникаЛокальная проблема

Проверьте, какие документы ссылались на удалённый объект, и замените ссылки

Массовые ошибки после обмена даннымиПроблема настройки обмена

Проверьте правила регистрации и фильтры выгрузки связанных объектов

Ошибки вместе с сбоями чтения таблицВозможное повреждение базы

Остановите работу, сделайте копию и выполните полное тестирование и исправление

Как выполнить проверку логической целостности

Проверка выполняется в конфигураторе: меню «Администрирование» → «Тестирование и исправление». Для файловой базы достаточно монопольного доступа; для клиент-серверной базы желательно также исключить активную работу пользователей, чтобы результаты не «плыли» во время проверки.

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

Порядок тестирования и исправления
  1. 1
    Сделайте резервную копию базы (выгрузку в dt или копию файла 1Cv8.1CD)
  2. 2
    Завершите сеансы пользователей и откройте конфигуратор с монопольным доступом
  3. 3
    Откройте «Администрирование» → «Тестирование и исправление»
  4. 4
    Установите флаги «Проверка логической целостности данных» и «Проверка ссылочной целостности», режим — только проверка
  5. 5
    Изучите протокол: зафиксируйте, в каких таблицах и объектах найдены битые ссылки
  6. 6
    Примите решение по каждому случаю: восстановить объект, очистить ссылку или создать объект-заглушку
  7. 7
    Запустите исправление и повторную проверку для контроля результата

Способы исправления битых ссылок

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

Восстановление отсутствующего объекта

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

Очистка или замена ссылки

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

Автоматическое исправление при тестировании

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

Сравнение вариантов исправления

Восстановление объекта

Подходит, если объект нужен для учёта и есть источник данных. Ограничение: требуется копия или база-источник

Создание заглушек при ТиИ

Быстро убирает ошибки массово. Ограничение: в справочниках появляются пустые элементы, требующие ручной доработки

Очистка ссылок

Подходит для необязательных реквизитов в закрытых периодах. Ограничение: данные теряются безвозвратно

Замена на другое значение

Подходит при дублях и переклассификации. Ограничение: нужно точно знать корректную замену

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

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

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

Типичные ошибки
01
Запуск исправления без резервной копии — при неудачном сценарии данные теряются безвозвратно
02
Массовое создание заглушек без последующего разбора — справочники засоряются пустыми элементами с кодами-идентификаторами
03
Очистка ссылок в регистрах и проводках — искажает бухгалтерские итоги за прошлые периоды
04
Исправление только в одной базе обмена — при следующей синхронизации битые ссылки возвращаются

FAQ

Можно ли работать в базе, где есть битые ссылки?

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

Чем отличается проверка логической целостности от проверки ссылочной целостности?

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

Что делать, если объект-заглушка появился в справочнике после исправления?

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

Почему после обмена данными снова появляются битые ссылки?

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

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

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

Опасно ли запускать тестирование и исправление на рабочей базе?

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

Итог

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

Ошибка «объект, на который ссылается значение, отсутствует» означает битую ссылку. Порядок действий: резервная копия, диагностика через тестирование и исправление без режимов исправления, осознанный выбор способа устранения (восстановить, заменить, очистить), повторная проверка. Автоматические исправления без анализа протокола и копии применять нельзя.