Доброго дня.
Во вложении файл с макетом, конфа УТ 11.3 - вопрос реально такое сваять вообще, а то я в запросах потерялся уже.
---
Либо использовать группировку в запросе, либо немного неправильно сделан запрос (возможно проблема в связях)
---
Да все что угодно можно, если заморочиться =)

P.S. а где вложение?
---
Так вот форма макета...Я так понимаю надо запросов 10 объеденить чтобы все вывести...
Я примерно так начал:

Но у регистра ОстаткиТоваровНаСкладах нет Периода, поэтому выходит чушь полнейшая.
---
А чего макет не видно? Я так вижу...
---
Во вложении файл с макетом
Самого файла нету, чтобы проверить.
---
Сам макет? Так можно, в обработке еще толком не написано ничего.
---
Чего код-то не вставляется...

(6)
```1c
    Функция ПечатьМакета() Экспорт
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Отчет");
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаб");
    ЗапрОстатки = Новый Запрос;
    ЗапрОстатки.Текст = "
    |ВЫБРАТЬ
    |ТоварыНаСкладахОстатки.Склад КАК Склад,
    |ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    |ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
    |ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    |ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура1,
    |ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    |ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    |ИЗ
    |РегистрНакопления.ТоварыНаСкладах.Остатки(&НачПериода) КАК ТоварыНаСкладахОстатки
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    | ПО (ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)
    |ГДЕ
    |ВЫБОР
    | КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
    | ТОГДА ИСТИНА
    | ИНАЧЕ ТоварыНаСкладахОстатки.Склад = &Склад
    |КОНЕЦ
    |И ТоварыНаСкладахОстатки.Номенклатура В ИЕРАРХИИ(&Товар)
    |И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены";
    ЗапрОстатки.УстановитьПараметр("НачПериода",ЭтотОбъект.НачПериода);
    ЗапрОстатки.УстановитьПараметр("КонПериода",ЭтотОбъект.КонПериода);
    ЗапрОстатки.УстановитьПараметр("Склад",ЭтотОбъект.Склад);
    ЗапрОстатки.УстановитьПараметр("Товар",ЭтотОбъект.Номенклатура);
    ЗапрОстатки.УстановитьПараметр("ВидЦены",Справочники.ВидыЦен.НайтиПоНаименованию("Себестоимость",Истина));
    Результат = ЗапрОстатки.Выполнить();
    Выборка = Результат.Выбрать();
    ТабДок.Вывести(ОбластьЗаголовок);
    НомСтр = 1;
    Пока Выборка.Следующий() Цикл
    ОбластьСтрока.Параметры.НомерСтроки = НомСтр;
    ОбластьСтрока.Параметры.Наименование = Выборка.Номенклатура;
    ОбластьСтрока.Параметры.Артикул = Выборка.Номенклатура.Артикул;
    ОбластьСтрока.Параметры.Склад = Выборка.Склад;
    ОбластьСтрока.Параметры.КолвоН = Выборка.ВНаличииОстаток;
    ОбластьСтрока.Параметры.ЦенаС = Выборка.Цена;
    НомСтр = НомСтр + 1;
    ТабДок.Вывести(ОбластьСтрока);
    КонецЦикла;
    Возврат ТабДок;
    КонецФункции
```
---
Можно взять обороты регистра: ТоварыНаСкладахОбороты. Там и на начало и на конец и движения есть. Делить по типам операций "продажа, перемещение, списание..." делать можно по типу регистратора "ССЫЛКА Документ.РеализацияТоваровУслуг" и далее морочиться как угодно...нечто подобное делал, кое-где и запросы на результат другого запроса делал, но всё можно сделать, было бы желание
---
По оборотам говорите....А я то остатки взял...А с ценой номенклатуры сцепить объединением или левым соединением?
---
Не просто соединением, а со сравнением по периодам на каждое движение. У меня сейчас нет под рукой того отчета, но смысл в том, чтобы брать цену на момент каждого движения...в интернете полно примеров
---
А из регистра оборотов остатки на дату как вытащить? В нем же только движения приход/расход? Я собственно поэтому ТоварыНаСкладахОстатки взял.
---
Так бери с типом "ОстаткиИОбороты" - и будут тебе и остатки и обороты. НО, при получении цены за определенный период, у тебя будут дублироваться позиции номенклатуры. Допустим ты выбрал период за один месяц - а в этом месяце у тебя два раза цена менялась, скажем, на пылесос. Так вот этот пылесос у тебя будет даже два-три (зависит от выбранного периода и даты начальных остатков) фигурировать в отчете. Если тебя это напрягает, тогда отчет проще простого.
---
А если соединить с ЦеныНоменклатурыСрезПоследних? Чтобы тянул только последнюю цену.
---
Тогда в связях "ЦеныНоменклатуры" должны левым соединением цепляться к ТоварамНаСкладах.
---
Слушай в ТоварыНаСкладахОстаткиИОбороты нет измерения период - как вытянуть остатки на начало и конец? Не догоняю.
---
В параметрах виртуальной таблицы поставь периодичность "Регистратор" (к примеру) и тогда появится поле "Период".
---
По поводу цен, попробуйте посмотреть регистр накопления Продажи, так вы получите реальные продажные суммы и оборот со скидками и пр.
Себестоимость можно тоже сразу взять из регистра СебестоимостьТоваров, что бы не соединять с регистром сведений, только стоит учитывать что закупочная с/с туда попадает сразу, а продажная с/с после закрытия месяца (расчета с/с)
---
А может быть вариант - что регистр накопления остатки и обороты не отобразит остаток на текущую дату если на нее не было движений товара?
3 -го был приход товара остаток 10 ед.
4-го не было движений товара остаток 0.
---
Вроде на тривиальной хрени застрял ))) Получив остатки на начало и конец, не могу сообразить как их одной строкой в макет закинуть. В запросе несколько дублирующихся строк, остатки на начало и конец после различных движений как я понимаю.
---
Либо использовать группировку в запросе, либо немного неправильно сделан запрос (возможно проблема в связях)
---
Суммируемых полей нет - группировка не подойдет наверное, а связей пока и нет никаких, там весь запрос-то:

Вываливает примерно следующее:
Номенклатура 1 ОстатокНачалоПериода (10 шт)
Номенклатура 1 ОстатокКонецпериода (5шт)
---
У тебя ничего такого дублирующего нет. Несколько записей с одной номенклатурой может вывести только потому, что ты выводишь еще и период.
---
Да ты прав скорее всего, попробую еще раз с группировкой и без вывода периода.
---
убрал период из запроса, сгруппировал по номенклатуре, один фиг дубли есть.
---
Странно, могу подключиться и посмотреть?
---
Так если есть желание я только за ))) база не моя правда - поучиться взял ))) Амми есть и TW
Вот к такому привел...Один фиг дублируется.
(26)
```1c
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток
    ТоварыНаСкладахОстаткиИОбороты.Период КАК Период
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, РЕГИСТРАТОР, , ) КАК ТоварыНаСкладахОстаткиИОбороты
    ГДЕ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад

    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
    ТоварыНаСкладахОстаткиИОбороты.Период

    УПОРЯДОЧИТЬ ПО
    Номенклатура
```
---
Период убирал. Отовсюду. )))
---
В личные сообщения тогда
---
Или подойдет группа...Какую-то хрень пишет.
---
Вообщем покопался в запросе, установил период вместо регистратора и с группировкой и итогами все около дела стало (спасибо Alex Man (qazaas) за помощь).
Как тему закрыть, кто знает?