|
Запрос и хитрая группировка. Помогите | ☑ | ||
---|---|---|---|---|
0
nordbox
06.12.14
✎
08:40
|
Прошу, объясните пожалуйста группировки или если не трудно помогите пожалуйста замученному бедолаге
Есть запрос: Запрос=новый Запрос; Запрос.Текст=" | ВЫБРАТЬ | ДвижениеДенежныхСредствПроект.Проект, | ДвижениеДенежныхСредствПроект.ВидРасход, | ДвижениеДенежныхСредствПроект.Расходы, | ДвижениеДенежныхСредствПроект.ВидДоход, | ДвижениеДенежныхСредствПроект.Доходы |ИЗ | РегистрСведений.ДвижениеДенежныхСредствПроект КАК ДвижениеДенежныхСредствПроект и вот тут нужен совет или помощь. Какие группировки использовать что бы получить следующую структуру: ПРОЕКТ-1 ВидРасход Расходы ------------- ВидДоход Доходы ------------- ПРОЕКТ-2 ВидРасход Расходы ------------- ВидДоход Доходы ------------- и т.д. Перечитал и перепробовал все, по отдельности Расходы и Доходы делается бес проблем, а вот вместе что было, мозгов не хватает |
|||
1
Amfiaray
06.12.14
✎
09:59
|
Регистр самописный? что там измерения, что ресурсы?
|
|||
2
ramir
06.12.14
✎
10:10
|
Дергай одним запросом Проект, ВидРасхода, Расход, группируй по Проект и ВидРасхода.
Другим запросом Проект, ВидДохода, Доход, группируй по Проект и ВидДохода. Затем соединяй результаты этих запросов по Проект. |
|||
3
Amfiaray
06.12.14
✎
10:15
|
Можешь так, накидал примерно, в консоли посмотри:
ВЫБРАТЬ ДвижениеДенежныхСредствПроект.Проект, ВЫБОР КОГДА ДвижениеДенежныхСредствПроект.ВидРасход <> NULL ТОГДА "Расход" ИНАЧЕ "Доход" КОНЕЦ КАК ВидДвижения, ВЫБОР КОГДА ДвижениеДенежныхСредствПроект.ВидРасход <> NULL ТОГДА ДвижениеДенежныхСредствПроект.ВидРасход ИНАЧЕ ДвижениеДенежныхСредствПроект.ВидДоход КОНЕЦ КАК ВидРасходаДохода, СУММА(ВЫБОР КОГДА ДвижениеДенежныхСредствПроект.ВидРасход <> NULL ТОГДА ДвижениеДенежныхСредствПроект.Расходы ИНАЧЕ ДвижениеДенежныхСредствПроект.Доходы КОНЕЦ) КАК Сумма ИЗ РегистрСведений.ДвижениеДенежныхСредствПроект КАК ДвижениеДенежныхСредствПроект СГРУППИРОВАТЬ ПО ДвижениеДенежныхСредствПроект.Проект, ВЫБОР КОГДА ДвижениеДенежныхСредствПроект.ВидРасход <> NULL ТОГДА "Расход" ИНАЧЕ "Доход" КОНЕЦ, ВЫБОР КОГДА ДвижениеДенежныхСредствПроект.ВидРасход <> NULL ТОГДА ДвижениеДенежныхСредствПроект.ВидРасход ИНАЧЕ ДвижениеДенежныхСредствПроект.ВидДоход КОНЕЦ |
|||
4
wertyu
06.12.14
✎
10:40
|
(0) предлагаю сделать другую структуру регистра:
Проект, ВидДоходовРасходов, Сумма |
|||
5
wertyu
06.12.14
✎
10:40
|
+(4) и использовать регистр накопления, а не сведений
|
|||
6
Amfiaray
06.12.14
✎
10:42
|
ТС потерялся куда то
|
|||
7
nordbox
06.12.14
✎
10:48
|
Amfiaray, тут я, я всю ночь эксперементировал
если честно не совсем понял твой код(( |
|||
8
nordbox
06.12.14
✎
10:51
|
wertyu, я могу сделать любую структуру
такая какую ты предлагаешь у меня есть |
|||
9
Amfiaray
06.12.14
✎
10:57
|
(8) Ну так делай как в (4) и будет счастье, если уже не переделать, то делай как в (3)
|
|||
10
Amfiaray
06.12.14
✎
10:58
|
(7) закинь в консоль отчетов, не должен ругаться, проверь реботу
|
|||
11
nordbox
06.12.14
✎
11:05
|
Amfiaray, я же говорю что у меня есть структура как в (4) и как дальше то делать? вопрос то от этого не решается, проблема та же самая(или я уже туплю)
|
|||
12
Amfiaray
06.12.14
✎
11:09
|
| ВЫБРАТЬ
| ДвижениеДенежныхСредствПроект.Проект, | ДвижениеДенежныхСредствПроект.ВидДоходаРасходаРасход КАК ВидДвижения, | СУМММА(ДвижениеДенежныхСредствПроект.Сумма) КАК Сумма, |ИЗ | РегистрСведений.ДвижениеДенежныхСредствПроект КАК ДвижениеДенежныхСредствПроект |СГРУППИРОВАТЬ ПО | ДвижениеДенежныхСредствПроект.Проект, | ДвижениеДенежныхСредствПроект.ВидДоходаРасходаРасход |
|||
13
nordbox
06.12.14
✎
11:26
|
Спасибо, попробую, может выйдет что нибудь
|
|||
14
nordbox
06.12.14
✎
13:58
|
Сделал как в (4) но Ткните носом пожалуйста, вот запрос, при группировках ошибка, а потом еще целая куча, не могу понять(ну тупой я)
Запрос=новый Запрос; Запрос.Текст=" | ВЫБРАТЬ | ДвижениеДДС.Проект, | ДвижениеДДС.ВидДвижения, | ДвижениеДДС.Ресурс, | ДвижениеДДС.ДатаРес, | | СУММА(ДвижениеДДС.СуммаДоходаПлан) КАК СуммаДоходаПлан, | СУММА(ДвижениеДДС.СуммаДоходаФакт) КАК СуммаДоходаФакт, | СУММА(ДвижениеДДС.СуммаРасходаПлан) КАК СуммаРасходаПлан, | СУММА(ДвижениеДДС.СуммаРасходаФакт) КАК СуммаРасходаФакт, | | СУММА(ДвижениеДДС.СуммаДоходаПланУУ) КАК СуммаДоходаПланУУ, | СУММА(ДвижениеДДС.СуммаДоходаФактУУ) КАК СуммаДоходаФактУУ, | СУММА(ДвижениеДДС.СуммаРасходаПланУУ) КАК СуммаРасходаПланУУ, | СУММА(ДвижениеДДС.СуммаРасходаФактУУ) КАК СуммаРасходаФактУУ | |ИЗ | РегистрСведений.ДвижениеДДС КАК ДвижениеДДС |ГДЕ | ДвижениеДДС.ДатаРес>=&ДатаНач И | ДвижениеДДС.ДатаРес<=&ДатаКон |ИТОГИ ПО Проект,ВидДвижения,Ресурс |"; А вот ошибка, где ее искать? {Форма.ФормаОтчета.Форма(37)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине: {(3, 2)}: Поле не входит в группу "ДвижениеДДС.Проект" <<?>>ДвижениеДДС.Проект, |
|||
15
vicof
06.12.14
✎
14:04
|
(14) Нужно в запрос добавить группировочные поля, по которых ты считаешь суммы
|
|||
16
nordbox
06.12.14
✎
14:10
|
(15) Не помогает, или я не так делаю,
может покажешь если не затруднит? |
|||
17
vicof
06.12.14
✎
14:19
|
СГРУППИРОВАТЬ ПО
ДвижениеДДС.Проект, | ДвижениеДДС.ВидДвижения, | ДвижениеДДС.Ресурс, | ДвижениеДДС.ДатаРес |
|||
18
vicof
06.12.14
✎
14:20
|
(16) А книжки читать пробовал?
|
|||
19
nordbox
06.12.14
✎
14:26
|
Дело в том что пробовал и книжки читать и прочее. Пробовал через СГРУППИРОВАТЬ, тоже ошибка, но другая
|
|||
20
nordbox
06.12.14
✎
14:28
|
а вот это работает
Запрос=новый Запрос; Запрос.Текст=" | ВЫБРАТЬ | ДвижениеДДС.Проект, | ДвижениеДДС.ВидДвижения, | ДвижениеДДС.Ресурс |ИЗ | РегистрСведений.ДвижениеДДС КАК ДвижениеДДС |ИТОГИ ПО Проект,ВидДвижения,Ресурс |"; В чем отличие? |
|||
21
nordbox
06.12.14
✎
14:43
|
путем экспериментов выяснилось: как только в запрос добавляется функция суммирования то появляется названная ошибка:| СУММА(ДвижениеДДС.СуммаДоходаПлан) КАК СуммаДоходаПлан
|
|||
22
vicof
06.12.14
✎
14:48
|
(19) Видимо, плохо пробовал. Может быть, метлу в руки?)
(21) Задай себе вопрос, что такое группы, зачем они нужны, зачем агрегатные функции в запросе, видео от Чистова посмотри по запросам. |
|||
23
nordbox
06.12.14
✎
15:01
|
(22) Не хочу хамить, но не надо умничать, я попросил помощи, а не лекций "умненьких"
|
|||
24
Redkiy
06.12.14
✎
15:24
|
(0) если я правильно понял требуемую структуру полей, то два запроса (доходы и расходы отдельно) связь через ОБЪЕДИНИТЬ ВСЕ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |