Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ИСБУ_Лек3.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
683.52 Кб
Скачать

Проверка ссылочного значения (ссылка/ref)

Оператор ССЫЛКА позволяет проверить, является ли значение выражения ссылкой на таблицу, указанную справа от него. Этот оператор полезен для полей, имеющих составной тип данных.

Следующий запрос выбирает товары, для которых единица измерения ссылается на справочник ЕдиницыИзмерения, а не является, например, строкой.

ВЫБРАТЬ Наименование, ЕдиницаИзмерения

ИЗ Справочник. Номенклатура

ГДЕ ЕдиницаИзмерения ССЫЛКА Справочник. ЕдиницыИзмерения

Проверка пустых значений (есть null / is null)

Оператор ЕСТЬ NULL позволяет проверить значение заданного выражения на NULL.

Замечание. NULL-значения не являются нулем (0), пустой строкой («») или пробелом (« »). NULL-значения - это неуказан­ные, отсутствующие или неизвестные значения.

Если проверяемое значение равно NULL, то результатом оператора будет Истина, иначе - Ложь. Применение логического опера­тора НЕ изменяет действие оператора на обратное. Любая операция обычного сравнения (=, >, <= и т.д.) значения NULL с чем-либо еще дает результат, аналогичный Ложь.

Следующий запрос выбирает из справочника Номенклатура все товары, для которых строковое поле СтранаПроисхождения имеет NULL-значение:

ВЫБРАТЬ Наименование, СтранаПроисхождения КАК Страна

ИЗ Справочник,Номенклатура

ГДЕ СтранаПроисхождения ЕСТЬ NULL

Наименование

Страна

Программное обеспечение

Услуги

Клавиатуры

Принтеры

Мониторы

Обратите внимание, что в результате запроса присутствуют только группы справочника, так как для них поле Страна имеет NULL-значение (вообще не указывается). В результат запроса не попали товары, у которых строковое поле СтранаПроисхождения имеет значение «» (пустая строка). Как уже было сказано выше, ни ноль, ни пустая строка, ни пробел не являются NULL-значением.

Чтобы выбрать товары, у которых не указана страна (строковое поле), нужно применить обычное сравнение на пустую строку:

ВЫБРАТЬ Наименование, СтранаПроисхождения КАК Страна

ИЗ Справочник.Номенклатура

ГДЕ СтранаПроисхождения = " "

Наименование

Страна

Доставка

Инсталляция ПО

Консультации по настройке ОС Windows

Монитор 15" LG Studioworks 575N

Если стоит задача выбрать элементы с неуказанным реквизитом, имеющим ссылочный тип, тогда следует поступать по-другому. Например, требуется выбрать все товары с незаполненным полем ОсновнойПоставщик, которое является ссылкой на справочник Контрагенты.

Предлагается следующая схема для решения этой задачи:

Запрос = Новый Запрос("

| ВЫБРАТЬ Наименование, ОсновнойПоставщик

| ИЗ Справочник.Номенклатура

| ГДЕ ОсновнойПоставщик = ПустойКонтрагент ");

Запрос.УстановитьПараметр("ПустойКонтрагент",

Справочники.Контрагенты.ПустаяСсылка());

Результат = Запрос.Вылолнить();

В условии запроса используется параметр ПустойКонтрагент. Этот параметр до выполнения запроса получает значение пустой ссылки на справочник Контрагенты. Для этого используется метод ПустаяСсылка объекта СправочникМенеджер.

Результат приведенного выше запроса будет следующий:

Наименование

ОсновнойПоставщик

Монитор 19" Hitachi CM715ET

Монитор LCD 22" M8537ZM/A

Мышь GENIUS «EASY» (3 кнопки),

Мышь Ice Mouse MUS-2

Мышь LOGITECH M-S48 PS/2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]