В языке запросов проверить Пустая ссылка или нет

1. user656408_Kuxoff.s 10.03.17 09:51 Сейчас в теме
Не могу В языке запросов проверить Пустая ссылка или нет. В реквизите хранится ссылка на справочник. В запросе надо выбрать записи, в которых есть реальная ссылка. Помогите пож.
EvgeniyOlxovskiy; +1 Ответить
По теме из базы знаний
Найденные решения
2. _Pups_ 10.03.17 09:54 Сейчас в теме
если знаешь что за справочник, проверь на неравенство Ссылка<>Значение(Справочник.ТвойСправочник.ПустаяСсылка)
native-api; VAAngelov; HFerus; Rudnik_91; user970646; tomskiy_proger1c; EvgeniyOlxovskiy; MrEvilSkotch; houpl; Valerianich; user1114234; V.Stavinsky; user679292_ttkeino; ResetAtreides; +14 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. _Pups_ 10.03.17 09:54 Сейчас в теме
если знаешь что за справочник, проверь на неравенство Ссылка<>Значение(Справочник.ТвойСправочник.ПустаяСсылка)
native-api; VAAngelov; HFerus; Rudnik_91; user970646; tomskiy_proger1c; EvgeniyOlxovskiy; MrEvilSkotch; houpl; Valerianich; user1114234; V.Stavinsky; user679292_ttkeino; ResetAtreides; +14 Ответить
3. Mogilnikova 101 10.03.17 10:51 Сейчас в теме
а откуда выборка то идет? реквизит чего?
может там она не пустая оказаться, а null?
4. Velesstroy_OOO 10.03.17 16:06 Сейчас в теме
Для справки

В СКД можно воспользоваться глобальной функцией "ЗначениеЗаполнено"
5. ResetAtreides 10.03.17 16:30 Сейчас в теме
(4)
В СКД можно воспользоваться глобальной функцией "ЗначениеЗаполнено"

Пример использования ЗначениеЗаполнено() в языке запросов приведете?
6. DmitriyPopow 33 10.03.17 16:35 Сейчас в теме
(5)он наверное имел в виду в вычисляемых полях.
7. ResetAtreides 10.03.17 16:43 Сейчас в теме
(6) Возможно, но к отбору, как хотел ТС, они никак не относятся
8. Velesstroy_OOO 10.03.17 16:57 Сейчас в теме
(7) это намек посмотреть на другой механизм.
Не видя листинга запроса и что из себя представляют исходные таблицы все советы будут из теорчасти.
9. ResetAtreides 10.03.17 17:03 Сейчас в теме
(8) чтобы сравнить в запросе на пустую ссылку, достаточно знать тип ссылки и конструкцию "Значение(..ПустаяСсылка)". Никаких других изобретений велосипеда не нужно
11. Velesstroy_OOO 10.03.17 17:12 Сейчас в теме
(9) этот случай простой и решение подошло. В другой ситуации когда у поля несколько типов значений, как будете проверять на пустую ссылку?
12. ResetAtreides 10.03.17 17:16 Сейчас в теме
(11)
Через
Ссылка В (Неопределено, Значение(Справочник.С1.ПустаяСсылка), Значение(Справочник.С2.ПустаяСсылка))

(10)
Конкретно так не получится, если Ссылка пустая, там NULL, а с NULL сравнивать только через EстьNULL/(Eсть NULL). А вообще, через любой реквизит можно, но не по феншую, да и зачем?
IvStark; madway; auDemon; V.Stavinsky; +4 Ответить
14. Velesstroy_OOO 10.03.17 17:37 Сейчас в теме
(12) Век живи, век учись. Интересное решение.

(13) Не во всех случаях сработает. Например, если у справочника длина кода = 0, то вызовет ошибку, так как в таблице такого поля не будет.
15. spezc 787 10.03.17 17:41 Сейчас в теме
(14) точно. тогда ПометкаУдаления
27. native-api 15.04.24 12:09 Сейчас в теме
(4) Согласно документации по ЗначениеЗаполнено(), ей можно пользоваться только для примитивных типов, массивов и коллекций.
10. V.Stavinsky 271 10.03.17 17:06 Сейчас в теме
может пойдет вот такое: ЗначениеЗаполнено (Ссылка.ВерсияДанных)?
13. spezc 787 10.03.17 17:18 Сейчас в теме
Если ...Ссылка.Код Есть Null Тогда "не заполнено"
16. Jen1978 19 10.03.17 23:14 Сейчас в теме
где
Спр.Ссылка <> ЗНАЧЕНИЕ(Справочник.Контрагент.ПустаяСсылка)
17. Jen1978 19 10.03.17 23:14 Сейчас в теме
после пустаяссылка скобки не ставим
18. Amigo-NN 05.03.21 12:27 Сейчас в теме
Я проблему с пустыми ссылками на документы решил следующим образом:
НЕ ТИПЗНАЧЕНИЯ(ВТ_АктуальныеРегистраторы.СторнируемыйДокумент.Дата) = ТИП(ДАТА)

Получается, если СторнируемыйДокумент = живой документ, то у него тип Дата. А если пустая ссылка - то тип NULL
19. nomad_irk 76 05.03.21 16:01 Сейчас в теме
(18)достаточно сделать
ЕстьNull(ВТ_АктуальныеРегистраторы.СторнируемыйДокумент.Дата, ДатаВремя(1,1,1)) > датавремя(1,1,1)


Потому что ТипЗначения() не работает на старых платформах
20. Maden 20.04.22 05:48 Сейчас в теме
(1)
Ссылка.ВерсияДанных = """"
21. blazh 20.04.22 05:56 Сейчас в теме
(20)А если для запроса то не надо ссылку конвертнуть в строку? Это вопрос, а не ирония :)
22. Maden 20.04.22 09:27 Сейчас в теме
(21)Это текст для запроса. Прям в запросе так пишешь.
Выбрать Ссылка Из Справочник.Номенклатура Где Ссылка.ВерсияДанных<>""""
23. cartograph 22.03.23 15:04 Сейчас в теме
(20)
Это неправильно сработает, если есть неразрешённые (битые) ссылки. Напр., при переносе данных в новую базу.
native-api; +1 Ответить
24. gruk 15 06.10.23 04:54 Сейчас в теме
Через неявное левое
Ссылка.Ссылка есть null
25. gruk 15 06.10.23 05:08 Сейчас в теме
через новый метод (использую для составного типа)
УникальныйИдентификатор(Ссылка) = УникальныйИдентификатор(ЗНАЧЕНИЕ(Справочник.ЛЮБОЙ.ПустаяСсылка))

ну или сравнить с параметром с пустым УН

нюанс этого метода что на Неопределено тоже срабатывает (в моём случае это плюс), хотя ВЫБРАТЬ УникальныйИдентификатор(Неопределено) не работает.
26. pacas 9 20.01.24 21:47 Сейчас в теме
На справочник работает Ссылка<>Значение(Справочник.ТвойСправочник.ПустаяСсылка)
на Поле строка <>""""
28. Vinzor 102 15.04.24 19:40 Сейчас в теме
На "пустую строку" поля нравится такая проверка

поле + "!" <> "!"
29. Mantis 137 20.05.24 11:47 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот