Имя: Пароль:
1C
1С v8
УТ 10.3, запрос (отчет по оборотным средствам)
0 tesei
 
28.09.16
12:40
Делаю отчет по оборотным средствам (взаиморасчеты + партии товаров), по дням. Запросы по отдельности работают, при объединении на выходе только одна из сумм. Как сделать одним запросом обе суммы, по дням?

    "ВЫБРАТЬ
    |    NULL КАК Период,
    |    взр.СуммаУпрКонечныйОстаток КАК СуммаВзр,
    |    NULL КАК СтоимостьТовара
    |ИЗ
    |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК взр
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Партии.Период,
    |    NULL,
    |    Партии.СтоимостьКонечныйОстаток
    |ИЗ
    |    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК Партии
    |ИТОГИ
    |    СУММА(СуммаВзр),
    |    СУММА(СтоимостьТовара)
    |ПО
    |    Период";
1 Рэйв
 
28.09.16
12:44
0 вместо NULL сделай. Сбиваться будeт при итогах
2 tesei
 
28.09.16
12:48
(1) сделал, не помогло :(
3 aleks_default
 
28.09.16
12:50
поместить во вложенный запрос и сгруппировать
4 FIXXXL
 
28.09.16
12:50
тебе чего надо в итоге?
День-Сумма1-Сумма2?
5 FIXXXL
 
28.09.16
12:56
(2) если (4) надо
в первом запросе почему НУЛЛ вместо периода?
для числовых НУЛЛ на ноль замени
6 tesei
 
28.09.16
13:33
ошибку исправил:
NULL КАК Период
внутренный запрос сделал, не помогло:

    "ВЫБРАТЬ
    |    Запрос1.Период КАК Период,
    |    Запрос1.СуммаВзр КАК СуммаВзр,
    |    Запрос1.СтоимостьТовара КАК СтоимостьТовара
    |ИЗ
    |    (ВЫБРАТЬ
    |        взр.Период КАК Период,
    |        взр.СуммаУпрКонечныйОстаток КАК СуммаВзр,
    |        0 КАК СтоимостьТовара
    |    ИЗ
    |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК взр) КАК Запрос1
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Запрос2.Период,
    |    Запрос2.СуммаВзр,
    |    Запрос2.СтоимостьТовара
    |ИЗ
    |    (ВЫБРАТЬ
    |        Партии.Период КАК Период,
    |        0 КАК СуммаВзр,
    |        Партии.СтоимостьКонечныйОстаток КАК СтоимостьТовара
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК Партии) КАК Запрос2
    |ИТОГИ
    |    СРЕДНЕЕ(СуммаВзр),
    |    СРЕДНЕЕ(СтоимостьТовара)
    |ПО
    |    Период";
7 FIXXXL
 
28.09.16
13:47
(6) не помогло чему?
если тебе нужен один день и две суммы, после объединения сгруппируй по День и суммируй по суммам, что б нули и суммы схлопнуть по дням
8 FIXXXL
 
28.09.16
13:47
(7) *если тебе нужен один день и две суммы в одной строке
9 tesei
 
28.09.16
14:00
Ситуация улучшилась, сумм стало больше, но нет сумм на каждый день.

    "ВЫБРАТЬ
    |    Запрос1.Период КАК Период,
    |    СУММА(Запрос1.СуммаВзр) КАК СуммаВзр,
    |    Запрос1.СтоимостьТовара КАК СтоимостьТовара
    |ИЗ
    |    (ВЫБРАТЬ
    |        взр.Период КАК Период,
    |        СУММА(взр.СуммаУпрКонечныйОстаток) КАК СуммаВзр,
    |        СУММА(0) КАК СтоимостьТовара
    |    ИЗ
    |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК взр
    |    
    |    СГРУППИРОВАТЬ ПО
    |        взр.Период
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        Партии.Период,
    |        СУММА(0),
    |        СУММА(Партии.СтоимостьКонечныйОстаток)
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК Партии
    |    
    |    СГРУППИРОВАТЬ ПО
    |        Партии.Период) КАК Запрос1
    |
    |СГРУППИРОВАТЬ ПО
    |    Запрос1.Период,
    |    Запрос1.СтоимостьТовара
    |ИТОГИ
    |    СРЕДНЕЕ(СуммаВзр),
    |    СРЕДНЕЕ(СтоимостьТовара)
    |ПО
    |    Период";
10 youalex
 
28.09.16
14:02
(9) попробуй
ИТОГИ ПО
    Период ПЕРИОДАМИ(ДЕНЬ, &НачалоПериода, &КонецПериода)
11 tesei
 
28.09.16
14:07
(10) то же самое
12 aleks_default
 
28.09.16
14:20
СтоимостьТовара из группировки перенеси в суммируемое поле
13 youalex
 
28.09.16
14:41
(11) в консоли запросов смотришь?
попробуй в консоли отчетов (на построителе который) или в выборке сразу: .выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период", "Все")
14 FIXXXL
 
28.09.16
15:31
(11) убери ты итоги, пока
сделай нормальную плоскую таблицу, потом итоги приделаешь
вместо вложенных запросов используй временные таблицы
группировать надо результат объединения. т.е. два объединенных запроса суй во вложенный или времянку и свеху группируй
потом и до итогов дойдешь