Конструктор запросов сделал мне такое
ВЫБРАТЬ
 ТоварыНаСкладахОстатки.Склад КАК Склад,
 ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,

 ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
 ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
 ТоварыВРезервеНаСкладах.Склад КАК Склад1,
 ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
 РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
  Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
  ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
   И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
 ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
 И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
---
Уапсче песня!

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

Объединить все

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

ВЫБРАТЬ
 ТоварыНаСкладахОстатки.Склад КАК Склад,
 ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
 ВЫБОР
    КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
    ТОГДА NULL
    ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
 КОНЕЦ ,
 ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
 ТоварыВРезервеНаСкладах.Склад КАК Склад1,
 ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
 РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
  Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
  ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
   И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
 ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
 И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
---
Когда остатка нет, у вас не заполнено поле номенклатура... для начала его заполните.
Выбор Когда ТоварыНаСкладахОстатки.Номенклатура is null Тогда ТоварыВРезервеНаСкладах.Номенклатура Иначе ТоварыНаСкладахОстатки.Номенклатура Конец Как Номенклатура
---
ошибку нашел исправил, нон нет не рабит

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

```1c
    ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    0 КАК ВРезерве
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
    ГДЕ
    ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура

    Объединить все

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

И результат сгруппировать.
---
ВЫБРАТЬ
    ВЫБОР
  КОГДА ТоварыНаСкладахОстатки.Номенклатура ЕСТЬ NULL
   ТОГДА NULL
  ИНАЧЕ ТоварыНаСкладахОстатки.Номенклатура
 КОНЕЦ КАК Номенклатура,

    ВЫБОР
  КОГДА ТоварыНаСкладахОстатки.Склад ЕСТЬ NULL
   ТОГДА NULL
  ИНАЧЕ ТоварыНаСкладахОстатки.Склад
 КОНЕЦ КАК Склад,

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

не работает

щас буду смотреть как объединение робит
---
Объединение соединяет две таблицы, но в них должны быть одинаковые колонки.
___________
Параметр Номенклатура пишите не через ГДЕ... а в параметры виртуальной таблицы регистра накопления.
---
Спасибо друх!
ВЫБРАТЬ
 ТоварыНаСкладахОстатки.Склад КАК Склад,
 ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
 ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
 ИЗ
 РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки

Объединить все

ВЫБРАТЬ
 ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
 ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
 ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток *(-1) КАК КоличествоОстатокР
ИЗ
 РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
---
можно вопрос при объединении он мне в 100% случаях будет давать
остаток минус резерв т.е. свободный остаток?
---
действительно круче так!!
---
Уапсче песня!

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

Объединить все

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