Имя: Пароль:
1C
1С v8
Еще вопрос по СКД
, ,
0 Смертник
 
08.09.15
12:31
Есть запрос в котором собираются данные по документам.
Необходимо вывести 2 группировки - Первое группировка - дни, а вот вторая группировка - часы - даннная группировка должна быть и в отборе. То есть сколько документов быо выбито за промежуток времени с 9.00 до 12.00 с разбиением по дням. У меня получается вывести отбор по времени, но в числовом формате и еще мне нужна сумма чеков за промежуток а у меня разбивает по часам.
Помогите плиз
ВЫБРАТЬ
    ВЫБОР
        КОГДА ВложенныйЗапрос.СуммаВозврата > 0
            ТОГДА ВложенныйЗапрос.СуммаЧеков - ВложенныйЗапрос.СуммаВозврата
        ИНАЧЕ ВложенныйЗапрос.СуммаЧеков
    КОНЕЦ КАК СуммаЧеков,
    ВЫБОР
        КОГДА ВложенныйЗапрос.Количество1 > 0
            ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.Количество1
        ИНАЧЕ ВложенныйЗапрос.Количество
    КОНЕЦ КАК КоличествоЧеков,
    ВложенныйЗапрос.СуммаСреднее КАК СуммаСредняя,
    ВложенныйЗапрос.Период,
    ВложенныйЗапрос.Время
ИЗ
    (ВЫБРАТЬ
        СУММА(Чек.Сумма) КАК СуммаЧеков,
        КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Чек.Количество) КАК Количество,
        СРЕДНЕЕ(Чек.СуммаСреднее) КАК СуммаСреднее,
        СУММА(ЧекНаВозврат.СуммаВозврата) КАК СуммаВозврата,
        СУММА(ЧекНаВозврат.Количество) КАК Количество1,
        Чек.Период КАК Период,
        Чек.Время КАК Время
    ИЗ
        (ВЫБРАТЬ
            ЧекККМ.СуммаДокумента КАК СуммаСреднее,
            ЧекККМ.Ссылка КАК Количество,
            ЧекККМ.СуммаДокумента КАК Сумма,
            ЧекККМ.Ссылка КАК Документ,
            НАЧАЛОПЕРИОДА(ЧекККМ.Дата, ДЕНЬ) КАК Период,
            ЧАС(ЧекККМ.Дата) КАК Время
        ИЗ
            Документ.ЧекККМ КАК ЧекККМ
        ГДЕ
            ЧекККМ.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ)
            И ЧекККМ.ЧекПробитНаККМ) КАК Чек
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ЧекККМ.СуммаДокумента КАК СуммаВозврата,
                ЧекККМ.ЧекККМПродажа.Ссылка КАК ДокументВозврата,
                КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЧекККМ.Ссылка) КАК Количество
            ИЗ
                Документ.ЧекККМ КАК ЧекККМ
            ГДЕ
                ЧекККМ.ЧекПробитНаККМ
                И ЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат)
            
            СГРУППИРОВАТЬ ПО
                ЧекККМ.СуммаДокумента,
                ЧекККМ.ЧекККМПродажа.Ссылка) КАК ЧекНаВозврат
            ПО Чек.Документ = ЧекНаВозврат.ДокументВозврата
    
    СГРУППИРОВАТЬ ПО
        Чек.Период,
        Чек.Время) КАК ВложенныйЗапрос
1 Смертник
 
08.09.15
12:40
Хелп
2 Cube
 
08.09.15
12:41
Жесть...
За оформление вопроса - расстрелять.
3 Смертник
 
08.09.15
12:50
это просто уже 4 вариант одного и того же отчета...
4 Ненавижу 1С
 
гуру
08.09.15
12:54
нормально запрос отформатируй
5 Смертник
 
08.09.15
12:59
ВЫБРАТЬ
    СУММА(Чек.Сумма) КАК СуммаЧеков,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Чек.Количество) КАК Количество,
    СРЕДНЕЕ(Чек.СуммаСреднее) КАК СуммаСреднее,
    СУММА(ЧекНаВозврат.СуммаВозврата) КАК СуммаВозврата,
    СУММА(ЧекНаВозврат.Количество) КАК Количество1,
    Чек.Период КАК Период,
    Чек.Время КАК Время
ИЗ
    (ВЫБРАТЬ
        ЧекККМ.СуммаДокумента КАК СуммаСреднее,
        ЧекККМ.Ссылка КАК Количество,
        ЧекККМ.СуммаДокумента КАК Сумма,
        ЧекККМ.Ссылка КАК Документ,
        НАЧАЛОПЕРИОДА(ЧекККМ.Дата, ДЕНЬ) КАК Период,
        ЧАС(ЧекККМ.Дата) КАК Время
    ИЗ
        Документ.ЧекККМ КАК ЧекККМ
    ГДЕ
        ЧекККМ.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ)
        И ЧекККМ.ЧекПробитНаККМ) КАК Чек
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЧекККМ.СуммаДокумента КАК СуммаВозврата,
            ЧекККМ.ЧекККМПродажа.Ссылка КАК ДокументВозврата,
            КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЧекККМ.Ссылка) КАК Количество
        ИЗ
            Документ.ЧекККМ КАК ЧекККМ
        ГДЕ
            ЧекККМ.ЧекПробитНаККМ
            И ЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат)
        
        СГРУППИРОВАТЬ ПО
            ЧекККМ.СуммаДокумента,
            ЧекККМ.ЧекККМПродажа.Ссылка) КАК ЧекНаВозврат
        ПО Чек.Документ = ЧекНаВозврат.ДокументВозврата

СГРУППИРОВАТЬ ПО
    Чек.Период,
    Чек.Время
6 Смертник
 
08.09.15
13:01
Сейчас правильно?
7 Смертник
 
08.09.15
14:52
Объясните как для поля - Время сделать отбор не числовым, а временным и чтобы он был привязан к Запросу
8 mooo
 
08.09.15
14:53
ЧАС(ЧекККМ.Дата) КАК Время
замени на НАЧАЛОПЕРИОДА(ЧекККМ.Дата, ЧАС) КАК Время
9 Смертник
 
08.09.15
14:59
Тогда еще вопрос, а как сделать отбор, чтобы за перил показало количество чеков в определенной диапозоне времени
10 Смертник
 
08.09.15
16:07
Точнее чтобы отбор по этому полю времени шел в период тех дней которых я указал, а не с нулевой датой?
11 Смертник
 
08.09.15
16:40
Нужна помощь)
12 vhl
 
08.09.15
17:19
ГДЕ
ЧекККМ.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ)
И ЧАС(ЧекККМ.Дата) МЕЖДУ &НачЧаса И &КонЧаса
13 Смертник
 
09.09.15
09:24
Если ставить такое условие - то НачЧаса и КонЧаса имеют числовое значение....если ставить время - то берется нулевая дата. И еще вопрос походу - а как сделать чтобы не билась по часам количество. а бралось скопом с 9 по 11 - и одна строчка на все даты
AdBlock убивает бесплатный контент. 1Сергей