Имя: Пароль:
1C
 
не устанавливается соединение во втором запросе
0 falselight
 
26.09.16
09:27
УНФ. Отчет ОстаткиТоваров.
Вытаскиваю запрос в консоль.
Там 2 запроса через объединить все.
Мне нужно вытащить количество из справочника спецификации.
В первом запросе вытаскиваю, устанавливаю связь по номенклатуре.
То же пробую сделать во втором запросе.
Но там не удается установить связь ((((!
Связь сразу помечается красным крестом.
Как установить связь во втором запросе?

||

ВЫБРАТЬ
    ЗапасыОстатки.Организация,
    ЗапасыОстатки.СтруктурнаяЕдиница,
    ЗапасыОстатки.Номенклатура,
    ЗапасыОстатки.Характеристика,
    ЗапасыОстатки.Партия,
    ЗапасыОстатки.ЗаказПокупателя КАК Заказ,
    ЗапасыОстатки.КоличествоОстаток КАК Количество,
    ЗапасыОстатки.СуммаОстаток КАК Себестоимость,
    ВЫБОР
        КОГДА ЗапасыОстатки.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
            ТОГДА 0
        ИНАЧЕ ЗапасыОстатки.КоличествоОстаток
    КОНЕЦ КАК Резерв,
    ВЫБОР
        КОГДА ЗапасыОстатки.Партия = ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)
                ИЛИ ЗапасыОстатки.Партия.Владелец = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Свой,
    ИСТИНА КАК НаСкладе,
    ЕСТЬNULL(ЕСТЬNULL(ЦеныПоХарактеристикам.Цена * ВЫБОР
                КОГДА ЦеныПоХарактеристикам.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоХарактеристикам.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ, ЦеныПоНоменклатуре.Цена * ВЫБОР
                КОГДА ЦеныПоНоменклатуре.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоНоменклатуре.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ), 0) КАК Цена,
    ЗапасыОстатки.Номенклатура.КатегорияНоменклатуры КАК КатегорияНоменклатуры,
    ЕСТЬNULL(СпецификацииСостав.Количество, 0) КАК КоличествоСпецификации
ИЗ
    РегистрНакопления.Запасы.Остатки(, Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)) КАК ЗапасыОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоХарактеристикам
        ПО ЗапасыОстатки.Номенклатура = ЦеныПоХарактеристикам.Номенклатура
            И ЗапасыОстатки.Характеристика = ЦеныПоХарактеристикам.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоНоменклатуре
        ПО ЗапасыОстатки.Номенклатура = ЦеныПоНоменклатуре.Номенклатура
            И (ЦеныПоНоменклатуре.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации.Состав КАК СпецификацииСостав
        ПО ЗапасыОстатки.Номенклатура = СпецификацииСостав.Номенклатура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗапасыПереданныеОстатки.Организация,
    ЗапасыПереданныеОстатки.Контрагент,
    ЗапасыПереданныеОстатки.Номенклатура,
    ЗапасыПереданныеОстатки.Характеристика,
    ЗапасыПереданныеОстатки.Партия,
    ЗапасыПереданныеОстатки.Заказ,
    ЗапасыПереданныеОстатки.КоличествоОстаток,
    ЗапасыПереданныеОстатки.СуммаРасчетовОстаток,
    0,
    ВЫБОР
        КОГДА ЗапасыПереданныеОстатки.Партия = ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)
                ИЛИ ЗапасыПереданныеОстатки.Партия.Владелец = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ,
    ЛОЖЬ,
    ЕСТЬNULL(ЕСТЬNULL(ЦеныПоХарактеристикам.Цена * ВЫБОР
                КОГДА ЦеныПоХарактеристикам.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоХарактеристикам.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ, ЦеныПоНоменклатуре.Цена * ВЫБОР
                КОГДА ЦеныПоНоменклатуре.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоНоменклатуре.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ), 0),
    ЗапасыПереданныеОстатки.Номенклатура.КатегорияНоменклатуры,
    ЕСТЬNULL(СпецификацииСостав.Количество, 0)
ИЗ
    РегистрНакопления.ЗапасыПереданные.Остатки(
            ,
            Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
                И ТипПриемаПередачи = ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПередачаКомиссионеру)) КАК ЗапасыПереданныеОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоХарактеристикам
        ПО ЗапасыПереданныеОстатки.Номенклатура = ЦеныПоХарактеристикам.Номенклатура
            И ЗапасыПереданныеОстатки.Характеристика = ЦеныПоХарактеристикам.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоНоменклатуре
        ПО ЗапасыПереданныеОстатки.Номенклатура = ЦеныПоНоменклатуре.Номенклатура
            И (ЦеныПоНоменклатуре.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)),
    Справочник.Спецификации.Состав КАК СпецификацииСостав
1 aleks_default
 
26.09.16
09:30
Надо себя заставить нажать пару кнопок на клавиатуре
2 falselight
 
26.09.16
09:32
(1) поправил, нужно вот так! По владельцу нужно связывать а не по реквизиту номенклатура

||||

ВЫБРАТЬ
    ЗапасыОстатки.Организация,
    ЗапасыОстатки.СтруктурнаяЕдиница,
    ЗапасыОстатки.Номенклатура,
    ЗапасыОстатки.Характеристика,
    ЗапасыОстатки.Партия,
    ЗапасыОстатки.ЗаказПокупателя КАК Заказ,
    ЗапасыОстатки.КоличествоОстаток КАК Количество,
    ЗапасыОстатки.СуммаОстаток КАК Себестоимость,
    ВЫБОР
        КОГДА ЗапасыОстатки.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
            ТОГДА 0
        ИНАЧЕ ЗапасыОстатки.КоличествоОстаток
    КОНЕЦ КАК Резерв,
    ВЫБОР
        КОГДА ЗапасыОстатки.Партия = ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)
                ИЛИ ЗапасыОстатки.Партия.Владелец = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Свой,
    ИСТИНА КАК НаСкладе,
    ЕСТЬNULL(ЕСТЬNULL(ЦеныПоХарактеристикам.Цена * ВЫБОР
                КОГДА ЦеныПоХарактеристикам.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоХарактеристикам.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ, ЦеныПоНоменклатуре.Цена * ВЫБОР
                КОГДА ЦеныПоНоменклатуре.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоНоменклатуре.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ), 0) КАК Цена,
    ЗапасыОстатки.Номенклатура.КатегорияНоменклатуры КАК КатегорияНоменклатуры,
    ЕСТЬNULL(СпецификацииСостав.Количество, 0) КАК КоличествоСпецификации
ИЗ
    РегистрНакопления.Запасы.Остатки(, Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)) КАК ЗапасыОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоХарактеристикам
        ПО ЗапасыОстатки.Номенклатура = ЦеныПоХарактеристикам.Номенклатура
            И ЗапасыОстатки.Характеристика = ЦеныПоХарактеристикам.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоНоменклатуре
        ПО ЗапасыОстатки.Номенклатура = ЦеныПоНоменклатуре.Номенклатура
            И (ЦеныПоНоменклатуре.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации.Состав КАК СпецификацииСостав
        ПО ЗапасыОстатки.Номенклатура = СпецификацииСостав.Ссылка.Владелец

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗапасыПереданныеОстатки.Организация,
    ЗапасыПереданныеОстатки.Контрагент,
    ЗапасыПереданныеОстатки.Номенклатура,
    ЗапасыПереданныеОстатки.Характеристика,
    ЗапасыПереданныеОстатки.Партия,
    ЗапасыПереданныеОстатки.Заказ,
    ЗапасыПереданныеОстатки.КоличествоОстаток,
    ЗапасыПереданныеОстатки.СуммаРасчетовОстаток,
    0,
    ВЫБОР
        КОГДА ЗапасыПереданныеОстатки.Партия = ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка)
                ИЛИ ЗапасыПереданныеОстатки.Партия.Владелец = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ,
    ЛОЖЬ,
    ЕСТЬNULL(ЕСТЬNULL(ЦеныПоХарактеристикам.Цена * ВЫБОР
                КОГДА ЦеныПоХарактеристикам.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоХарактеристикам.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ, ЦеныПоНоменклатуре.Цена * ВЫБОР
                КОГДА ЦеныПоНоменклатуре.ЕдиницаИзмерения ССЫЛКА Справочник.КлассификаторЕдиницИзмерения
                    ТОГДА 1
                ИНАЧЕ ЦеныПоНоменклатуре.ЕдиницаИзмерения.Коэффициент
            КОНЕЦ), 0),
    ЗапасыПереданныеОстатки.Номенклатура.КатегорияНоменклатуры,
    ЕСТЬNULL(СпецификацииСостав.Количество, 0)
ИЗ
    РегистрНакопления.ЗапасыПереданные.Остатки(
            ,
            Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
                И ТипПриемаПередачи = ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПередачаКомиссионеру)) КАК ЗапасыПереданныеОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоХарактеристикам
        ПО ЗапасыПереданныеОстатки.Номенклатура = ЦеныПоХарактеристикам.Номенклатура
            И ЗапасыПереданныеОстатки.Характеристика = ЦеныПоХарактеристикам.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныПоНоменклатуре
        ПО ЗапасыПереданныеОстатки.Номенклатура = ЦеныПоНоменклатуре.Номенклатура
            И (ЦеныПоНоменклатуре.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации.Состав КАК СпецификацииСостав
        ПО ЗапасыПереданныеОстатки.Номенклатура = СпецификацииСостав.Ссылка.Владелец
3 aleks_default
 
26.09.16
09:38
Вот видишь. Труд сделает из тебя человека:)
4 Mauser
 
26.09.16
09:39
Красный крест означает необходимость вызова медиков.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой