Имя: Пароль:
1C
1С v8
СКД соединение наборов данных по периодам
0 Borteg
 
02.10.15
11:59
Коллеги, добрый день. Столкнулся с необходимостью сделать график показателей(выручка, прибыль и.т.д). Есть простой регистр накопления  с измерением(показатель) и ресурсом(сумма).
Надо в заданной периодичность получить из этого регистра сумму с накоплением по месяцам.
Пример:
01.01.2015 прибыль 0
01.02.2015 прибыль 300
01.03.2015 прибыль 0
01.04.2015 прибыль 700

График должен строится с дополнением до периода заданного мною периода.
должно быть на графике
01.01.2015 0
01.02.2015 300
01.03.2015 300
01.04.2015 1000
01.05.2015 1000
01.06.2015 1000

Строю отчет с помощью СКД. Пытался 2 способами:
1. Получил агрегированные значение получилось в запросе
01.02.2015 300
01.04.2015 1000
Когда вывожу в скд график с дополнением до периода месяц например получается что
01.01.2015 0
01.02.2015 300
01.03.2015 0
01.04.2015 1000
01.05.2015 0
01.06.2015 0
Никак не могу понять как из этого сделать то что мне надо..

2. Сделал набор данных с датами
01.01.2015 30.01.2015
01.01.2015 28.02.2015
01.01.2015 30.03.2015 итд
Вторым набором данных сделал  запрос к регистру и связал их по периодам через параметры, но почемуто на выходе  получается во всех периодах итоговая сумма.
01.01.2015 1000
01.02.2015 1000
01.03.2015 1000
01.04.2015 1000
01.05.2015 1000
01.06.2015 1000
Кусок запроса по второму варианту
ВЫБРАТЬ
    &НачалоПериодаФакт КАК НачалоПериодаФакт,
    &КонецПериодаФакт КАК КонецПериодаФакт,
    ПланФактыПоказателейОбороты.Показатель КАК Показатель,
    ПланФактыПоказателейОбороты.СуммаОборот КАК Факт
    
{ВЫБРАТЬ
    НачалоПериодаФакт,
    КонецПериодаФакт,
Показатель*,
    Факт}
ИЗ
    РегистрНакопления.ПланФактыПоказателей.Обороты(
            &НачалоПериодаФакт,
            &КонецПериодаФакт,{(показатель.*)}
            )
В параметры  НачалоПериодаФакт,
    КонецПериодаФакт, передаются значения из набора с датами. Если выполнять в консоли запрос то данные правильно, если в скд то получается то, что описал выше.
Подскажите что можно сделать. Спасибо Большое
1 Encode
 
02.10.15
12:43
Попробуй в 1 случае через ВычислитьВыражение() в вычисляемых полях СКД, во 2 случае вроде должны было сработать если параметры верно передаются и группировки верные
2 echo77
 
02.10.15
21:21
(0) http://catalog.mista.ru/public/267055/
Дополнение периода, вычисление нарастающего остатка функцией, описанной по ссылки и выше должно помочь