|
Проверка заполненности составного поля в запросе | ☑ | ||
---|---|---|---|---|
0
Звездец
02.06.17
✎
17:33
|
Нужно в запросе проверить заполненность поля. Если поле ссылочного типа, вопросов нет. Но вот если поле составное и может содержать в себе ссылки на документы нескольких типов, то по идее должна работать конструкция
|ВЫБРАТЬ | ТаблицаТовары.НомерСтроки КАК НомерСтроки, | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения, | &Период КАК Период, | ТаблицаТовары.ЗаказПоставщику КАК Заказ, | ТаблицаТовары.Магазин КАК Магазин, | ТаблицаТовары.Контрагент КАК Поставщик, | ТаблицаТовары.Номенклатура КАК Номенклатура, | ТаблицаТовары.Характеристика КАК Характеристика, | ТаблицаТовары.Количество КАК Количество |ИЗ | ВтТаблицаТовары КАК ТаблицаТовары |ГДЕ | &ФормироватьДвижения | И НЕ ТаблицаТовары.ЗаказПоставщику = Неопределено Но не работает. Или в этом нужен NULL? |
|||
1
kiruha
02.06.17
✎
17:37
|
Проверять на Неопределено и на Пустую ссылку каждого типа
|
|||
2
kiruha
02.06.17
✎
17:37
|
Неопределено - тип не заполнен
|
|||
3
Звездец
02.06.17
✎
17:38
|
(2) мне и надо отобрать где незаполнено
|
|||
4
Звездец
02.06.17
✎
17:39
|
(1) ну тупо перебором пустых ссылок не хотелось бы, их же может быть много
|
|||
5
kiruha
02.06.17
✎
17:39
|
Чтобы много не писать некоторые не парятся и пишут
ТаблицаТовары.ЗаказПоставщику.ссылка Есть Null |
|||
6
Волшебник
модератор
02.06.17
✎
17:39
|
(3) Тогда условие должно быть такое:
ГДЕ &ФормироватьДвижения И ТаблицаТовары.ЗаказПоставщику = Неопределено |
|||
7
HEKPOH
02.06.17
✎
17:41
|
(3) не заполнено в таких случаях бывает двух типов:
1. не выбран тип - Неопределено 2. тип выбран, а ссылка нет - ПустаяСсылка Именно об этом писали в (1) |
|||
8
igork1966
02.06.17
✎
17:42
|
(3) т.е. пустую ссылку ты будешь считать заполненным полем?
|
|||
9
mehfk
02.06.17
✎
17:46
|
(0) Не должна.
|
|||
10
Звездец
02.06.17
✎
17:56
|
(7) вот мне как раз таки и нужно выбрать все кроме пустого и пустой ссылки.
|
|||
11
ГдеСобака Зарыта
02.06.17
✎
17:58
|
В БП 3 есть такая функция
Функция ПолучитьМассивПустыхЗначенийПоОписаниюТипов(ОписаниеТипов) Экспорт МассивПустыхЗначений = Новый Массив; МассивПустыхЗначений.Добавить(Неопределено); Для каждого Тип Из ОписаниеТипов.Типы() Цикл МассивПустыхЗначений.Добавить(Новый(Тип)); КонецЦикла; Возврат МассивПустыхЗначений; КонецФункции Установка параметра запроса: Запрос.УстановитьПараметр("ДебиторскаяЗадолженностьСделкаПустыеЗначения", ОбщегоНазначенияБПВызовСервера.ПолучитьМассивПустыхЗначенийПоОписаниюТипов( ДокументСсылка.Метаданные().ТабличныеЧасти.Расшифровка.Реквизиты.Сделка.Тип)); |
|||
12
Звездец
02.06.17
✎
18:00
|
(11) Это интересно. Попробую применить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |