Имя: Пароль:
1C
1С v8
Помогите разобратся с запросом
0 Snik_666
 
24.05.13
16:05
Добрый день! Запрос за один день показывает правильно, а вот например за месяц напротив этого дня выводит бред. Задача по дням видеть сумму показателей...


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

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Показатель,
   ВложенныйЗапрос.ПериодДень
1 azernot
 
24.05.13
16:15
ОстаткиИОбороты по периодичности выдают данные только по периодам в которых были обороты. Таким образом, если за день не было оборотов по одному из использованных регистров, записей об остатках в результате не будет, что конкретно попортит получаемые итоги.
2 Snik_666
 
24.05.13
16:16
(1) Блин , а как же его выкрутить ?
3 Лефмихалыч
 
24.05.13
16:19
(0) СКД + дополнение дат. Не изобретай велокатов, для этого здесь есть специально обученный белорусский сын русского народа
4 azernot
 
24.05.13
16:21
(2) Через хитровывернутую попу. Гугли "остатки на каждый день в запросе".
В СКД можно через соединение наборов по параметру (по сути выполняется запрос для каждой записи таблицы периодов)
Можно через итоги по периодам и выборку с параметром "Все"..