Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Найти битые ссылки запросом 1С и не только

Часто бывает что в результате обмена данных в 1С 8.3 и 8.2 случаются ошибки, и вместо значения ссылочных данных в полях встречается «Объект не найден», то есть «битые ссылки».

Как выглядит битая ссылка

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

Поиск битых ссылок в 1С запросом

Очень часто встает вопрос — как отобрать элементы с битыми ссылками запросом 1С?

Вопрос решается достаточно легко, рассмотрим его на примере:

необходимо отобрать документы Счет на оплату покупателю, где вместо организации установлена «битая ссылка».

Решение задачи:

Получите 267 видеоуроков по 1С бесплатно:

Поиск битый ссылок запросом

Что мы сделали?

Первым отбором «НЕ СчетНаОплатуПокупателю.Организация ЕСТЬ NULL»  мы определили, что ссылка установлена.

Вторым отбором СчетНаОплатуПокупателю.Организация.Код ЕСТЬ NULL, обращаясь к коду организации по точке, система строить левое соединение, но не находит в таблице организаций такой элемент — возвращает NULL.

Всё получается достаточно просто.

Определение битой ссылки в объектной модели

Если у вас нету возможности сделать проверку запросом — рекомендую использовать два разных метода, рассмотрим их на примере, который давали ранее:

Используя ПолучитьОбъект()

При использовании метода «ПолучитьОбъект()» битая ссылка вернет «Неопределено».

Например:

Если Счет.Организация.ПолучитьОбъект() = Неопределено Тогда

Сообщить("Ссылка битая!");

КонецЕсли;

Поиск в строке

Этот метод самый простой — поиск строки «Объект не найден» в представлении элемента.

Например:

Если Найти(Строка(Счет.Организация),"Объект не найден") <> 0 Тогда

Сообщить("Ссылка битая!");

КонецЕсли;

Читайте также другие статьи по разработке в 1С.

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 2 на “Найти битые ссылки запросом 1С и не только
  1. В указанном примере при использовании языка запросов, если документ не проведен и в нем не указана организация, то в результат запроса этот документ не попадет

    Ответить

    • Если организация не указана — значит и битой ссылки нет.

      А по не проведенным не согласен — на это никаких отборов в запросе нет.

      Ответить

Добавить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*