|   |   | 
| 
 | Запрос и хитрая группировка. Помогите | ☑ | ||
|---|---|---|---|---|
| 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) если я правильно понял требуемую структуру полей, то два запроса (доходы и расходы отдельно) связь через ОБЪЕДИНИТЬ ВСЕ     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |