Запрос = Новый запрос();
Запрос.текст = "ВЫБРАТЬ
| ВложенныйЗапрос.Склад КАК Склад,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СУММА(ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве) КАК Свободно
|ИЗ
| (ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Склад КАК Склад,
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
| 0 КАК КоличествоВРезерве
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры}) КАК ТоварыНаСкладахОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТоварыВРезервеНаСкладахОстатки.Склад,
| ТоварыВРезервеНаСкладахОстатки.Номенклатура,
| ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ТоварыВРезервеНаСкладахОстатки.ДокументРезерва,
| 0,
| ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
| ИЗ
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументРезерва).* КАК ДокументОснование}) КАК ТоварыВРезервеНаСкладахОстатки) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Склад,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры";
Запрос.УстановитьПараметры("ДатаКон",КонецДня(ТекущаяДата()));
Выборка = запрос.Выполнить().Выбрать();