Имя: Пароль:
1C
1С v8
Помогите с запросом
0 suvolod
 
07.08.12
15:29
Исходный запрос:

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

Если он формируется по документу, в котором нет движений по регистру ТоварыВРознице, то в выборку попадает одна пустая запись со значениями полей (NULL, NULL). Как я понимаю, это своего рода результат суммирования пустого запроса.

Как мне сразу исключить такую запись из результата? На ум приходит только некрасивое решение с использованием ИМЕЮЩИЕ
ГДЕ
....
ИМЕЮЩИЕ
   (СУММА(ТоварыВРознице.Количество) <> 0
       ИЛИ СУММА(ТоварыВРознице.СуммаПродажная) <> 0)

Но может есть способ проще?
1 Ненавижу 1С
 
гуру
07.08.12
15:33
ВЫБРАТЬ
   СУММА(ТоварыВРознице.Количество) КАК Количество,
   СУММА(ТоварыВРознице.СуммаПродажная) КАК СуммаПродажная
ИЗ
   РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
ГДЕ
   ТоварыВРознице.Регистратор = &Регистратор
   И ТоварыВРознице.Номенклатура = &Номенклатура
   И ТоварыВРознице.ВидДвижения = Значение(ВидДвиженияНакопления.Приход)
СГРУППИРОВАТЬ ПО ТоварыВРознице.Регистратор
2 suvolod
 
07.08.12
15:40
получилось... Странно. перед этим тоже использовал группировку, но у меня пустая запись не удалялась. К сожалению, не вспомню сейчас точное содержание своего запроса (чего я там перемудрил). Большое спасибо :)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой