отобрать можно через
ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ЗНАЧЕНИЕ(Документ.Реализация.ПустаяСсылка)
либо передавая в запрос в качестве параметра пустую ссылку:
Запрос.УстановитьПараметр("ПустаяСсылка", Справочники.Номенклатура.ПустаяСсылка());
Вот пример запроса с проверкой на пустую ссылку:
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ РАЗЛИЧНЫЕ | докТовары.Ссылка |ИЗ | Документ.ЭКОМ_Документы.ТЧ_Товары КАК докТовары |ГДЕ | докТовары.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) |"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать();
2 ответа к “Как отобрать пустые ссылки в запросе 1c8”
Здравствуйте! Простите за глупый вопрос. Как написать запрос, чтобы, если значение пусто(значения в поле нет) подставлял 0? Делаю в запросе вот так ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК Остаток, не работает.
Спасибо за вопрос.
Пусто в Запросе может быть как NULL или как Неопределено.
NULL возникает при соединении таблиц когда соответствие не найдено.
Неопределено – тип данных 1С. Может возникать в других случаях.
Я предлагаю посмотреть через КонсольЗапросов какое значение возвращается в этом поле. А потом сделать вот такое поле с проверкой на это значение:
ВЫБОР КОГДА СвободныеОстаткиОстатки.ВНаличииОстаток = Неопределено Тогда 0 Иначе СвободныеОстаткиОстатки.ВНаличииОстаток КОНЕЦ КАК Остаток,
но можно попробовать сразу эту конструкцию, а если не взлетит то попробовать узнать значение через консоль запросов