Имя: Пароль:
1C
 
Помогите с простым запросом!
0 Мисти
 
05.03.17
17:13
"ВЫБРАТЬ
        |    Кос_ТипыПоступления.Ссылка
        |ПОМЕСТИТЬ СписокТипов
        |ИЗ
        |    Справочник.Кос_ТипыПоступления КАК Кос_ТипыПоступления
        |ГДЕ
        |    НЕ Кос_ТипыПоступления.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ПоступлениеТоваровУслуг.Кос_ТипПоступления,
        |    ПоступлениеТоваровУслуг.Ссылка
        |ИЗ
        |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |ГДЕ
        |    ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
        |    И ПоступлениеТоваровУслуг.Кос_ТипПоступления В(&СписокТипов)"

Не умею я пользоваться результатом одного запроса в условии другого.
Суть простая - надо выбрать поступления, где Кос_ТипПоступления в списке непомеченых на удаление элементов справочника. Раньше всегда писала 2 разными запросами, а ведь надо одним?
1 Джинн
 
05.03.17
17:16
Либо соединение двух таблиц либо условие вхождения во вложенный запрос.
2 mkalimulin
 
05.03.17
17:17
(0)
|ГДЕ
|    ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
|    И НЕ ПоступлениеТоваровУслуг.Кос_ТипПоступления.ПометкаУдаления
3 Sammo
 
05.03.17
17:17
Внутреннее соединение 2 таблиц по Кос_ТипПоступления и НЕ Кос_ТипыПоступления.ПометкаУдаления
Сделать для начала в конструкторе запросов.
4 Sammo
 
05.03.17
17:18
(2) В простом случае преобразует в левое соединение. Но в сложном план запроса может быть непредсказуем, поэтому не советую обращаться через двойную точку в запросе - плохая привычка.
Имхо
5 mkalimulin
 
05.03.17
17:21
(4) В левое? Не во внутреннее? Откуда инфа?
6 jsmith82
 
05.03.17
17:23
И ПоступлениеТоваровУслуг.Кос_ТипПоступления
В (ВЫБРАТЬ СписокТипов.Ссылка ИЗ СписокТипов КАК СписокТипов)
7 Мисти
 
05.03.17
17:25
mkalimulin - хорошая идея, а если реквизит этот вовсе не выбран - сработает?

А у меня внутреннее соединение не находится!
Или нужно и вторую таблицу во временную таб. положить?
(6) Попробую!
8 Мисти
 
05.03.17
17:45
"ВЫБРАТЬ
        |    Кос_ТипыПоступления.Ссылка
        |ПОМЕСТИТЬ СписокТипов
        |ИЗ
        |    Справочник.Кос_ТипыПоступления КАК Кос_ТипыПоступления
        |ГДЕ
        |    НЕ Кос_ТипыПоступления.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ПоступлениеТоваровУслуг.Кос_ТипПоступления,
        |    ПоступлениеТоваровУслуг.Ссылка,
        |    ПоступлениеТоваровУслуг.Дата КАК Дата
        |ИЗ
        |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |ГДЕ
        |    ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
        |    И ПоступлениеТоваровУслуг.Кос_ТипПоступления В
        |            (ВЫБРАТЬ
        |                СписокТипов.Ссылка
        |            ИЗ
        |                СписокТипов КАК СписокТипов)

Такой фокус сработал.
А как соединением написать? Там потом будет посложнее отбор в 1 запросе.
9 nordbox
 
05.03.17
17:50
может поможет в примерах
http://helpme1c.ru/soedineniya-v-zaprosax-v-1s-8-v-primerax
10 Мисти
 
05.03.17
17:50
А как в запросе сделать условие по заполненности реквизита?
ЗаказПокупателяТовары.Номенклатура.Кос_ТипПоступления = &ВыбПустой - это я понимаю. А без параметра можно?
(9) Спасибо!
11 Sammo
 
05.03.17
17:57
Смотрел планы запросов. Правда на 8.1 и 8.2. Но думаю, что и для 8.3 не изменилось
Еще узкий момент, что для составного типа join-ятся таблицы со всеми типами. Это одна из причин, почеиу не рекомендуют использовать типы ДокументСсылка и СправочникСсылка в типах реквизитов
12 Darky
 
05.03.17
17:57
(10)
ЗаказПокупателяТовары.Номенклатура.Кос_ТипПоступления =  Значение(Справочник.Кос_ТипПоступления.ПустаяСсылка)
13 Мисти
 
05.03.17
18:03
(12) Спасибо! Забыла про это волшебное слово "значение"
14 КофеIN
 
06.03.17
08:29
"ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ПоступлениеТоваровУслуг.Кос_ТипПоступления,
        |    ПоступлениеТоваровУслуг.Ссылка,
        |    ПоступлениеТоваровУслуг.Дата КАК Дата
        |ИЗ
        |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    |    ВНУТРЕННЕЕ СОЕДИЕНИЕ Справочник.Кос_ТипыПоступления КАК Кос_ТипыПоступления
    |     ПО ПоступлениеТоваровУслуг.Кос_ТипПоступления = Кос_ТипыПоступления.Ссылка
        |ГДЕ
        |    ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон