1с условие в запросе на пустое значение определяемого типа

1. demONx7 07.11.19 03:15 Сейчас в теме
Всем привет. Собственно вопрос в теме. Как в запросе сделать условие на пустое значение определяемого типа. А если быть более точным, то на пустые значения всех типов находящихся в определяемом?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. PhoenixAOD 62 07.11.19 04:31 Сейчас в теме
(1)можно ГДЕ твоезначение есть null
7. demONx7 07.11.19 05:54 Сейчас в теме
(6) Null, неопределено, и пустая ссылка - это разные вещи. И они встречаются в качестве значений.
8. PhoenixAOD 62 07.11.19 07:44 Сейчас в теме
(7)"Как в запросе сделать условие на пустое значение определяемого типа" следовательно ему нужно найти какие то записи к которых один из показателей есть null. в том же РН Расчеты с клиентами, если ПКо допустим сделан на основании ЗАказ клиента (РТиУ, Заказ клиента и тд) тогда будет заполнено значение и объект расчетов, а если ПКО будет сделан без основания, то объект расчетов будет пустым, следовательно есть null.
9. dhurricane 07.11.19 08:02 Сейчас в теме
(8) Это не так. Объект расчетов будет либо Неопределено, либо пустой ссылкой.
kniga888; YannikAlx; +2 Ответить
14. kniga888 18.10.21 02:04 Сейчас в теме
(9)
Возник такой же вопрос. Для истории, вдруг кто-то ещё будет искать - в случае, когда значение реквизита определяемого типа не задано и тип значения интерактивно ещё не выбирался, он имеет значение НЕОПРЕДЕЛЕНО.
Пустой ссылкой значение становится после выбора типа.
Vasas2007; +1 Ответить
2. dhurricane 07.11.19 03:30 Сейчас в теме
(3) Что-то вроде такого, наверное:
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ...
|ГДЕ
|   НЕ Ссылка В(&ПустыеЗначения)";

ОпределяемыйТип = Метаданные.ОпределяемыеТипы.<ИмяТипа>.Тип;
ПустыеЗначения = Новый Массив;
Для каждого ТипЗначения Из ОпределяемыйТип.Типы() Цикл
   Значение = Новый(ТипЗначения);
   ПустыеЗначения.Добавить(Значение);
КонецЦикла;
Если ОпределяемыйТип.Типы().Количество() > 1 Тогда
   ПустыеЗначения.Добавить(Неопределено);
КонецЕсли;

Запрос.УстановитьПараметр("ПустыеЗначения", ПустыеЗначения);
Показать
Crazy_Max; kniga888; Drivingblind; +3 Ответить
3. demONx7 07.11.19 04:20 Сейчас в теме
(2) Перебором это конечно замечательно. Я думал может быть что-от типа такого есть:
ЗНАЧЕНИЕ(ОпределяемыйТип.ИмяТипа.ПустаяСсылка)
4. dhurricane 07.11.19 04:28 Сейчас в теме
(3) Нет, такого нету.

В случае, если определяемый тип содержит только ссылочные типы, при том немного, можно воспользоваться следующим трюком:
ВЫБРАТЬ
   ...
ГДЕ
   Владелец.Ссылка ЕСТЬ NULL
Здесь проверяется, пустое ли поле "Владелец", тип которого задан определяемым типом. Но таким приемом лучше не злоупотреблять.
10. FetisovAN 08.11.19 17:12 Сейчас в теме
(4) Также делаю. Например мне нужно собрать документы с "пустым" основанием

ГДЕ
ПоступлениеТоваровУслуг.Основание.Ссылка ЕСТЬ NULL
11. Sashares 35 08.11.19 17:18 Сейчас в теме
(10)Если у вас Основание это составной тип, вы так соединяетесь со всеми таблицами всех типов, которые могут быть основанием. Зачем?
Drivingblind; +1 Ответить
12. FetisovAN 11.11.19 20:53 Сейчас в теме
(11) Предложите свой вариант условия на пустое значение реквизита составного типа
13. Sashares 35 11.11.19 21:13 Сейчас в теме
(12)Ну из очевидного - массив пустых ссылок и Неопределено чем не вариант? Из метаданных по описанию типа получить ссылки на используемые типы документов/справочников.
5. emilliya 2 07.11.19 04:28 Сейчас в теме
Например
ЗНАЧЕНИЕ(Перечисление.ПричиныНетрудоспособности.ПоБеременностиИРодам)
ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код105)
ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
Оставьте свое сообщение

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