| 
    
            
         
         | 
    
    
  | 
Проверка заполненности составного поля в запросе | ☑ | ||
|---|---|---|---|---|
| 
    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) Это интересно. Попробую применить     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |