Делаю запрос к регистру накопления в отчете и запнулась на выборке.
Ребят подскажите как правильно поставить - Пока Выборка.Следующий() Цикл - чтобы получилось в виде как мне надо на картинке. Базу для удобства тоже прилагаю (версия платформы 8.3.6 режим совместимости с 8.3.5).

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

    Запрос.УстановитьПараметр("Организация", Отчет.Организация);
    Запрос.УстановитьПараметр("Склад", Отчет.Склад);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
    Запрос.УстановитьПараметр("КонецПериода", КонецДня(Отчет.КонецПериода));

    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьОстатокНачала = Макет.ПолучитьОбласть("ОстатокНачала");
    ОбластьПриход = Макет.ПолучитьОбласть("Приход");
    ОбластьДокументыПрихода = Макет.ПолучитьОбласть("ДокументыПрихода");
    ОбластьИтогоПоПриходу = Макет.ПолучитьОбласть("ИтогоПоПриходу");
    ОбластьРасход = Макет.ПолучитьОбласть("Расход");
    ОбластьДокументыРасхода = Макет.ПолучитьОбласть("ДокументыРасхода");
    ОбластьИтогоПоРасходу = Макет.ПолучитьОбласть("ИтогоПоРасходу");
    ОбластьОстатокНаКонец = Макет.ПолучитьОбласть("ОстатокНаКонец");

    Пока Выборка.Следующий() Цикл

    //Область Шапка
    ТабДок.Вывести(ОбластьШапка);

    //Область ОстатокНачала

    ОбластьОстатокНачала.Параметры.НачалоПериода = Отчет.НачалоПериода;
    ОбластьОстатокНачала.Параметры.СуммаНачальногоОстатка = Выборка.СуммаНачальногоОстатка;
    ТабДок.Вывести(ОбластьОстатокНачала);

    //Область Приход
    ТабДок.Вывести(ОбластьПриход);

    //Область ДокументыПрихода

    Если Не Выборка.ИтогоПриход = 0 Тогда
    ОбластьДокументыПрихода.Параметры.ДокумПрихода = Выборка.Документ;
    ОбластьДокументыПрихода.Параметры.ДатаДокументаПрихода = Выборка.ДатаДокумента;
    ОбластьДокументыПрихода.Параметры.НомерДокументаПрихода = Выборка.НомерДокумента;
    ОбластьДокументыПрихода.Параметры.СуммаДокументаПрихода = Выборка.СуммаДокумента
    КонецЕсли;

    ТабДок.Вывести(ОбластьДокументыПрихода);

    //Область ИтогоПоПриходу
    ОбластьИтогоПоПриходу.Параметры.ИтогоПриход = Выборка.ИтогоПриход;
    ТабДок.Вывести(ОбластьИтогоПоПриходу);

    //Область ОбластьРасход
    ТабДок.Вывести(ОбластьРасход);

    //Область ОбластьДокументыРасхода
    Если Не Выборка.ИтогоРасход = 0 Тогда
    ОбластьДокументыРасхода.Параметры.ДокумРасхода = Выборка.Документ;
    ОбластьДокументыРасхода.Параметры.ДатаДокументаРасхода = Выборка.ДатаДокумента;
    ОбластьДокументыРасхода.Параметры.НомерДокументаРасхода = Выборка.НомерДокумента;
    ОбластьДокументыРасхода.Параметры.СуммаДокументаРасхода = Выборка.СуммаДокумента
    КонецЕсли;
    ТабДок.Вывести(ОбластьДокументыРасхода);

    //Область ИтогоПоРасходу
    ОбластьИтогоПоРасходу.Параметры.ИтогоРасход = Выборка.ИтогоРасход;
    ТабДок.Вывести(ОбластьИтогоПоРасходу);

    //Область ОбластьОстатокНаКонец
    ОбластьОстатокНаКонец.Параметры.КонецПериода = Отчет.КонецПериода;
    ОбластьОстатокНаКонец.Параметры.СуммаКонечногоОстатка = Выборка.СуммаКонечногоОстатка;
    ТабДок.Вывести(ОбластьОстатокНаКонец);
    КонецЦикла;

    КонецПроцедуры
```
---
Странное мнение, что 2 запроса это плохо. Порой без них не обойтись. Держи базу, я еще добавил проверку на тип регистратора.
---
qqwweerrttyy160679, ну если я правильно вас понял, то вначале нужно в одном цикле выбрать все движения прихода.
Ну и соотвественно вывести все в макет. Затем тот же результат запроса снова обходите в цикле и выбираете уже расходы.
---
а может стоит вывести признак приход/расход и добавить ИТОГИ ПО этому признаку?
---
qqwweerrttyy160679,

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

    ...

    выб1 = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Признак");
    Пока выб1.Следующий() Цикл
    ...
    выб2 = выб1.Выбрать();
    Пока выб2.Следующий() Цикл
    ...
    КонецЦикла;
    КонецЦикла;
```
---
ditp,
а зачем и
| РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСПриход КАК ИтогоПриход,
| РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСРасход КАК ИтогоРасход,

и

|ИТОГИ Сумма(СуммаБезНДСПриход), Сумма(СуммаБезНДСРасход) ПО Общие, Признак";

это же по сути одно и тоже
---
qqwweerrttyy160679, а фиг знает, недоразобрался может в исходном запросе, не проснулся еще.
---
qqwweerrttyy160679, надо группировки добавить, а потом выборку делать по группировкам.
---
qqwweerrttyy160679, а если так:

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

    Запрос.УстановитьПараметр("Организация", Отчет.Организация);
    Запрос.УстановитьПараметр("Склад", Отчет.Склад);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
    Запрос.УстановитьПараметр("КонецПериода", КонецДня(Отчет.КонецПериода));

    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьОстатокНачала = Макет.ПолучитьОбласть("ОстатокНачала");
    ОбластьПриход = Макет.ПолучитьОбласть("Приход");
    ОбластьДокументыПрихода = Макет.ПолучитьОбласть("ДокументыПрихода");
    ОбластьИтогоПоПриходу = Макет.ПолучитьОбласть("ИтогоПоПриходу");
    ОбластьРасход = Макет.ПолучитьОбласть("Расход");
    ОбластьДокументыРасхода = Макет.ПолучитьОбласть("ДокументыРасхода");
    ОбластьИтогоПоРасходу = Макет.ПолучитьОбласть("ИтогоПоРасходу");
    ОбластьОстатокНаКонец = Макет.ПолучитьОбласть("ОстатокНаКонец");

    Пока Выборка.Следующий() Цикл
    Если Выборка.Поле1 Тогда
    //Область Шапка
    ТабДок.Вывести(ОбластьШапка);

    //Область ОстатокНачала

    ОбластьОстатокНачала.Параметры.НачалоПериода = Отчет.НачалоПериода;
    ОбластьОстатокНачала.Параметры.СуммаНачальногоОстатка = Выборка.СуммаНачальногоОстатка;
    ТабДок.Вывести(ОбластьОстатокНачала);

    ВыборкаРАсход = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    ТабДок.Вывести(ОбластьРасход);

    Пока ВыборкаРасход.Следующий() Цикл
    ОбластьДокументыПрихода.Параметры.ДокумПрихода = ВыборкаРАсход.Документ;
    ОбластьДокументыПрихода.Параметры.ДатаДокументаПрихода = ВыборкаРАсход.ДатаДокумента;
    ОбластьДокументыПрихода.Параметры.НомерДокументаПрихода = ВыборкаРАсход.НомерДокумента;
    ОбластьДокументыПрихода.Параметры.СуммаДокументаПрихода = ВыборкаРАсход.СуммаДокумента;
    ТабДок.Вывести(ОбластьДокументыПрихода);
    КонецЦикла;

    Иначе
    ВыборкаПриход = Выборка.Выбрать();
    ТабДок.Вывести(ОбластьПриход);
    Пока ВыборкаПриход.Следующий() Цикл
    ОбластьДокументыРасхода.Параметры.ДокумРасхода = ВыборкаПриход.Документ;
    ОбластьДокументыРасхода.Параметры.ДатаДокументаРасхода = ВыборкаПриход.ДатаДокумента;
    ОбластьДокументыРасхода.Параметры.НомерДокументаРасхода = ВыборкаПриход.НомерДокумента;
    ОбластьДокументыРасхода.Параметры.СуммаДокументаРасхода = ВыборкаПриход.СуммаДокумента;
    ТабДок.Вывести(ОбластьДокументыРасхода);
    КонецЦикла;
    ОбластьОстатокНаКонец.Параметры.КонецПериода = Отчет.КонецПериода;
    ОбластьОстатокНаКонец.Параметры.СуммаКонечногоОстатка = Выборка.СуммаКонечногоОстатка;
    ТабДок.Вывести(ОбластьОстатокНаКонец);
    КонецЕсли;
    КонецЦикла;
```
---
vovan_victory, сумманачальныйостаток должна выводиться только вначале, а в конце суммаКонечногоОстатка всего документа. Посмотри в (15) все решено.
---
Ну что кто-нибудь поможет?
база же приложена между картинками 1Cv8.dt (46.04 КБ). только правильно циклы расставить без корректировки запроса. Запрос нормально работает.
---
ну кто поможет? база приложена
---
По какому критерию документы так разбиваются на приход и расход? Так определяется движения определенной номенклатуры?
---
Добавить в запрос Выбор Когда РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСПриход > 0 ТОГДА "ПРИХОД" ИНАЧе "РАСХОД" КОНЕЦ КАК ВИДДВИЖЕНИЯ
и сделай по нему итоги
---
Хотя лучше по количеству определять, ну для вашего варианта и так сойдет
---
А лучше 2 запроса, в одном ты получаешь остатки на начало и на конец месяца, а во втором считаешь обороты
---
```1c
    ЗапросОстатки = Новый Запрос;
    ЗапросОстатки.Текст = "ВЫБРАТЬ
    | ЕСТЬNULL(РН_ДокументыДвиженияОстатки.СуммаБезНДСОстаток, 0) КАК ОстатокНаНачалоПериода,
    | ЕСТЬNULL(РН_ДокументыДвиженияОстатки1.СуммаБезНДСОстаток, 0) КАК ОстатокНаКонецПериода
    |ИЗ
    | РегистрНакопления.РН_ДокументыДвижения.Остатки(
    | &НачалоПериода,
    | Организация = &Организация
    | И Склад = &Склад) КАК РН_ДокументыДвиженияОстатки
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РН_ДокументыДвижения.Остатки(
    | &КонецПериода,
    | Организация = &Организация
    | И Склад = &Склад) КАК РН_ДокументыДвиженияОстатки1
    | ПО (ИСТИНА)";
    ЗапросОстатки.УстановитьПараметр("Организация", Отчет.Организация);
    ЗапросОстатки.УстановитьПараметр("Склад", Отчет.Склад);
    ЗапросОстатки.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
    ЗапросОстатки.УстановитьПараметр("КонецПериода", Новый Граница(КонецДня(Отчет.КонецПериода),ВидГраницы.Включая));
    ВыборкаОстатки = ЗапросОстатки.Выполнить().Выбрать();
    ВыборкаОстатки.Следующий();
```
---
```1c
    ТабДок.Очистить();
    Макет = Отчеты.ТоварныйОтчетТОРГ29.ПолучитьМакет("ТоварныйОтчет");
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ЗапросОстатки = Новый Запрос;
    ЗапросОстатки.Текст = "ВЫБРАТЬ
    | ЕСТЬNULL(РН_ДокументыДвиженияОстатки.СуммаБезНДСОстаток, 0) КАК ОстатокНаНачалоПериода,
    | ЕСТЬNULL(РН_ДокументыДвиженияОстатки1.СуммаБезНДСОстаток, 0) КАК ОстатокНаКонецПериода
    |ИЗ
    | РегистрНакопления.РН_ДокументыДвижения.Остатки(
    | &НачалоПериода,
    | Организация = &Организация
    | И Склад = &Склад) КАК РН_ДокументыДвиженияОстатки
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РН_ДокументыДвижения.Остатки(
    | &КонецПериода,
    | Организация = &Организация
    | И Склад = &Склад) КАК РН_ДокументыДвиженияОстатки1
    | ПО (ИСТИНА)";
    ЗапросОстатки.УстановитьПараметр("Организация", Отчет.Организация);
    ЗапросОстатки.УстановитьПараметр("Склад", Отчет.Склад);
    ЗапросОстатки.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
    ЗапросОстатки.УстановитьПараметр("КонецПериода", Новый Граница(КонецДня(Отчет.КонецПериода),ВидГраницы.Включая));
    ВыборкаОстатки = ЗапросОстатки.Выполнить().Выбрать();
    ВыборкаОстатки.Следующий();

    Запрос = Новый Запрос;

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

    Запрос.УстановитьПараметр("Организация", Отчет.Организация);
    Запрос.УстановитьПараметр("Склад", Отчет.Склад);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
    Запрос.УстановитьПараметр("КонецПериода", КонецДня(Отчет.КонецПериода) + 1);

    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДвижений = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьОстатокНачала = Макет.ПолучитьОбласть("ОстатокНачала");
    ОбластьПриход = Макет.ПолучитьОбласть("Приход");
    ОбластьДокументыПрихода = Макет.ПолучитьОбласть("ДокументыПрихода");
    ОбластьИтогоПоПриходу = Макет.ПолучитьОбласть("ИтогоПоПриходу");
    ОбластьРасход = Макет.ПолучитьОбласть("Расход");
    ОбластьДокументыРасхода = Макет.ПолучитьОбласть("ДокументыРасхода");
    ОбластьИтогоПоРасходу = Макет.ПолучитьОбласть("ИтогоПоРасходу");
    ОбластьОстатокНаКонец = Макет.ПолучитьОбласть("ОстатокНаКонец");

    //Область Шапка
    ТабДок.Вывести(ОбластьШапка);

    //Область ОстатокНачала

    ОбластьОстатокНачала.Параметры.НачалоПериода = Отчет.НачалоПериода;
    ОбластьОстатокНачала.Параметры.СуммаНачальногоОстатка = ВыборкаОстатки.ОстатокНаНачалоПериода;
    ТабДок.Вывести(ОбластьОстатокНачала);
    Пока ВыборкаДвижений.Следующий() Цикл
    Если ВыборкаДвижений.ВидДвижения = "ПРИХОД" Тогда
    Выборка = ВыборкаДвижений.Выбрать();
    //Область Приход
    ТабДок.Вывести(ОбластьПриход);
    Пока Выборка.Следующий() Цикл
    //Область ДокументыПрихода
    Если Не Выборка.ИтогоПриход = 0 Тогда
    ОбластьДокументыПрихода.Параметры.ДокумПрихода = Выборка.Документ;
    ОбластьДокументыПрихода.Параметры.ДатаДокументаПрихода = Выборка.ДатаДокумента;
    ОбластьДокументыПрихода.Параметры.НомерДокументаПрихода = Выборка.НомерДокумента;
    ОбластьДокументыПрихода.Параметры.СуммаДокументаПрихода = Выборка.СуммаДокумента
    КонецЕсли;

    ТабДок.Вывести(ОбластьДокументыПрихода);

    КонецЦикла;
    //Область ИтогоПоПриходу
    ОбластьИтогоПоПриходу.Параметры.ИтогоПриход = ВыборкаДвижений.ИтогоПриход;
    ТабДок.Вывести(ОбластьИтогоПоПриходу);

    ИначеЕсли ВыборкаДвижений.ВидДвижения = "РАСХОД" Тогда
    Выборка = ВыборкаДвижений.Выбрать();
    //Область ОбластьРасход
    ТабДок.Вывести(ОбластьРасход);
    Пока Выборка.Следующий() Цикл

    //Область ОбластьДокументыРасхода
    Если Не Выборка.ИтогоРасход = 0 Тогда
    ОбластьДокументыРасхода.Параметры.ДокумРасхода = Выборка.Документ;
    ОбластьДокументыРасхода.Параметры.ДатаДокументаРасхода = Выборка.ДатаДокумента;
    ОбластьДокументыРасхода.Параметры.НомерДокументаРасхода = Выборка.НомерДокумента;
    ОбластьДокументыРасхода.Параметры.СуммаДокументаРасхода = Выборка.СуммаДокумента
    КонецЕсли;
    ТабДок.Вывести(ОбластьДокументыРасхода);

    КонецЦикла;
    //Область ИтогоПоРасходу
    ОбластьИтогоПоРасходу.Параметры.ИтогоРасход = ВыборкаДвижений.ИтогоРасход;
    ТабДок.Вывести(ОбластьИтогоПоРасходу);

    КонецЕсли;

    КонецЦикла;
    //Область ОбластьОстатокНаКонец
    ОбластьОстатокНаКонец.Параметры.КонецПериода = Отчет.КонецПериода;
    ОбластьОстатокНаКонец.Параметры.СуммаКонечногоОстатка = ВыборкаОстатки.ОстатокНаКонецПериода;
    ТабДок.Вывести(ОбластьОстатокНаКонец);
```
---
karpik666,
Извини но 2 запроса это слишком круто для такой простой выборки.

КОГДА РН_ДокументыДвиженияОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
    | ТОГДА ""ПРИХОД""

Документ расхода может быть потом еще и ВводОстатков и ВнутреннееПеремещение и ВводИзлишков
---
qqwweerrttyy160679, дак у меня зато все работает как на картинке, выбор измени на это "Добавить в запрос Выбор Когда РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСПриход > 0 ТОГДА "ПРИХОД" ИНАЧе "РАСХОД" КОНЕЦ КАК ВИДДВИЖЕНИЯ". Проверь мой вариант. Моя выборка должна работать быстрее, чем запрос к регистру ОборотыОстатки, у меня отдельно используются обороты и отдельно остатки. И еще добавить проверку на тип регистратора, через выразить КАК, чтобы не делались лишние обращения. И Макет тогда нужно изменить, чтобы не надо было писать условие = "Расход".
---
karpik666,
Можешь исправить на РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСПриход > 0 ТОГДА "ПРИХОД" ИНАЧе "РАСХОД" КОНЕЦ КАК ВИДДВИЖЕНИЯ
и выслать базу? Конечно 2 запроса не хотелось бы иметь, но за проделанные труды отдам тебе $m
---
Странное мнение, что 2 запроса это плохо. Порой без них не обойтись. Держи базу, я еще добавил проверку на тип регистратора.
---
karpik666,
А почему строки документов не выводятся? Обман?
---
qqwweerrttyy160679, перепутал строчки в запросе. Вот исправил
---
karpik666,
пожалуйста ещё хочу попросить сортировку по дате в списках документов
---
qqwweerrttyy160679,это смогу сделать только минут через 40 - еду домой с работы.
---
karpik666,
И ещё только увидела опять идет привязка к документу "ПоступлениеТоваровУслуг"
КОГДА РН_ДокументыДвиженияОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг

это тестовая база, а в реальной будет множество видов документов движения (ПоступлениеТоваров, РасходТоваров, СписаниеТоваров, ОприходованиеИзлишков и ещё штук 10 разных документов движения поэтому привязки к документу быть не должно, а привязка если Значение РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСПриход больше 0, то это докумет прихода, а если Значение РН_ДокументыДвиженияОстаткиИОбороты.СуммаБезНДСРасход больше 0, то это докумет расхода
---
Если нужно срочно, то вы можете сами добавить, нужно в конструкторе второго запроса на закладке "порядок" выбрать строчку с датой документа.
---
Присмотритесь, это не проверка на приход и расход, такая конструкция используется чтобы ускорить запрос. Там в каждой строке по условию иначе выполняется обычная строка. Так что проблемы в таком коде быть Не должно. Единственное меня смущает, как называется документ реализации в базе в которую будете внедрять "реализацияТоваров" или "РеализацияТоваровУслуг" ?
---
karpik666,
РеализацияТоваровУслуг
---
Держите, все исправил