Имя: Пароль:
1C
1С v8
Как получить остатки и обороты Регистра накопления в разрезе родителя группы?
,
0 alexshape
 
24.07.22
18:43
Добрый воскресный вечер. Есть регистр а к нему запрос. Выводит вроде все корректно. https://ibb.co/9HPsgLc, вот пример.

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


Что собственно я хочу сделать, это получить остатки и обороты но уже с агрегацией по родителю, т.е. в запросе вместо ПроектИнвестиции  стоит "ПроектИнвестиции.Родитель"
https://ibb.co/cgGxJP4
1 alexshape
 
24.07.22
18:44
первый скрин https://ibb.co/ZhGtNjJ
2 alexshape
 
24.07.22
18:48
ожидаемый мною результат, как сделать так чтобы выходил как на скрине.  https://ibb.co/Pjy7cXR
3 Dmitry1c
 
24.07.22
18:49
не помню
попробуй убрать периодичность "регистратор"
4 alexshape
 
24.07.22
18:52
(3) не помогает, https://ibb.co/8MrQRnK
5 RomanYS
 
24.07.22
19:02
так группировку надо делать
6 RomanYS
 
24.07.22
19:04
+(5) виртуальная таблица автоматически группирует итоги по запрошенным измерениям. Отличные от этих группировку нужно делать явно
7 alexshape
 
24.07.22
19:06
(6) А как мне группировка поможет установить значения в начальный остаток, по приходу расходу я сделаю, не проблема, а вот начальный остаток там нули, и после группировки будут нули, а результат ожидается другой
8 alexshape
 
24.07.22
19:07
по сути в начальный остаток должный попадать суммы из конечного остатка верхней записи, я даже не знаю как группировку применить чтобы так сделать. https://ibb.co/Pjy7cXR
9 Кура-Цеце
 
24.07.22
19:35
(8) > верхней записи
Это уже подразумевает некоторую упорядоченность. Какую?
10 alexshape
 
24.07.22
19:40
(9) по периоду.
11 Кура-Цеце
 
24.07.22
19:49
(10) Ну дык это как-бы фифо какое-то подразумевает. Причем тут остатки и обороты по родителю?
12 alexshape
 
24.07.22
19:52
(11) хорошо. а как мне сделать структуру регистра, чтобы получать такие данные, по родителю тоже
13 RomanYS
 
24.07.22
20:26
(12) очевидно добавить измерение
14 RomanYS
 
24.07.22
20:29
(10) СКД возможно умеет. Запросом только собирать нарастающий итог из оборотов, в принципе решаемо
15 AlvlSpb
 
24.07.22
20:45
А если так?
ВЫБРАТЬ
    РезультатыИнвестицийОстаткиИОбороты.ПроектИнвестиции КАК ПроектИнвестиции,
    ВЫБОР КОГДА РезультатыИнвестицийОстаткиИОбороты.СуммаНачальныйОстаток <> 0 ТОГДА
      РезультатыИнвестицийОстаткиИОбороты.СуммаНачальныйОстаток  
    ИНАЧЕ
      ЕСТЬNULL(РезультатыИнвестицийОстаткиИОбороты.СуммаКонечныйОстаток,0) - ЕСТЬNULL(РезультатыИнвестицийОстаткиИОбороты.СуммаПриход,0) +
      ЕСТЬNULL(РезультатыИнвестицийОстаткиИОбороты.СуммаРасход,0) КОНЕЦ КАК СуммаНачальныйОстаток,
     РезультатыИнвестицийОстаткиИОбороты.СуммаПриход КАК СуммаПриход,
    РезультатыИнвестицийОстаткиИОбороты.СуммаРасход КАК СуммаРасход,
    РезультатыИнвестицийОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток