Доброго времени суток!
Подыму замусоленную тему. Делаю отчет по виртуальной таблице накопления остатки и обороты
Отчет накидал, формирую его за период когда не было движений, в детальных записях вывожу регистратор
В итоге получается две пустые строки с пустым регистратором, соотвесттвенно это остатки на начало и конец периода.

Роли все настроены, игнорировать NULL стоит, остатки сопоставлены. Вариант отбора по регистратору = заполнено не устраивает, т.к. пропадают нужные строки.
---
Короче кому будет интересно, что бы плностью избавиться от пустых строк игнорировать null помогает.
Только ещё важна группировка данных. Я по итогу сделал группировку без детальных записей, а регистратор последним уровнем иерархии сделал. Тогда встало всё ровно
.Так же не забыть переделать неопределено в null
---
Роли все настроены, игнорировать NULL стоит
А там не NULL, там НЕОПРЕДЕЛЕНО.
Поэтому один из вариантов - заменять в запросе НЕОПРЕДЕЛЕНО на NULL.
Методы дополнения только в простых случаях лечат.
ЗЫ. Т.е. если в запросе только голая виртуальная таблица без соединений, то должно и с дополнением получиться.
---
НЕОПРЕДЕЛЕННО на NULL сейчас попробую заменить.
Метод дополнения стоит и так, движения и граница, всё равно проблема остаётся
---
заменил в запросе неопределено на null проблема к сожалению так и осталась
---
Странно. У меня в одном из отчетов вот так работает (с опцией игнорирования NULL):
ЦеныНоменклатурыСрезПоследних.Цена,

```1c
    ВЫБОР
    КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
    ТОГДА NULL
    ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
    КОНЕЦ КАК Регистратор,
```
---
да я уже второй день парюсь, пытаюсь понять как правильно вывести данные.
---
В сложных запросах с расчетом остатков бывает помогает пометить ключевые для правильного расчета остатков измерения как обязательные.
---
дак остатки то по факту выходят правильные. Я просто собирался сравнить несколько регистров, для выявления расхождений. Ключевым полем будет регистр. Вот и получится, что по одной строке будет запись, а по другой где NULL фигня полная.
---
Короче кому будет интересно, что бы плностью избавиться от пустых строк игнорировать null помогает.
Только ещё важна группировка данных. Я по итогу сделал группировку без детальных записей, а регистратор последним уровнем иерархии сделал. Тогда встало всё ровно
.Так же не забыть переделать неопределено в null
---
Скрин с полями источника где будет видно,
что и где Период1, Период2, Период3 ...- сделает ответ на вопрос очевидным

ну и ПериодСекунда как там себя чувствует в полях или его нет?
---
Период 1 = регистратор, период 2 = секунда, всё это учтено
---
Это СКД? Метод дополнения какой: Движения или ДвиженияИГраницыПериода? Надо выбрать Движения.
---
Вы же в курсе что если поставить метод "Движения" то даже в моём приведённом примере на скрине вообще пропадут записи, т.к. не было движения?
Меня интересует полная информация с остатками
---
Вот этот простенький запрос и настройка ролей

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

    СГРУППИРОВАТЬ ПО
    ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.Организация,
    ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.АналитикаУчетаНоменклатуры.Склад,
    ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.Партия,
    ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.ПериодСекунда,
    ВЫБОР
    КОГДА ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
    ТОГДА NULL
    ИНАЧЕ ДетализацияПартийТоваровДляНДСиУСНОстаткиИОбороты.Регистратор
    КОНЕЦ
```