Имя: Пароль:
1C
 
Выборка начально и конечного остатка по месяцам
0 Альбатрос
 
22.05.20
06:18
Итак, простой запрос:

ВЫБРАТЬ РАЗЛИЧНЫЕ
    НАЧАЛОПЕРИОДА(КалендарныеГрафики.ДатаГрафика, МЕСЯЦ) КАК НачалоМесяцаКалендарь,
    МЕСЯЦ(КалендарныеГрафики.ДатаГрафика) КАК МесяцКалендаря
ПОМЕСТИТЬ ТаблицаДат
ИЗ
    РегистрСведений.КалендарныеГрафики КАК КалендарныеГрафики
ГДЕ
    КалендарныеГрафики.Календарь = &ГрафикРаботы
    И КалендарныеГрафики.ДатаГрафика МЕЖДУ &НачалоПериода И &КонецПериода
;

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


Если выставить период 1 полугодие 2020, то получаем:

МесяцКалендаря    НоменклатураКод    ВНаличииНачальныйОстаток    ВНаличииКонечныйОстаток
1    УС-00013090    55    600
2    УС-00013090    600    480
3            
4    УС-00013090    480    10 780
5    УС-00013090    10 780    10 760
6    УС-00013090    10 760    10 760

Как видно, в марте месяца движений не было и запрос не вернул по нему начальный и конечный остаток, хотя он есть. Но например в июне, который еще даже не наступил, тоже движений не было, но по нему остаток есть. Объясните популярно, почему так?
1 Альбатрос
 
22.05.20
06:38
Ну и собссно если период задать только мартом месяцом, то данные получает. Не пойму механики.
2 hhhh
 
22.05.20
06:49
(1) ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, 0) КАК ВНаличииНачальныйОстаток,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, 0) КАК ВНаличииКонечныйОстаток