Имя: Пароль:
1C
 
Неккоректная группировка в запросе.
0 xipypg2012
 
02.12.15
17:18
Подскажите почему в результате 2 строки (отбор стоит по дате и номенклатуре ) :
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка.Ответственный,
    РеализацияТоваровУслугТовары.Номенклатура,
    ВЫБОР
        КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА РеализацияТоваровУслугТовары.Сумма
        ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
    КОНЕЦ КАК Сумма,
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    РеализацияТоваровУслугТовары.Количество
ПОМЕСТИТЬ Врем
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
        ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата >= &ДатаОт
    И РеализацияТоваровУслугТовары.Ссылка.Дата <= &ДатаДо
    И РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РеализацияТоваровУслугУслуги.Ссылка.Ответственный,
    РеализацияТоваровУслугУслуги.Номенклатура,
    ВЫБОР
        КОГДА РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА РеализацияТоваровУслугУслуги.Сумма
        ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма + РеализацияТоваровУслугУслуги.СуммаНДС
    КОНЕЦ,
    РеализацияТоваровУслугУслуги.Ссылка,
    РеализацияТоваровУслугУслуги.Количество
ИЗ
    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
ГДЕ
    РеализацияТоваровУслугУслуги.Ссылка.Дата >= &ДатаОт
    И РеализацияТоваровУслугУслуги.Ссылка.Дата <= &ДатаДо
    И РеализацияТоваровУслугУслуги.Номенклатура = &Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВложенныйЗапрос.Ответственный,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Сумма КАК Сумма,
    ВложенныйЗапрос.Ссылка КАК Реализация,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугУслуги.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА ПоступлениеТоваровУслугУслуги.Цена * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугУслуги.Ссылка.КурсВзаиморасчетов
        ИНАЧЕ (ПоступлениеТоваровУслугУслуги.Цена + ПоступлениеТоваровУслугУслуги.СуммаНДС / ПоступлениеТоваровУслугУслуги.Количество) * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугУслуги.Ссылка.КурсВзаиморасчетов
    КОНЕЦ КАК Себестоимость,
    ВложенныйЗапрос.Количество КАК Количество,
    МАКСИМУМ(ПоступлениеТоваровУслугУслуги.Ссылка) КАК Поступление
ПОМЕСТИТЬ Зав
ИЗ
    (ВЫБРАТЬ
        Врем.Номенклатура КАК Номенклатура,
        МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка) КАК СсылкаПоступление,
        Врем.Количество КАК Количество,
        Врем.Ответственный КАК Ответственный,
        Врем.Сумма КАК Сумма,
        Врем.Ссылка КАК Ссылка
    ИЗ
        Врем КАК Врем
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
            ПО Врем.Ссылка.Дата >= ПоступлениеТоваровУслугТовары.Ссылка.Дата
                И Врем.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
    ГДЕ
        НЕ Врем.Ссылка ЕСТЬ NULL
        И НЕ ПоступлениеТоваровУслугТовары.Ссылка ЕСТЬ NULL
    
    СГРУППИРОВАТЬ ПО
        Врем.Номенклатура,
        Врем.Количество,
        Врем.Ответственный,
        Врем.Сумма,
        Врем.Ссылка
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Врем.Номенклатура,
        МАКСИМУМ(ПоступлениеТоваровУслугУслуги.Ссылка),
        Врем.Количество,
        Врем.Ответственный,
        Врем.Сумма,
        Врем.Ссылка
    ИЗ
        Врем КАК Врем
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
            ПО (ПоступлениеТоваровУслугУслуги.Номенклатура = Врем.Номенклатура)
                И (ПоступлениеТоваровУслугУслуги.Ссылка.Дата <= Врем.Ссылка.Дата)
    ГДЕ
        НЕ Врем.Ссылка ЕСТЬ NULL
        И НЕ ПоступлениеТоваровУслугУслуги.Ссылка ЕСТЬ NULL
    
    СГРУППИРОВАТЬ ПО
        Врем.Номенклатура,
        Врем.Количество,
        Врем.Ответственный,
        Врем.Сумма,
        Врем.Ссылка) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
        ПО (ПоступлениеТоваровУслугУслуги.Ссылка = ВложенныйЗапрос.СсылкаПоступление)
            И ВложенныйЗапрос.Номенклатура = ПоступлениеТоваровУслугУслуги.Номенклатура

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Ответственный,
    ВложенныйЗапрос.Количество,
    ВложенныйЗапрос.Сумма,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугУслуги.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА ПоступлениеТоваровУслугУслуги.Цена * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугУслуги.Ссылка.КурсВзаиморасчетов
        ИНАЧЕ (ПоступлениеТоваровУслугУслуги.Цена + ПоступлениеТоваровУслугУслуги.СуммаНДС / ПоступлениеТоваровУслугУслуги.Количество) * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугУслуги.Ссылка.КурсВзаиморасчетов
    КОНЕЦ,
    ВложенныйЗапрос.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВложенныйЗапрос.Ответственный,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Сумма,
    МАКСИМУМ(ВложенныйЗапрос.Ссылка),
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугТовары.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА ПоступлениеТоваровУслугТовары.Цена * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугТовары.Ссылка.КурсВзаиморасчетов
        ИНАЧЕ (ПоступлениеТоваровУслугТовары.Цена + ПоступлениеТоваровУслугТовары.СуммаНДС / ПоступлениеТоваровУслугТовары.Количество) * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугТовары.Ссылка.КурсВзаиморасчетов
    КОНЕЦ,
    ВложенныйЗапрос.Количество,
    МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка)
ИЗ
    (ВЫБРАТЬ
        Врем.Номенклатура КАК Номенклатура,
        МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка) КАК СсылкаПоступление,
        Врем.Сумма КАК Сумма,
        Врем.Ссылка КАК Ссылка,
        Врем.Ответственный КАК Ответственный,
        Врем.Количество КАК Количество
    ИЗ
        Врем КАК Врем
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
            ПО Врем.Ссылка.Дата >= ПоступлениеТоваровУслугТовары.Ссылка.Дата
                И Врем.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
    
    СГРУППИРОВАТЬ ПО
        Врем.Номенклатура,
        Врем.Сумма,
        Врем.Ссылка,
        Врем.Ответственный,
        Врем.Количество
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Врем.Номенклатура,
        МАКСИМУМ(ПоступлениеТоваровУслугУслуги.Ссылка),
        Врем.Сумма,
        Врем.Ссылка,
        Врем.Ответственный,
        Врем.Количество
    ИЗ
        Врем КАК Врем
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
            ПО (ПоступлениеТоваровУслугУслуги.Номенклатура = Врем.Номенклатура)
                И (ПоступлениеТоваровУслугУслуги.Ссылка.Дата <= Врем.Ссылка.Дата)
    
    СГРУППИРОВАТЬ ПО
        Врем.Номенклатура,
        Врем.Ответственный,
        Врем.Ссылка,
        Врем.Сумма,
        Врем.Количество) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО (ПоступлениеТоваровУслугТовары.Ссылка = ВложенныйЗапрос.СсылкаПоступление)
            И ВложенныйЗапрос.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Ответственный,
    ВложенныйЗапрос.Сумма,
    ВложенныйЗапрос.Количество,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугТовары.Ссылка.СуммаВключаетНДС = ИСТИНА
            ТОГДА ПоступлениеТоваровУслугТовары.Цена * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугТовары.Ссылка.КурсВзаиморасчетов
        ИНАЧЕ (ПоступлениеТоваровУслугТовары.Цена + ПоступлениеТоваровУслугТовары.СуммаНДС / ПоступлениеТоваровУслугТовары.Количество) * ВложенныйЗапрос.Количество * ПоступлениеТоваровУслугТовары.Ссылка.КурсВзаиморасчетов
    КОНЕЦ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Зав.Ответственный,
    Зав.Номенклатура,
    МАКСИМУМ(Зав.Сумма) КАК Сумма,
    МАКСИМУМ(Зав.Себестоимость) КАК Себестоимость,
    МАКСИМУМ(Зав.Количество) КАК Количество,
    МАКСИМУМ(Зав.Сумма - ЕСТЬNULL(Зав.Себестоимость, 0)) КАК Прибыль,
    Зав.Поступление,
    Зав.Реализация
ИЗ
    Зав КАК Зав

СГРУППИРОВАТЬ ПО
    Зав.Поступление,
    Зав.Номенклатура,
    Зав.Ответственный,
    Зав.Реализация


Реузультат:

Ответственный    Номенклатура    Сумма    Себестоимость    Количество    Прибыль    Поступление    Реализация
Вячеслав Руденко    57083/05 (57S8000) ACRYLAC SPEZIAL 10L. Высокоглянцевый лак для нанесения через красочный аппарат    4 850        1    4 850        Реализация (акт, накладная) 0000-001912 от 10.11.2015 13:29:14
Вячеслав Руденко    57083/05 (57S8000) ACRYLAC SPEZIAL 10L. Высокоглянцевый лак для нанесения через красочный аппарат    4 850    3 335,18415    1    1 514,81585    Поступление (акт, накладная) 0000-001192 от 24.08.2015 10:00:00    Реализация (акт, накладная) 0000-001912 от 10.11.2015 13:29:14
1 Горогуля
 
02.12.15
17:20
есть какая-то возможность избежать чтения всего этого? могу денег предложить
2 xipypg2012
 
02.12.15
17:20
Смысл в том что уже два раза сделал группировку......а строки все равно 2-е
3 xipypg2012
 
02.12.15
17:21
пример
выборка
конт
ном
реал
группировка
конт
ном
макс(реализ)

результат
конт ном реал.ссылка
конт нома " "

почему не сработала группировка
4 VikingKosmo
 
02.12.15
17:21
(1) слабак...
5 VikingKosmo
 
02.12.15
17:22
(2) смотри в поле Зав.Реализация до просветления
6 Горогуля
 
02.12.15
17:22
(4) на валидол больше потрачусь
7 xipypg2012
 
02.12.15
17:22
результат две строки а должна быть 1 потому что группировка выбрала макс реализацию ....а фигни с пустой ссылкой не должно быть)
8 VikingKosmo
 
02.12.15
17:22
Пы.Сы. стену текста даже не пытался читать...
9 VikingKosmo
 
02.12.15
17:23
(6) там достаточно посмотреть на результат ;)
10 xipypg2012
 
02.12.15
17:24
да смысла нету смотреть на это поле оно одинаковое хоть ставь его максимум хоть ставье его как поле по которому группируется результат от этого не меняется. а поле в результате это одинаковое с одной и той же ссылкой
11 VikingKosmo
 
02.12.15
17:25
(10) в моей вселенной
Реализация (акт, накладная) 0000-001912 от 10.11.2015 13:29:14
Поступление (акт, накладная) 0000-001192 от 24.08.2015

это два разных документа. разных, Карл!
12 Горогуля
 
02.12.15
17:26
(11) переходи на 8.3, там представление вертеть можно по всякому ;)
13 xipypg2012
 
02.12.15
17:26
результат:

Реализация
Реализация (акт, накладная) 0000-001912 от 10.11.2015 13:29:14
Реализация (акт, накладная) 0000-001912 от 10.11.2015 13:29:14

Поступление

Поступление (акт, накладная) 0000-001192 от 24.08.2015 10:00:00
14 VikingKosmo
 
02.12.15
17:26
(12) "А мужики то, не знают!" (с) ;)
15 xipypg2012
 
02.12.15
17:27
и так 8.3 по мне реализация и реализация это одно и тоже просто табличку не скинешь
16 VikingKosmo
 
02.12.15
17:27
(13) сделай нормальный скриншот своего результата, для начала
17 VikingKosmo
 
02.12.15
17:29
хотя я уверен на 95%, что в результате окажется, что строки отличаются, хотя бы в одном поле...
18 xipypg2012
 
02.12.15
17:31
19 xipypg2012
 
02.12.15
17:31
как они могут отличатся если по всем полям которые отличаются стоит группировка
20 Горогуля
 
02.12.15
17:33
(19) хотя б по одному
21 VikingKosmo
 
02.12.15
17:34
(19) поле Поступление, всегда Ваш, К.О.
22 Горогуля
 
02.12.15
17:34
(18) а теперь скрин результата своей портянки
23 Горогуля
 
02.12.15
17:34
+(22) это одно такое длинное что ль?
24 VikingKosmo
 
02.12.15
17:35
(23) у него все длинное....
25 xipypg2012
 
02.12.15
17:37
все разобрался)) это потому что два запроса он из того и из того по строке тянет над группировть в след после объединения .
26 Горогуля
 
02.12.15
17:37
ну вот, теперь мне кроме валидола ещё и увеличитель нужен
27 Горогуля
 
02.12.15
17:37
(25) не за что
28 xipypg2012
 
02.12.15
17:38
))))))
29 Горогуля
 
02.12.15
17:38
а неплохая такая подборка конфиденциальной информации. конечно, выдуманной из пальца
30 xipypg2012
 
02.12.15
17:38
спасибо всем))
31 xipypg2012
 
02.12.15
17:39
а мне пофиг я у них не работаю) и ниче не подписывал а не разглашение ) и вобще это не я )
32 VikingKosmo
 
02.12.15
17:40
вот так и сливают клиентские базы