Имя: Пароль:
1C
1С v8
выбор адреса контрагента в запросе
0 Kalina
 
26.06.15
10:42
Здравствуйте, нужно получить адрес контрагнента, адрес может быть , а может не быть
  ЗапросДок.Текст = "ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Ссылка КАК Документ,
    |    РеализацияТоваровУслуг.Номер,
    |    РеализацияТоваровУслуг.Дата,
    |    РеализацияТоваровУслуг.Организация,
    |    РеализацияТоваровУслуг.Контрагент КАК Контрагент,
    |    РеализацияТоваровУслуг.Проведен,
    |    РеализацияТоваровУслуг.СуммаДокумента КАК СуммаУпр,
    |    РеализацияТоваровУслуг.ВалютаДокумента КАК Валюта
    |    КонтактнаяИнформация.Представление КАК Адрес
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |        ПО РеализацияТоваровУслуг.Контрагент.Ссылка = КонтактнаяИнформация.Объект.Ссылка
    |ГДЕ
    |    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
    |    И РеализацияТоваровУслуг.Организация = &Орг1
    |    И РеализацияТоваровУслуг.Проведен = ИСТИНА
    |    И ((КонтактнаяИнформация.Тип = &ТипКА И КонтактнаяИнформация.Вид = &ВидКА)
    |    ИЛИ (КонтактнаяИнформация.Представление = Неопределено))
    |УПОРЯДОЧИТЬ ПО
    |    Контрагент,
        |    Дата
        |АВТОУПОРЯДОЧИВАНИЕ";
не выбирает те, у которых не указан адрес (КонтактнаяИнформация.Представление = Неопределено) вроде указал такое условие
Буду благодарен за подробный, разжеваный ответ :)
1 Fragster
 
гуру
26.06.15
10:44
подробный ответ - NULL <> NULL, перенеси отбор по правой таблице в условия соединения или используй естьNULL()
2 Fragster
 
гуру
26.06.15
10:44
ну и "" <> Неопределено
3 ssh-2013
 
26.06.15
10:46
(0) как замечание -
в ПО РеализацияТоваровУслуг.Контрагент.Ссылка = КонтактнаяИнформация.Объект.Ссылка

убери .Ссылка
4 RomanYS
 
26.06.15
10:48
перенеси в соединения
    |    И ((КонтактнаяИнформация.Тип = &ТипКА И КонтактнаяИнформация.Вид = &ВидКА)


выкини
    |    ИЛИ (КонтактнаяИнформация.Представление = Неопределено))
5 RomanYS
 
26.06.15
10:49
в где надо
КонтактнаяИнформация.Представление Есть NULL
6 Fragster
 
гуру
26.06.15
10:51
(5) не надо
7 banco
 
26.06.15
11:27
(0)
ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Ссылка КАК Документ,
    |    РеализацияТоваровУслуг.Номер,
    |    РеализацияТоваровУслуг.Дата,
    |    РеализацияТоваровУслуг.Организация,
    |    РеализацияТоваровУслуг.Контрагент КАК Контрагент,
    |    РеализацияТоваровУслуг.Проведен,
    |    РеализацияТоваровУслуг.СуммаДокумента КАК СуммаУпр,
    |    РеализацияТоваровУслуг.ВалютаДокумента КАК Валюта,
    |    КонтактнаяИнформация.Представление КАК Адрес
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |        ПО РеализацияТоваровУслуг.Контрагент.Ссылка = КонтактнаяИнформация.Объект.Ссылка
    |            И (КонтактнаяИнформация.Тип = &ТипКА
    |                И КонтактнаяИнформация.Вид = &ВидКА)
    |ГДЕ
    |    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
    |    И РеализацияТоваровУслуг.Организация = &Орг1
    |    И РеализацияТоваровУслуг.Проведен = ИСТИНА
    |
    |УПОРЯДОЧИТЬ ПО
    |    Контрагент,
    |    РеализацияТоваровУслуг.Дата
8 Kalina
 
26.06.15
11:49
(7) Великий мастер, спасибо тебе, так заработало :)
9 Fragster
 
гуру
26.06.15
11:49
(8) только (3)
10 D_E_S_131
 
26.06.15
11:50
Еще не много напрягись и подправь для однозначности получения информации:

КонтактнаяИнформация.Представление КАК Адрес

ЕстьNull(КонтактнаяИнформация.Представление, "") КАК Адрес
11 Kalina
 
26.06.15
12:05
(9) И тебе спасибо, Великий Мастер - вроде стала быстрее отбирать, а то вроде как подвисала.
12 Kalina
 
26.06.15
12:08
(10) И тебе спасибо друг, вот так работает
                        |   ЕстьNull(КонтактнаяИнформация.Представление, ""Не указан Адрес"") КАК Адрес
тока почему-то в двойных кавычках
13 D_E_S_131
 
26.06.15
14:22
(12) Потому что текст запроса это строка. См. правила написания кавычек в строке. Ну или используй « и » (Alt+0171 и 0187).
14 RomanYS
 
26.06.15
14:51
(6) я (0) прочитал неправильно, думал он ищет как раз тех, кто без адреса
15 Одинесю
 
26.06.15
14:54
А если надо в одну строку и юридический адрес, и фактический, и телефон?