Коллеги, всем добрый день.
Прошу сильно не пинать - я не спец по запросам, пока только учусь.
Проблема следующая: запрос строится в УТ 11.4 по двум регистрам Остатки товаров и Свободные остатки.
Из первого получаю Склад, Товар, Регистратор, Нач.Ост, Приход, Расход и Кон.Ост.
Результат запроса помещаю в виртуальную таблицу.
Из второго получаю Склад, Товар, Регистратор и конечный остаток товара в резерве.
Второй запрос соединяю с первым через объединение.
И получается следующая картина. Когда в запросе последний документ-регистратор является документом регистра Остатки товаров, то итоговое поле по группировке заполняется, как только последним в поле стоит документ регистратор из регистра Свободные остатки, то поле пустое.

Просьба подсказать как исправить ошибку. Уже весь моск сломал.

Запрос:

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

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Товары.Склад КАК Склад,
    Товары.Номенклатура КАК Номенклатура,
    Товары.Регистратор КАК Регистратор,
    Товары.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
    Товары.ВНаличииПриход КАК ВНаличииПриход,
    Товары.ВНаличииРасход КАК ВНаличииРасход,
    Товары.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток,
    Товары.ПериодСекунда КАК ПериодСекунда,
    Товары.ПериодДень КАК ПериодДень,
    0 КАК ВРезервеСоСкладаКонечныйОстаток
    ИЗ
    Товары КАК Товары

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

    ВЫБРАТЬ
    СвободныеОстаткиОстаткиИОбороты.Склад,
    СвободныеОстаткиОстаткиИОбороты.Номенклатура,
    СвободныеОстаткиОстаткиИОбороты.Регистратор,
    0,
    0,
    0,
    0,
    СвободныеОстаткиОстаткиИОбороты.ПериодСекунда,
    СвободныеОстаткиОстаткиИОбороты.ПериодДень,
    СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаКонечныйОстаток
    ИЗ
    РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , Авто, Движения, ) КАК СвободныеОстаткиОстаткиИОбороты
```
---
Если я правильно понимаю проблему, то похожу ситуацию разбирали на "митапе по СКД" тут на инфостарте.

И снова же если я правильно помню, то решение заключается в том, что нужно в каждой части запроса добавить еще одно поле. Назвать его например РазделУчета. В первой части там будет строка "Остатки", во второй "Резервы". И по-моему этому полю в роли нужно установить что оно является измерением и обязательным.

Как-то так. Более точно можно в митапе посмотреть (а может автор той темы сюда заглянет)
---
Здесь нужно понимать как СКД получает конечный остаток по регистратору. Оно будет брать его из последнего регистратора. В случае если последний регистратор не из нужного регистра получается косяк. Поэтому СКД нужна такая "подсказка".
---
Попробуйте заменить "0" на "NULL" (без кавычек).
---
Схему СКД привели бы.
В демо базе все отрабатывает.
---
По первой позиции "В наличии конечный остаток" в группировке номенклатуры у вас 0 стоит, а должно быть 12.
---
да точно. Решение озвучу ниже.
---
Нужно для Регистратор указать роль "Измерение", а не Период (который по умолчанию для него подставляется).
Вот как раз Схема СКД помогла бы.
---
для Регистратор указать роль "Измерение", а не Период
Так отчет суммирует начальный и конечный остатки в итогах.
---
да, похоже правильный вариант указан в (3).
Так работает. См. вложение.
---
У меня не взлетело вложение. Да, сработало - это поле не было выедено в детальные записи.
---
Если я правильно понимаю проблему, то похожу ситуацию разбирали на "митапе по СКД" тут на инфостарте.

И снова же если я правильно помню, то решение заключается в том, что нужно в каждой части запроса добавить еще одно поле. Назвать его например РазделУчета. В первой части там будет строка "Остатки", во второй "Резервы". И по-моему этому полю в роли нужно установить что оно является измерением и обязательным.

Как-то так. Более точно можно в митапе посмотреть (а может автор той темы сюда заглянет)
---
Здесь нужно понимать как СКД получает конечный остаток по регистратору. Оно будет брать его из последнего регистратора. В случае если последний регистратор не из нужного регистра получается косяк. Поэтому СКД нужна такая "подсказка".
---
Спасибо!