Имя: Пароль:
1C
 
Объединить 2 разных запроса
0 A1nurich
 
29.11.23
16:34
Подскажите пожалуйста, где косяк ? Не могу найти причину, данные выводятся только по первому запросу, не могу объединить результаты обоих в один

Запрос:

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

ПОМЕСТИТЬ ИнтервалыНаличия
ИЗ ДниНаличияНаОстатках КАК ДниНаличияНаОстатках
Соединение ДниНаличияНаОстатках КАК ДниНаличияНаОстаткахПеребор
По ДниНаличияНаОстатках.Номенклатура = ДниНаличияНаОстаткахПеребор.Номенклатура
И ДниНаличияНаОстатках.ХарактеристикаНоменклатуры = ДниНаличияНаОстаткахПеребор.ХарактеристикаНоменклатуры
И ДниНаличияНаОстатках.Склад = ДниНаличияНаОстаткахПеребор.Склад
И ДниНаличияНаОстаткахПеребор.ЕстьНаНО = 1 И ДниНаличияНаОстатках.ЕстьНаКО = 1
И (ДниНаличияНаОстатках.Период < ДниНаличияНаОстаткахПеребор.Период И Не ДниНаличияНаОстаткахПеребор.Период = &НачалоПериода
ИЛИ ДниНаличияНаОстатках.Период = ДниНаличияНаОстаткахПеребор.Период И ДниНаличияНаОстаткахПеребор.Период = &КонецПериода)

СГРУППИРОВАТЬ ПО
    ДниНаличияНаОстатках.Номенклатура,
    ДниНаличияНаОстатках.ХарактеристикаНоменклатуры,
    ДниНаличияНаОстатках.Склад,
    ДниНаличияНаОстатках.Период
;
Выбрать

    ИнтервалыНаличия.Номенклатура.Ссылка КАК Номенклатура,
    NULL КАК Продано,
    ИнтервалыНаличия.ХарактеристикаНоменклатуры.Ссылка КАК Артикул,
    NULL КАК УникальныеКонтрагенты,
    NULL КАК ОстатокНаТекущийДень,
    NULL КАК Было,
    NULL КАК ПериодПрихода,        
    СУММА(ИнтервалыНаличия.Дни) КАК Дни
Из ИнтервалыНаличия КАК ИнтервалыНаличия
ГДЕ ИнтервалыНаличия.Склад = &Склад
Сгруппировать По
    ИнтервалыНаличия.Номенклатура,
    ИнтервалыНаличия.ХарактеристикаНоменклатуры    
  



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


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

СГРУППИРОВАТЬ ПО
    СвободныеОстаткиОстаткиИОбороты.Номенклатура.Ссылка,
    СвободныеОстаткиОстаткиИОбороты.ВНаличииНачальныйОстаток,
    СвободныеОстаткиОстаткиИОбороты.ВНаличииРасход,
    СвободныеОстаткиОстаткиИОбороты.Номенклатура.Артикул,
    ВложенныйЗапрос.ВНаличииКонечныйОстаток,
    СвободныеОстаткиОстаткиИОбороты.ВНаличииПриход,
    ВложенныйЗапрос1.Период
1 Homer
 
29.11.23
16:41
ГДЕ
    ВыручкаИСебестоимостьПродаж.Период >= &НачалоПериода
    И СвободныеОстаткиОстаткиИОбороты.ВНаличииНачальныйОстаток > 0

левое соединение с таким условием превращается на ВНУТРЕННЕЕ СОЕДИНЕНИЕ
2 Franchiser
 
29.11.23
16:43
а по отдельности результаты есть 1-го и 2-го?
3 A1nurich
 
29.11.23
16:44
(2) Да, есть
4 A1nurich
 
29.11.23
16:48
(2) Надо показать результаты ?
5 vicof
 
29.11.23
16:51