Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Неправильные остатки в запросе

Неправильные остатки в запросе
Я
   Масянька
 
11.06.20 - 08:39
Доброе утро!
Вводная: есть РН Остатков, есть РС Гарантии. Необходимо выбрать остатки с регистратором (РН Остатков) и гарантией (РС Гарантия).
Общие поля (связка): регистратор, номенклатура.

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

В таком варианте - все шикарно.
Если вывести поля вложенного запроса - НО и КО кривые.
Объясните, пожалуйста.
Спасибо.
   Масянька
 
1 - 11.06.20 - 10:10
Так сложно всё?
   RomanYS
 
2 - 11.06.20 - 10:12
(1) без итогов тоже плохо?
   Масянька
 
3 - 11.06.20 - 10:13
Местным вангам можно отдыхать.
   Масянька
 
4 - 11.06.20 - 10:14
(2) Нет. Дело именно в полях вложенного запроса.
Но у меня уже получилось.
   RomanYS
 
5 - 11.06.20 - 10:18
(4) Расскажи, что получилось
   Масянька
 
6 - 11.06.20 - 10:30
(5) ВЫБРАТЬ
    СрокиГарантииНоменклатурыСрезПоследних.Регистратор,
    СрокиГарантииНоменклатурыСрезПоследних.Номенклатура,
    СрокиГарантииНоменклатурыСрезПоследних.СерийныйНомер,
    СрокиГарантииНоменклатурыСрезПоследних.СрокГарантииМесяц,
    СрокиГарантииНоменклатурыСрезПоследних.СрокГарантииДата
ПОМЕСТИТЬ Гарантия
ИЗ
    РегистрСведений.СрокиГарантииНоменклатуры КАК СрокиГарантииНоменклатурыСрезПоследних
    //РегистрСведений.СрокиГарантииНоменклатуры.СрезПоследних(&ДатаНачала, ) КАК СрокиГарантииНоменклатурыСрезПоследних

;

////////////////////////////////////////////////////////////////////////////////

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

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Остатки.Регистратор КАК Регистратор,
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.Склад,
    Остатки.МОЛ,
    Остатки.ЗаявкаПодразделения,
    Остатки.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    Остатки.КоличествоПриход КАК КоличествоПриход,
    Остатки.КоличествоРасход КАК КоличествоРасход,
    Остатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    Гарантия.Регистратор КАК Регистратор1,
    Гарантия.СрокГарантииДата,
    Гарантия.СерийныйНомер КАК СерийныйНомер,
    Гарантия.СрокГарантииМесяц
ИЗ
    Остатки КАК Остатки
        ЛЕВОЕ СОЕДИНЕНИЕ Гарантия КАК Гарантия
        ПО Остатки.Номенклатура = Гарантия.Номенклатура
            //И Остатки.Регистратор = Гарантия.Регистратор

ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоПриход),
    СУММА(КоличествоРасход),
    СУММА(КоличествоКонечныйОстаток)
ПО
    Номенклатура            

Соединение по регистратору лишнее.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.