Имя: Пароль:
1C
 
Остатки на каждый день
0 Wingless
 
28.05.09
22:12
Задача получить такую таблицу остатков

Товар    01.05    02.05    3.05    04.05    Итог
товар1    2    2    0    0    4
товар2    3    3    3    0    9
товар3    0    5    3    0    8
Итого    5    10    6    0    21

При запросе вида
"ИЗ РегистрНакопления.Товары.ОстаткиИОбороты(, , День, , ) КАК Товары
ИТОГИ
   СУММА(КоличествоКонечныйОстаток)
ПО
   Период ПЕРИОДАМИ(ДЕНЬ, , )"
получаю итоги за дни (в том числе по которым нет движений), детальные записи только по тем дням, когда есть движения.
Как нужно изменить запрос?
1 and2
 
28.05.09
22:20
СКД это умеет.
2 Wingless
 
28.05.09
22:22
Увы, не знаком с СКД(
3 IronDemon
 
28.05.09
22:51
4 Wingless
 
29.05.09
00:16
вот что получилось

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