Здравствуйте. Есть вот такой запрос:

```1c
    ВЫБРАТЬ
    ПлощадиОбъектовНедвижимости.КолвоЭтажей КАК КолвоЭтажей ,
    СтатусыОбъектов.Статус КАК Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    СУММА(1) КАК КолвоПродаж
    ИЗ
    Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних(&ПериодКон, ) КАК ПлощадиОбъектовНедвижимости
    ПО (ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = ОбъектыНедвижимости.Ссылка)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних(&ПериодКон, ) КАК СтатусыОбъектов
    ПО ОбъектыНедвижимости.Ссылка = СтатусыОбъектов.ОбъектНедвижимости
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
    ПО идвСтатусыОбъектовСортировка.СтатусОбъекта = СтатусыОбъектов.Статус
    ГДЕ
    НЕ ОбъектыНедвижимости.ПометкаУдаления
    И НЕ ОбъектыНедвижимости.ЭтоГруппа
    СГРУППИРОВАТЬ ПО
    ПлощадиОбъектовНедвижимости.КолвоЭтажей,
    СтатусыОбъектов.Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки
    УПОРЯДОЧИТЬ ПО
    КолвоЭтажей,
    ПорядокСортировки
    АВТОУПОРЯДОЧИВАНИЕ
```

Этот запрос выводит диаграмму по кол-ву продаж в разрезе статуса квартиры и этажа.
Результат сортируется по доп справочнику идвСтатусыОбъектовСортировка с реквизитами Статус и ПорядокСортировки.
Бывают случаи, что по некому этажу и некому статусу не было продаж.
Как добавить в этом случае нулевое значение?
Например Этаж1, статус - продан, кол-во продаж 0.

Пробывал к справочнику идвСтатусыОбъектовСортировка присоединить данные запрос, но получается какая то ерунда:

```1c
    ВЫБРАТЬ
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    Запрос1.Колво КАК Колво,
    Запрос1.Статус КАК Статус,
    Запрос1.КолвоПродаж КАК КолвоПродаж
    ИЗ
    Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат КАК Колво,
    СтатусыОбъектов.Статус КАК Статус,
    СУММА(1) КАК КолвоПродаж
    ИЗ
    РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних(&ПериодКон, ) КАК ПлощадиОбъектовНедвижимости
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних(&ПериодКон, ) КАК СтатусыОбъектов
    ПО ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = СтатусыОбъектов.ОбъектНедвижимости
    ГДЕ
    НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ПометкаУдаления
    И НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЭтоГруппа

    СГРУППИРОВАТЬ ПО
    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат,
    СтатусыОбъектов.Статус) КАК Запрос1
    ПО (идвСтатусыОбъектовСортировка.СтатусОбъекта = Запрос1.Статус)

    УПОРЯДОЧИТЬ ПО
    Колво,
    ПорядокСортировки
```
---
вот пример с другими таблицами, но аналогия полная:

```1c
    ВЫБРАТЬ
    Товары.Ссылка КАК Номенклатура,
    ТипыЦен.Ссылка КАК ТипЦен
    ПОМЕСТИТЬ вт_товары
    ИЗ
    Справочник.Номенклатура КАК Товары,
    Справочник.ТипыЦен КАК ТипыЦен

    ГДЕ
    НЕ Товары.ЭтоГруппа
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    вт.Номенклатура КАК Номенклатура,
    вт.ТипЦен КАК ТипЦен,
    СУММА(ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ 1
    КОНЕЦ) КАК Сумма
    ИЗ
    вт_товары КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    ПО вт.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И вт.ТипЦен = ЦеныНоменклатурыСрезПоследних.ТипЦен

    СГРУППИРОВАТЬ ПО
    вт.Номенклатура,
    вт.ТипЦен
```
---
```1c
    ВЫБРАТЬ
    ПлощадиОбъектовНедвижимости.КолвоЭтажей КАК КолвоЭтажей ,
    СтатусыОбъектов.Статус КАК Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    СУММА(ВЫБОР КОГДА СтатусыОбъектов.Статус ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 1 КОНЕЦ) КАК КолвоПродаж
```
---
не совсем так:
есть таблица:

1 этаж, продан, 1 шт
1 этаж, бронь, 1 шт
2 этаж, бронь, 2 шт
2 этаж, контракт, 1 шт
3 этаж, продан, 1 шт

А надо получить таблицу по трем статусам например: продан, бронь, контракт

1 этаж, продан, 1 шт
1 этаж, бронь, 1 шт
1 этаж, контракт, 0 шт
2 этаж, продан, 0 шт
2 этаж, бронь, 2 шт
2 этаж, контракт, 1 шт
3 этаж, продан, 1 шт
3 этаж, бронь, 0 шт
3 этаж, контракт, 0 шт
---
Статусы это перечисления или справочник?
---
статусы вообще перечисления, но для сортировки в диаграмме по нужному мне порядку статусов я создал новый справочник Справочник.идвСтатусыОбъектовСортировка с полями Статус и ПорядокСортировки

Значения такие:
Продан - 1,
Бронь - 2,
Контракт - 3.
---
вот пример с другими таблицами, но аналогия полная:

```1c
    ВЫБРАТЬ
    Товары.Ссылка КАК Номенклатура,
    ТипыЦен.Ссылка КАК ТипЦен
    ПОМЕСТИТЬ вт_товары
    ИЗ
    Справочник.Номенклатура КАК Товары,
    Справочник.ТипыЦен КАК ТипыЦен

    ГДЕ
    НЕ Товары.ЭтоГруппа
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    вт.Номенклатура КАК Номенклатура,
    вт.ТипЦен КАК ТипЦен,
    СУММА(ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ 1
    КОНЕЦ) КАК Сумма
    ИЗ
    вт_товары КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    ПО вт.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И вт.ТипЦен = ЦеныНоменклатурыСрезПоследних.ТипЦен

    СГРУППИРОВАТЬ ПО
    вт.Номенклатура,
    вт.ТипЦен
```
---
Нужно сначала во временную таблицу получить те данные которые вам нужны, например в данном случае это будет этаж и статус, будет в общем виде примерно так:

```1c
    ВЫБРАТЬ
    Этажи.Этаж КАК Этаж,
    Статусы.Статус КАК Статус
    ПОМЕСТИТЬ ВТ_Данные
    ИЗ
    <Путь к справочнику\перечислению этажи> КАК Этажи
    <Путь к справочнику\перечислению Статусы> КАК Статусы
```

Затем эту временную таблицу соединяете левым соединением с теми таблицами откуда получаете данные о количестве (регистр) по полям этаж и статус, и в запросе вместо получения поля количество, пишем следующее: ЕСТЬNULL(<ПолеКоличество>, 0). Дальше можно группировать как Вам нужно, в этой таблице будут записи по всем этажам и статусам, и там где есть данные в регистре, будут данные из регистра, а в остальных строках будут нули. Код примерно такой

```1c
    ВЫБРАТЬ
    ВТ_Данные.Ссылка КАК Этаж,
    ВТ_Данные.Ссылка КАК Статус,
    ЕСТЬNULL(РегистрСДанными.Количество, 0) КАК Количество
    ИЗ
    ВТ_Данные КАК ВТ_Данные
    ЛЕВОЕ СОЕДИНЕНИЕ <ПутьКРЕгиструИзКоторогоПолучаютсяДанные/ВложенныйЗапросВКот­оромПолучаютсяДанные/ВременнаяТаблицаВКоторойПолученыДанные>­ КАК РегистрСДанными
    ПО ВТ_Данные.Этаж = РегистрСДанными.Этаж
    И ВТ_Данные.Статус= РегистрСДанными.Статус
```

Т.е. задача сводится к тому, что в таблицу ВТ_Данные получаем все различные записи полей, которые нам нужно видеть в итоговой таблице, а затем соединяем с таблицей с данными левым соединением, и для тех записей, которых нет в таблице с данными указываем в количестве 0.

Если нужно конкретно под вашу задачу, пришлите конфигурацию, т.к. писать запросы без конструктора неудобно.
---
в (11) я так и сделал. Но что-то там кол-во продаж увеличились, не правильно считается. Надо проверить запрос.
---
сортироаку местами поменяй сначала порядок сортировки а потом количество
---
не поможет, надо как в (3)
---
ВЫБРАТЬ
    ПлощадиОбъектовНедвижимости.КолвоЭтажей КАК КолвоЭтажей ,
    СтатусыОбъектов.Статус КАК Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    СУММА(1) КАК КолвоПродаж
ПОМЕСТИТЬ ВТ1
ИЗ
    Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних(&ПериодКон, ) КАК ПлощадиОбъектовНедвижимости
        ПО (ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = ОбъектыНедвижимости.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних(&ПериодКон, ) КАК СтатусыОбъектов
        ПО ОбъектыНедвижимости.Ссылка = СтатусыОбъектов.ОбъектНедвижимости
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
        ПО идвСтатусыОбъектовСортировка.СтатусОбъекта = СтатусыОбъектов.Статус
ГДЕ
    НЕ ОбъектыНедвижимости.ПометкаУдаления
    И НЕ ОбъектыНедвижимости.ЭтоГруппа
СГРУППИРОВАТЬ ПО
    ПлощадиОбъектовНедвижимости.КолвоЭтажей,
    СтатусыОбъектов.Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки
УПОРЯДОЧИТЬ ПО
    КолвоЭтажей,
    ПорядокСортировки
АВТОУПОРЯДОЧИВАНИЕ
;

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

ВЫБРАТЬ
    КолвоЭтажей ,
    Статус,
    ПорядокСортировки,
    КолвоПродаж
ПОМЕСТИТЬ ВТИТОГ
ИЗ ВТ1

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

ВЫБРАТЬ
    КолвоЭтажей ,
    Статус,
    ПорядокСортировки,
    КолвоПродаж
ИЗ ВТ2

;

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

```1c
    ВЫБРАТЬ
    ОбъектыНедвижимости.Ссылка КАК ОбъектНедвижимости,
    идвСтатусыОбъектовСортировка.Ссылка КАК идвСтатусОбъектовСортировка
    ПОМЕСТИТЬ вт_недвижимость
    ИЗ
    Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости,
    Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
    ГДЕ
    НЕ ОбъектыНедвижимости.ЭтоГруппа
    И НЕ ОбъектыНедвижимости.ПометкаУдаления
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ПлощадиОбъектовНедвижимости.КолвоЭтажей КАК КолвоЭтажей,
    вт.идвСтатусОбъектовСортировка.Статус КАК Статус,
    вт.идвСтатусОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    СУММА(ВЫБОР
    КОГДА СтатусыОбъектов.Статус ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ 1
    КОНЕЦ) КАК КолвоПродаж
    ИЗ
    вт_недвижимость КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних(&ПериодКон, ) КАК ПлощадиОбъектовНедвижимости
    ПО (ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = вт.ОбъектНедвижимости)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних(&ПериодКон, ) КАК СтатусыОбъектов
    ПО вт.ОбъектыНедвижимости = СтатусыОбъектов.ОбъектНедвижимости
    И вт.идвСтатусОбъектовСортировка.Статус = СтатусыОбъектов.Статус

    СГРУППИРОВАТЬ ПО
    ПлощадиОбъектовНедвижимости.КолвоЭтажей,
    вт.идвСтатусОбъектовСортировка.Статус,
    вт.идвСтатусОбъектовСортировка.ПорядокСортировки
    УПОРЯДОЧИТЬ ПО
    КолвоЭтажей,
    ПорядокСортировки
    АВТОУПОРЯДОЧИВАНИЕ
```
---
вроде бы вот так получилось:

```1c
    // пихаем запрос во вре. таблицу
    ВЫБРАТЬ
    ОбъектыНедвижимости.Этаж КАК Колво,
    СтатусыОбъектов.Статус КАК Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    СУММА(1) КАК КолвоПродаж
    ПОМЕСТИТЬ МойЗапрос
    ИЗ
    Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних(&ПериодКон, ) КАК ПлощадиОбъектовНедвижимости
    ПО (ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = ОбъектыНедвижимости.Ссылка)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних(&ПериодКон, ) КАК СтатусыОбъектов
    ПО (ОбъектыНедвижимости.Ссылка = СтатусыОбъектов.ОбъектНедвижимости)
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
    ПО (идвСтатусыОбъектовСортировка.СтатусОбъекта = СтатусыОбъектов.Статус)
    ГДЕ
    НЕ ОбъектыНедвижимости.ПометкаУдаления
    И НЕ ОбъектыНедвижимости.ЭтоГруппа
    И ИСТИНА
    И ИСТИНА

    СГРУППИРОВАТЬ ПО
    ОбъектыНедвижимости.Этаж,
    СтатусыОбъектов.Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки
    ;

    // берем все этажи
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ОбъектыНедвижимости.Этаж КАК Этаж
    ПОМЕСТИТЬ Этажи
    ИЗ
    Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости

    СГРУППИРОВАТЬ ПО
    ОбъектыНедвижимости.Этаж
    ;

    // соединяем этаж и статус
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    идвСтатусыОбъектовСортировка.СтатусОбъекта КАК Статус,
    идвСтатусыОбъектовСортировка.ПорядокСортировки КАК ПорядокСортировки,
    Этажи.Этаж КАК Этаж
    ПОМЕСТИТЬ ЭтажИСтатус
    ИЗ
    Этажи КАК Этажи,
    Справочник.идвСтатусыОбъектовСортировка КАК идвСтатусыОбъектовСортировка
    ;

    // выводим отчет
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ЭтажИСтатус.Статус КАК Статус,
    ЭтажИСтатус.ПорядокСортировки КАК ПорядокСортировки,
    ВЫБОР КОГДА ЭтажИСтатус.Этаж ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ЭтажИСтатус.Этаж КОНЕЦ КАК Этаж,
    ВЫБОР КОГДА МойЗапрос.КолвоПродаж ЕСТЬ NULL ТОГДА 0 ИНАЧЕ МойЗапрос.КолвоПродаж КОНЕЦ КАК КолвоПродаж
    ИЗ
    ЭтажИСтатус КАК ЭтажИСтатус
    ЛЕВОЕ СОЕДИНЕНИЕ МойЗапрос КАК МойЗапрос
    ПО (ЭтажИСтатус.Статус = МойЗапрос.Статус)
    И (ЭтажИСтатус.Этаж = МойЗапрос.Колво)

    УПОРЯДОЧИТЬ ПО
    ПорядокСортировки,
    Этаж
```
---
Вместо: ВЫБОР КОГДА ЭтажИСтатус.Этаж ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ЭтажИСтатус.Этаж КОНЕЦ

можно просто: ЕстьNULL(ЭтажИСтатус.Этаж,0)
---
Нужно использовать
```1c
    ЕСТЬNULL(<ПолеСуммы>, 0)
```