Бывает необходимо получить в запросе пустую ссылку на какой-то объект или выбрать объекты с незаполненным реквизитом, установив отбор по пустой ссылке. Разберем в статье разные варианты получение и отбора по пустой ссылке, а также способы проверки на заполненность. В этой заметке во всех примерах будет устанавливаться отбор или сравнение на пустую ссылку в справочнике и пустую ссылку в документе.
Отбор по пустой ссылке
Для указания пустой ссылки в запросе можно использовать несколько способов:
Пустая ссылка через установить параметр
В примере устанавливаем пустую ссылку с помощью функции запроса УстановитьПараметр.
Запрос = Новый Запрос(" | ... | ГДЕ РеквизитСправочника = &ПустаяСсылкаСправочник | И РеквизитДокумента = &ПустаяСсылкаДокумент)"; Запрос.УстановитьПараметр("ПустаяСсылкаСправочник",Справочники.Номенклатура.ПустаяСсылка()); Запрос.УстановитьПараметр("ПустаяСсылкаДокумент",Документы.ЗаказКлиента.ПустаяСсылка());
Пустая ссылка в запросе
Пустую ссылку можно указать в запросе или в соединении, с помощью команды ЗНАЧЕНИЕ.
Запрос = Новый Запрос(" | ... | ГДЕ РеквизитСправочника = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) | И РеализацияТоваровУслуг.ДокументОснование = ЗНАЧЕНИЕ(Документ.Заказ.ПустаяСсылка)
Отбор объектов с не заполненными ссылками
Иногда в объекте может быть не пустая ссылка, а не заполненное значение в запросе отобрать их можно, с помощью оператора ЕСТЬ NULL.
Запрос = Новый Запрос(" | ... | ГДЕ ТоварыНаСкладах.Регистратор.ДокументОснование.Ссылка ЕСТЬ NULL";
Отбор объектов с заполненными значениями. Обратная ситуация и с ней есть особенности. В этом случае нужно использовать оператор «ЕСТЬ НЕ NULL», а не ставить НЕ в начало условия.
Запрос = Новый Запрос(" | ... | ГДЕ РеализацияТоваровУслуг.Сделка.Ссылка ЕСТЬ НЕ NULL";
Получение пустого значения в запросе
Получение пустой ссылки в запросе аналогично отбору по пустой ссылке, работает по формуле:
- ЗНАЧЕНИЕ(Справочник.НаименованиеСправочника.ПустаяСсылка)
- ЗНАЧЕНИЕ(Документ.НаименованиеДокумента.ПустаяСсылка)
Запрос.Текст = "ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК ПустаяСсылкаНоменклатура, | ЗНАЧЕНИЕ(Документ.ЗаказКлиента.ПустаяСсылка) КАК ПустаяСсылкаЗаказ, | """" КАК ПустаяСтрока, | 0 КАК Число0, | Истина КАК БулевоИстина, | Ложь КАК БулевоЛожь, |ИЗ | РегистрСведений.Расш1_ТестовыйРегистр КАК Расш1_ТестовыйРегистр |";
Материалы по теме:
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.