Оцените, пожалуйста, статью, мы стараемся:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Как в запросе выполнить отбор по «объект не найден» (1С: 8.1: Программисту)

4

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

Обратите внимание, если в запросе требуется получить ссылку на регистратор регистра накопления, то запрос должен быть построен не к остаткам и не к оборотам, а просто к регистру (как в этом примере)
Итог исполнения запроса:

Дополнение

По сведениям наших коллег в некоторых случаях может потребоваться отбор не по

а по представлению, т.е. с использованием конструкции вида:

Мы думаем, что это может быть связано с различными видами «битости» ссылок. В любом случае, один из способов должен Вам помочь. Поэтому рекомендуем поэкспериментировать с обоими этими условиями.

admin

4 thoughts on “Как в запросе выполнить отбор по «объект не найден» (1С: 8.1: Программисту)

    1. Возможно, есть какие-то нюансы. На ум приходит то, что могут быть «полные» или «частичные» потери связей с исходными объектами и, как следствие, могут быть разные подходы решения задачи.

      Хорошо бы проанализировать эту задачу на самых различных данных.

      Будем рады любым дополнительным отзывам и сведениям от всех, кто с этим еще столкнется.

      1. Думается мне, что нюанс тут… есть, но только в формулировке и ее понимании.
        «нужно проверять на NULL значение ссылки» — неточная и/или неверная формулировка.
        Речь идет о том, чтобы условие в запросе выглядело так:
        ГДЕ Чек.Номенклатура.Ссылка ЕСТЬ NULL
        А это почти равнозначно условию
        ГДЕ Чек.Номенклатура.Представление ЕСТЬ NULL
        (Почему почти? Я знаю пока одно различие: если есть, скажем, в регистре измерение Операция с типом ПеречислениеСсылка, так в запросе Операция.Ссылка использовать можно, а вот Операция.Представление вызывает ошибку! По крайней мере на платформе 8.2.16.)

  1. По регистру сведений «АналитикаУчетаЗатрат» данный подход не работает ни по ссылке, ни по «Ссылка.Представление», если — тип СправочникСсылка.КлючиАналитикиУчетаЗатрат.

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

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

Next Post

Особенности разупаковки номенклатуры, когда по одной строке «Взять» должно быть несколько строк «Положить» (1С: Логистика - управление складом Axelot: Пользователю)

Ср Июн 9 , 2010
Вопрос Как оформить документ «Переупаковка номенклатуры», когда нужно разупаковать упаковку из 100 шт на 3 упаковки по 30 шт + 10 штук? Ответ Для этого порядок строк «положить» должен быть такой: сначала 10 штук по штукам, потом 3 упаковки по 30 штук, но не наоборот. См. инструкцию