Имя: Пароль:
1C
1С v8
Затык на запросе в пятницу.
,
0 memogolik
 
02.08.13
16:10
Есть таблица такого вида:
Проект, Направление, ЧислоТочек, ЧислоПосещений.

Хочут чтобы по суммировалось ЧислоТочек и ЧислоПосещений по паре: проект, направление. Т.е.
Иванов, Центр - 10, 30;
Иванов, Запад - 12, 34
Делаю что то типа:

ВЫБРАТЬ
Влож.Проект,
Влож.Направление
СУММА(Влож.ЧислоТочек),
СУММА(Влож.ЧислоПосещений)
ИЗ
Влож
СГРУППИРОВАТЬ ПО
Влож.Проект, Влож.Направление

В итоге получается
Иванов запад 120 120
Иванов центр 120 120
т.е. везде выводит общую сумму. В чем косяк?
Заранее спасибо за ответы.
1 memogolik
 
02.08.13
16:11
В итоге получается
Иванов запад 120 140
Иванов центр 120 140
3 и 4 колонки разные ессно
2 pessok
 
02.08.13
16:11
косяк в данных. запрос нормальный, на первый взгляд. да и негде тут ошибиться
3 Darky
 
02.08.13
16:12
Не видно внутренний запрос
4 pessok
 
02.08.13
16:12
+(2) ты уверен, что во временной таблице у тебя именно те данные, которые ты в (0) нам тут показал? имхается, что нет
5 Жан Пердежон
 
02.08.13
16:14
(0) перенеси запрос на понедельник
6 Crush
 
02.08.13
16:21
Выбрать * из Влож где проект="Иванов"

А тут посчитай ручками или выведи в таблицу, выдели, скопируй и нажми ctrl+f2.
7 memogolik
 
02.08.13
16:24
вот весь запрос:

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Рег.Значение,
    Продажи.Проект,
    Продажи.ДоговорКонтрагента.АдресДоставки,
    Продажи.Регистратор
    ,    Продажи.ДоговорКонтрагента
    //,    Продажи2.Регистратор
ПОМЕСТИТЬ Врем
ИЗ
    РегистрНакопления.Продажи КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Рег
        ПО (Рег.Объект = Продажи.ДоговорКонтрагента И Рег.Свойство = &Свойство)
ГДЕ
    Продажи.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода) И КОНЕЦПЕРИОДА(&КонПериода)
    И Рег.Свойство = &Свойство
    И Продажи.Проект = &Проект
;
///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Проект,
    Направление,
    Сумма(ЧислоТочек)
ИЗ
(
    ВЫБРАТЬ
        Втаб.Проект,
        Втаб.Значение КАК Направление,
        Втаб.ДоговорКонтрагента,
        КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Втаб.ДоговорКонтрагента.АдресДоставки) КАК ЧислоТочек,
        КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НАЧАЛОПЕРИОДА(Втаб.Регистратор.Дата)) КАК ЧислоПосещений
    ИЗ
    (
    ВЫБРАТЬ
        *
    ИЗ
        Врем
        
    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
        Врем.Значение,
        Продажи2.Проект,
        Продажи2.ДоговорКонтрагента.АдресДоставки,
        Продажи2.Регистратор,
        Продажи2.ДоговорКонтрагента
    ИЗ    
        РегистрНакопления.Продажи КАК Продажи2
    ЛЕВОЕ СОЕДИНЕНИЕ
        Врем
    ПО (Продажи2.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода) И КОНЕЦПЕРИОДА(&КонПериода)  )        
    ГДЕ
        Врем.Проект=Продажи2.Проект И Продажи2.Регистратор<>Врем.Регистратор    
    ) Втаб        
    СГРУППИРОВАТЬ ПО
        Втаб.Проект,Втаб.Значение,Втаб.Проект
        , Втаб.ДоговорКонтрагента
)Влож4    
    СГРУППИРОВАТЬ ПО
    Влож4.Проект, Влож4.Направление

Но он достаточно большой :(
8 Crush
 
02.08.13
16:26
Сократи используя виртуальную  таблицу оборотов
9 Crush
 
02.08.13
16:28
+(8) Больно смотреть на этот запрос.
Отталкивайся от продаж, а не от свойств
10 memogolik
 
02.08.13
16:29
(9) так я от продаж и отталкиваюсь, потом левое соединение свойства
11 Crush
 
02.08.13
16:30
(10) Ага. Увидел позже.
12 Crush
 
02.08.13
16:36
Напиши сначала
ВЫБРАТЬ
    Продажи.Проект,
    Продажи.ДоговорКонтрагента.АдресДоставки,
    Продажи.Регистратор,
    Продажи.ДоговорКонтрагента,
рег.Значение
ИЗ
    РегистрНакопления.Продажи(НАЧАЛОПЕРИОДА(&НачПериода), КОНЕЦПЕРИОДА(&КонПериода), Проект = &Проект) КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Значение, Объект из РегистрСведений.ЗначенияСвойствОбъектов как рс ГДЕ
    Свойство = &Свойство) КАК Рег
        ПО (Рег.Объект = Продажи.ДоговорКонтрагента И Рег.Свойство = &Свойство)
13 Crush
 
02.08.13
16:37
*
ВЫБРАТЬ
    Продажи.Проект,
    Продажи.ДоговорКонтрагента.АдресДоставки,
    Продажи.Регистратор,
    Продажи.ДоговорКонтрагента,
рег.Значение
ИЗ
    РегистрНакопления.Продажи(НАЧАЛОПЕРИОДА(&НачПериода), КОНЕЦПЕРИОДА(&КонПериода), Проект = &Проект) КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Значение, Объект из РегистрСведений.ЗначенияСвойствОбъектов как рс ГДЕ
    Свойство = &Свойство) КАК Рег
        ПО (Рег.Объект = Продажи.ДоговорКонтрагента)

Да и убери последнее  И Рег.Свойство = &Свойство
14 Crush
 
02.08.13
16:38
а лучше так
ВЫБРАТЬ
    Продажи.Проект,
    Продажи.ДоговорКонтрагента.АдресДоставки,
    Продажи.Регистратор,
    Продажи.ДоговорКонтрагента,
рег.Значение
ИЗ
    РегистрНакопления.Продажи(НАЧАЛОПЕРИОДА(&НачПериода), КОНЕЦПЕРИОДА(&КонПериода), Проект = &Проект) КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Значение, Объект из РегистрСведений.ЗначенияСвойствОбъектов как рс ГДЕ
    Свойство = &Свойство и объект Ссылка Справочник.ДоговорыКонтрагентов) КАК Рег
        ПО (Рег.Объект = Продажи.ДоговорКонтрагента)
15 Crush
 
02.08.13
16:39
Не будет работать!:)
16 Crush
 
02.08.13
16:40
Нужны обороты (пятница же)
17 Crush
 
02.08.13
16:40
ВЫБРАТЬ
    Продажи.Проект,
    Продажи.ДоговорКонтрагента.АдресДоставки,
    Продажи.Регистратор,
    Продажи.ДоговорКонтрагента,
рег.Значение
ИЗ
    РегистрНакопления.Продажи.ОБОРОТЫ(НАЧАЛОПЕРИОДА(&НачПериода), КОНЕЦПЕРИОДА(&КонПериода), Проект = &Проект) КАК Продажи

        ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Значение, Объект из РегистрСведений.ЗначенияСвойствОбъектов как рс ГДЕ

    Свойство = &Свойство и объект Ссылка Справочник.ДоговорыКонтрагентов) КАК Рег
        ПО (Рег.Объект = Продажи.ДоговорКонтрагента)
18 memogolik
 
02.08.13
16:44
(13)-(17) пробую, спасибо за помощь
19 Crush
 
02.08.13
16:47
(18) Да не за что:) Один фиг не заведется.
В оборотах регистратора нету:)
Присоединюсь к (5)
20 memogolik
 
02.08.13
16:48
)