Имя: Пароль:
1C
1С v8
Отчет по динамике продаж
0 devdoc
 
28.02.16
10:08
Допустим есть некий регистр накопления Продажи.
Нужно за заданный пользователем период, с заданной периодичностью( день, неделя, месяц) выводить отчет по динамике продаж в виде :

|Сумма продаж с 1-7| Сумма Продаж с 1-14| Сумма Продаж с 1-21| и т.д

Хотелось бы все это сделать на СКД, но не принципиально

Пока идея такая:
Пробегать циклом по заданному периоду с итерацией равной заданной периодичности, передавая все это в СКД.

Но получается это запрос в цикле, да и как это организовать пока не пойму...

Хелп, может кто даст дельный совет
1 Mort
 
28.02.16
10:30
1. В тексте запроса добавить поля ДЕНЬ, НЕДЕЛЯ и т.д.
2. В группировке-колонке таблицы указать расширение периода.
2 devdoc
 
28.02.16
15:36
(1) И?
это не даст по сути ничего
3 Джинн
 
28.02.16
15:37
(2) Попробуйте для начала.
4 devdoc
 
28.02.16
15:52
(3) Попробовал.

Уточню - работать решил не с рег.Накопления, а с самим документом - РТиУ
5 devdoc
 
28.02.16
15:54
Сейчас имею запрос, который выводит все нужные данные из документа за период.

Периодичность по-прежнему прикрутить не удается
6 alle68
 
28.02.16
17:15
(4) Регистр надо использовать для этих целей.
(5) Данные за период есть, а периодичности нет, это как?
(0) Есть уверенность, что периоды должны накладываться?
7 Джинн
 
28.02.16
17:44
(4) Это Вы зря
8 Bober
 
28.02.16
20:26
(0) решается скд.  см. поиском нарастающий итог скд (ВычислитьВыражение)
9 echo77
 
28.02.16
20:37
(8) +1. Да, нарастающий итог вам нужен
10 devdoc
 
29.02.16
13:39
Делаю на СКД.
Обращаюсь к регистру вот запрос:
ВЫБРАТЬ      бит_ОборотыПоБюджетамОбороты.ЦФО.Ссылка КАК ЦФО,
СУММА(бит_ОборотыПоБюджетамОбороты.СуммаОборот) КАК Выручка,
ВЫБОР      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ДЕНЬ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, ДЕНЬ)
      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.НЕДЕЛЯ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, НЕДЕЛЯ)
      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.МЕСЯЦ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, МЕСЯЦ)      КОНЕЦ КАК Период
ИЗ      РегистрНакопления.бит_ОборотыПоБюджетам.Обороты(&НачалоПериода, &КонецПериода, Запись, СтатьяОборотов = &СтатьяОборотов) КАК бит_ОборотыПоБюджетамОбороты
СГРУППИРОВАТЬ ПО      бит_ОборотыПоБюджетамОбороты.ЦФО.Ссылка
УПОРЯДОЧИТЬ ПО      ЦФО
11 devdoc
 
29.02.16
13:41
(10) Все устраивает, осталось сделать так чтобы выводил не
|Сумма 1-7|Сумма 8-14| и тд

а
|Сумма 1-7|Сумма 1-14|Сумма 1-21|

Гуглить нарастающий итог?
12 Bober
 
01.03.16
14:35
(10) это старый формат работы, подходил для построителя отчетов. Лучше использовать периодичность авто и вывести поля периода, который платформа сама предлагает.

(11) измени вариант условного оформления колонки.
13 devdoc
 
15.03.16
11:11
Отчет написал,все работает.
Однако есть нюанс:
Выбрав периодичность - неделя, а границы периода,например март(01-31)
В отчет захватывается 29 февраля, т.к. это понедельник.

Я понимаю, что это правильно,
Однако этот понедельник не нужен.


Есть у кого предложения как обойти это?
14 devdoc
 
15.03.16
12:29
(13)

Сам разобрался.
15 Aloex
 
15.03.16
12:40
(14) А самому написать решение ?
16 devdoc
 
16.03.16
08:35
(15)
Просто вместо этого
ВЫБОР      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ДЕНЬ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, ДЕНЬ)
      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.НЕДЕЛЯ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, НЕДЕЛЯ)
      КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.МЕСЯЦ)
      ТОГДА НАЧАЛОПЕРИОДА(бит_ОборотыПоБюджетамОбороты.Период, МЕСЯЦ)      КОНЕЦ КАК Период



Сделал это :

    ВЫБОР
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ДЕНЬ)
            ТОГДА бит_ОборотыПоБюджетамОбороты.ПериодДень
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.НЕДЕЛЯ)
            ТОГДА бит_ОборотыПоБюджетамОбороты.ПериодНеделя
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.МЕСЯЦ)
            ТОГДА бит_ОборотыПоБюджетамОбороты.ПериодМесяц
    КОНЕЦ КАК Период,



Соответственно в параметрах вирт. таблицы задал периодичность = авто