Имя: Пароль:
   
1C
1С v8
Хитрые периоды в запросе
0 kupreeff
 
24.09.18
12:35
Всем привет! Подскажите, пожалуйста по запросу СКД , третий день бьемся(
опишу в упрощенном виде.
есть регистр, на нем измерение Статья и ресурс Сумма.-оборотный
в отчете задаем период, допустим квартал.
результат выводим, группируя по месяцам.
По некоторым статьям нужно выводить оборот за месяц+за предыдущие 11, эти статьи имеют реквизит "За год"=Истина.
Получается, в отчете будут колонки январь,февраль, март (условно), и по некоторым статьям в колонке явнарь должен быть оборот за февраль 17 - январь 18, в колонке февраль - оборот за мар 17 - февраль 18 и т.п.
Как побороть? Заранее очень благодарен!
1 RomanYS
 
24.09.18
12:39
Если не заморачиваться соединениями в СКД, сделать просто соединение в запросе с условием на месяц
2 Михаил Козлов
 
24.09.18
12:39
Можно попробовать объединить с оборотами за прошлый год, занулив их по "негодовым" статьям.
3 kupreeff
 
24.09.18
12:45
(2)а вот что есть прошлый год? получается для каждого периода свой "прошлый" год
4 Ник080808
 
24.09.18
12:46
(0) период всегда месяц?
5 kupreeff
 
24.09.18
12:47
(4) группируем по месяцам, в самом отчете задаем произвольный период
6 Ник080808
 
24.09.18
12:50
как то так:
берем стандартый отчет за период - квартал отчетный. далее получаем таблицу периодов прошлого года как &ДатаНачала +11 месяцев и &ДатаОкончания + 11 Месяцев и получаем данные за прошлый год помесячно, периодичность месяц. Далее соединяем по период + 11 месяцев из основной таблицы с таблицей прошлого года и суммируем. все
7 kupreeff
 
24.09.18
12:53
(6) наверное -11?
8 RomanYS
 
24.09.18
12:58
ВЫБРАТЬ РАЗЛИЧНЫЕ
    НАЧАЛОПЕРИОДА(РПК.ДатаКалендаря, МЕСЯЦ) КАК Месяц
ПОМЕСТИТЬ Месяцы
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РПК
ГДЕ
    РПК.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(Рег.НДСПриход) КАК НДСПриход,
    Месяцы.Месяц
ИЗ
    РегистрНакопления.НДСПредъявленный.Обороты({(ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -11))}, , Месяц, ) КАК Рег
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Месяцы КАК Месяцы
        ПО (Рег.Период МЕЖДУ ДОБАВИТЬКДАТЕ(Месяцы.Месяц, МЕСЯЦ, -11) И Месяцы.Месяц)

СГРУППИРОВАТЬ ПО
    Месяцы.Месяц
9 Ник080808
 
24.09.18
13:01
(7) само собой)
10 Ник080808
 
24.09.18
13:03
(8) ему данные нужно с регистра по периодам сгруппировать
11 RomanYS
 
24.09.18
13:04
(10) именно так СГРУППИРОВАТЬ ПО
    Месяцы.Месяц
12 Ник080808
 
24.09.18
13:12
(11) я так понял ему нужно
Январь 100
Февраль 100
Март 100
11 месяцев 11000
13 RomanYS
 
24.09.18
13:15
(12) я по другому понял:
в январе - обороты февраль-январь,
в феврале - обороты март-февраль...
14 kupreeff
 
24.09.18
14:02
(13), да, вот именно так
15 Ник080808
 
24.09.18
14:27
(13) (14) аааааа. тю. так над этим вы три дня бились? жуть)
16 kupreeff
 
24.09.18
15:16
(15) ага) ну, кстати, победили, буквально полчаса назад). Спасибо всем откликнувшимся!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.