|
Итоги периодами и построитель отчета | ☑ | ||
---|---|---|---|---|
0
exitone
25.01.13
✎
10:01
|
Всем привет.
Есть запрос: ВЫБРАТЬ Взаиморасчеты.Период КАК Период, Взаиморасчеты.Агент КАК Агент, Взаиморасчеты.ТорговаяТочка КАК ТорговаяТочка, Взаиморасчеты.Документ КАК Документ, Взаиморасчеты.СуммаКонечныйОстаток КАК Сумма ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК Взаиморасчеты ИТОГИ СУММА(Сумма) ПО ОБЩИЕ, Агент, ТорговаяТочка, Документ, Период ПЕРИОДАМИ(ДЕНЬ, &ДатаНач, &ДатаКон) {ИТОГИ ПО Агент.*, ТорговаяТочка.*, Документ.*, Период} Измерение колонок построителя - Период, остальные измерения строк. При таком раскладе Построитель.Вывести() выводит итоги на каждый день, независимо были движения или нет. Вопрос в следующем: если брать сумму ресурсов этого регистра Взаиморасчеты.СуммаКонечныйОстаток+Взаиморасчеты.ПотенциальнаяСуммаКонечныйОстаток КАК Сумма то итоги выводятся только по дням, в которые были движения. Есть ли возможность выводить сумму ресурсов периодами на каждый день, независимо от наличия движений? |
|||
1
Professor83
25.01.13
✎
10:31
|
Тебе нужна таблица, в каждой записи которой дата каждого дня.
|
|||
2
exitone
25.01.13
✎
10:39
|
могу взять из Регламентированного производственного календаря. А что с ней дальше делать?)
|
|||
3
Professor83
25.01.13
✎
10:48
|
Выбираешь из производственного календаря Период, и левое соединение с таблицей взаиморасчетов ПО Период = НАЧАЛОПЕРИОДА(Взаиморасчеты.Период, ДЕНЬ).
|
|||
4
Professor83
25.01.13
✎
10:52
|
И в отчет должно попасть поле Период именно из производственного календаря.
|
|||
5
exitone
25.01.13
✎
11:06
|
ВЫБРАТЬ
Взаиморасчеты.Агент КАК Агент, Взаиморасчеты.ТорговаяТочка КАК ТорговаяТочка, Взаиморасчеты.Документ КАК Документ, Взаиморасчеты.СуммаКонечныйОстаток КАК Сумма, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период {ВЫБРАТЬ Сумма} ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК Взаиморасчеты ПО (РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = НАЧАЛОПЕРИОДА(Взаиморасчеты.Период, ДЕНЬ)) ГДЕ Взаиморасчеты.СуммаКонечныйОстаток > 0 И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон УПОРЯДОЧИТЬ ПО Период ИТОГИ СУММА(Сумма) ПО ОБЩИЕ, Агент, ТорговаяТочка, Документ, Период ПЕРИОДАМИ(ДЕНЬ, &ДатаНач, &ДатаКон) {ИТОГИ ПО Агент.*, ТорговаяТочка.*, Документ.*} выводит только на дату движений, а не на каждый день... |
|||
6
exitone
25.01.13
✎
11:25
|
ап
|
|||
7
Professor83
25.01.13
✎
11:26
|
Вот костыль моего изобретения :) Текст запроса писал в блокноте, но общий смысл надеюсь будет понятен
ВЫБРАТЬ Взаиморасчеты.Агент КАК Агент, Взаиморасчеты.ТорговаяТочка КАК ТорговаяТочка, Взаиморасчеты.Документ КАК Документ, ВЫБОР КОГДА РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = НачалоПериода(Взаиморасчеты.Период, День) ТОГДА Взаиморасчеты.СуммаКонечныйОстаток ИНАЧЕ 0 КОНЕЦ Сумма, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период {ВЫБРАТЬ Сумма} ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь, РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК Взаиморасчеты ГДЕ Взаиморасчеты.СуммаКонечныйОстаток > 0 И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон УПОРЯДОЧИТЬ ПО Период ИТОГИ СУММА(Сумма) ПО ОБЩИЕ, Агент, ТорговаяТочка, Документ, Период ПЕРИОДАМИ(ДЕНЬ, &ДатаНач, &ДатаКон) {ИТОГИ ПО Агент.*, ТорговаяТочка.*, Документ.*} Подумай как его доделать. |
|||
8
Professor83
25.01.13
✎
11:29
|
У меня по такому принципу строится портянка по месяцам в одной самописной конфигурации. Да, это уродство, но данных немного, зато на СКД :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |