|
Левое соединение дает пустую запись, а не должна.
| ☑ |
0
woland
20.10.15
✎
13:07
|
Пытаюсь посчитать количество в двух регистрах.
Соединяю их левым соединением.
При отсутствии записей выходит одно пустое значение. Почему такое происходит и как избавиться?
Проверяю в консоли отчетов. В коде программы выборка по такому запросу дает один результат.
Вот сам запрос:
ВЫБРАТЬ
СУММА(ЕСТЬNULL(ТоварыПолученныеОбороты.КоличествоПриход, 0) - ЗакупкиОбороты.КоличествоОборот) КАК Количество
ИЗ
РегистрНакопления.Закупки.Обороты(
,
,
,
Номенклатура = &Номенклатура
И ДоговорКонтрагента = &Договор) КАК ЗакупкиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыПолученные.Обороты(
,
,
,
ДоговорКонтрагента = &Договор
И Номенклатура = &Номенклатура) КАК ТоварыПолученныеОбороты
ПО ЗакупкиОбороты.Номенклатура = ТоварыПолученныеОбороты.Номенклатура
И ЗакупкиОбороты.ДоговорКонтрагента = ТоварыПолученныеОбороты.ДоговорКонтрагента
|
|
1
Гёдза
20.10.15
✎
13:09
|
оба запроса дают пустой результат. Отсюда нулл
|
|
2
Гёдза
20.10.15
✎
13:09
|
ибо СУММА (запрос не выдающий результата) = NULL
|
|
3
Лефмихалыч
20.10.15
✎
13:13
|
потому, что у тебя в выборке агрегатная функция, а они возвращают что-то даже при пустой выборке
|
|
4
Ненавижу 1С
гуру
20.10.15
✎
13:23
|
добавь
СГРУППИРОВАТЬ ПО ЗакупкиОбороты.Номенклатура
|
|
5
Лефмихалыч
20.10.15
✎
13:28
|
(4) просто так - из уваженья к огню?
|
|
6
Ненавижу 1С
гуру
20.10.15
✎
13:31
|
(5) у него все равно отбор по Номенклатура = &Номенклатура стоит
|
|
7
Лефмихалыч
20.10.15
✎
13:34
|
(6) а, ну да
|
|
8
woland
20.10.15
✎
13:43
|
Понял. Спасибо.
|
|