Имя: Пароль:
1C
 
Условие в запросе НЕ РАВНО
,
0 MMAyvazov
 
29.05.19
09:46
Ребята, помогите, нужно сделать следующее, если суммы в каждой ячейке равны, тогда эту строку не показывать.

ВОТ ТЕКСТ ЗАПРОСА

ВЫБРАТЬ
    ЗапросПоДанным.Номенклатура КАК Номенклатура,
    СУММА(ЗапросПоДанным.ТоварыОрганизаций) КАК ТоварыОрганизаций,
    СУММА(ЗапросПоДанным.ТоварыНаСкладах) КАК ТоварыНаСкладах,
    СУММА(ЗапросПоДанным.ТоварыВЯчейках) КАК ТоварыВЯчейках
ИЗ (ВЫБРАТЬ
    ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
    СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК ТоварыОрганизаций,
    0 КАК ТоварыНаСкладах,
    0 КАК ТоварыВЯчейках
ИЗ
    РегистрНакопления.ТоварыОрганизаций.Остатки(, АналитикаУчетаНоменклатуры.Склад  = &Склад) КАК ТоварыОрганизацийОстатки

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

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

ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура,
    0,
    СУММА(ТоварыНаСкладахОстатки.ВНаличииОстаток),
    0
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад   = &Склад) КАК ТоварыНаСкладахОстатки

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстатки.Номенклатура

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

ВЫБРАТЬ
    ТоварыВЯчейкахОстатки.Номенклатура,
    0,
    0,
    СУММА(ТоварыВЯчейкахОстатки.ВНаличииОстаток)
ИЗ
    РегистрНакопления.ТоварыВЯчейках.Остатки(, Ячейка.Владелец = &Склад) КАК ТоварыВЯчейкахОстатки

СГРУППИРОВАТЬ ПО
    ТоварыВЯчейкахОстатки.Номенклатура) КАК ЗапросПоДанным
    
    СГРУППИРОВАТЬ ПО
    Номенклатура
1 MMAyvazov
 
29.05.19
09:47
Перед последним СГРУППИРОВАТЬ ПО
пишу

    ГДЕ СУММА(ЗапросПоДанным.ТоварыОрганизаций)
<>
    СУММА(ЗапросПоДанным.ТоварыНаСкладах)
<>
    СУММА(ЗапросПоДанным.ТоварыВЯчейках)


не работает, почему?
2 ДенисЧ
 
29.05.19
09:48
Потому что за такое нужно отрывать руки и бить учебником по 1с по голове и всем остальным выступающим частям тела...
3 MMAyvazov
 
29.05.19
09:52
А как написать то данное условие?
4 garantNo4x
 
29.05.19
09:53
для групировок проверка условий на агрегаты по слово имеющему (having) , что каксается всего остального ..
то я не знаю .. наверное вы там спичками торгуете и каждая миллисикунда у вас подсчитана .. но не все же ими торгуют.
5 MMAyvazov
 
29.05.19
10:06
скажите в какую сторону капать? не пойму никак.
6 Nuobu
 
29.05.19
10:16
(5) Вместо "ГДЕ" - "ИМЕЮЩИЕ".
И перенести секци "ГДЕ" ниже секции "Сгруппировать".
То есть сначала перенеси, а потом переименуй.
7 hhhh
 
29.05.19
10:17
(5) ну таких выражений

ГДЕ СУММА(ЗапросПоДанным.ТоварыОрганизаций)
<>
    СУММА(ЗапросПоДанным.ТоварыНаСкладах)
<>
    СУММА(ЗапросПоДанным.ТоварыВЯчейках)

вообще не существует. разбей на 2 выражения
8 MMAyvazov
 
29.05.19
10:40
в инете пишут что с ГДЕ нельзя использовать агрегатные функции
9 Ёпрст
 
29.05.19
10:53
(0)


) КАК ЗапросПоДанным
    
СГРУППИРОВАТЬ ПО  Номенклатура
Имеющие  СУММА(ЗапросПоДанным.ТоварыОрганизаций) <> СУММА(ЗапросПоДанным.ТоварыНаСкладах) ИЛИ СУММА(ЗапросПоДанным.ТоварыОрганизаций)<>СУММА(ЗапросПоДанным.ТоварыВЯчейках)
10 MMAyvazov
 
29.05.19
11:10
заработало, спасибо большое.
в принципе понял почему не работал.
11 Simod
 
29.05.19
12:54
(0) Виртуальная таблица "Остатки" возвращает сгруппированный результат. Дополнительная группировка не нужна - лишняя операция.
12 mikecool
 
29.05.19
12:56
(6) Где идет перед сгруппировать
13 1Сергей
 
29.05.19
13:44
(12) +1
14 Nuobu
 
30.05.19
09:38
(12) А имеющие - после.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.