Здравствуйте ребята, хочу получить предпоследнее значение в регистре сведений.
Вроде все как по учебнику но на деле не получает то что Я хочу.

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

    СГРУППИРОВАТЬ ПО
    НаливПродуктаНов.Период,
    НаливПродуктаНовСрезПоследних.Грязь,
    НаливПродуктаНовСрезПоследних.Грузополучатель,
    НаливПродуктаНовСрезПоследних.Вагон,
    НаливПродуктаНовСрезПоследних.Период,
    НаливПродуктаНов.Грязь

    УПОРЯДОЧИТЬ ПО
    Вагон
```

Подставляет вообще все что вагоны что есть а не предпоследний.
---
Попробуйте так:

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

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    МАКСИМУМ(НаливПродуктаНов.Период) КАК Период,
    НаливПродуктаНов.Вагон
    ПОМЕСТИТЬ втПредпоследняя
    ИЗ
    РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПоследняя КАК втПоследняя
    ПО НаливПродуктаНов.Вагон = втПоследняя.Вагон
    И НаливПродуктаНов.Период < втПоследняя.Период

    СГРУППИРОВАТЬ ПО
    НаливПродуктаНов.Вагон
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    НаливПродуктаНов.Период,
    НаливПродуктаНов.Грузополучатель,
    НаливПродуктаНов.Грязь,
    НаливПродуктаНов.Вагон
    ИЗ
    втПредпоследняя КАК втПредпоследняя
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ПО втПредпоследняя.Период = НаливПродуктаНов.Период
    И втПредпоследняя.Вагон = НаливПродуктаНов.Вагон
```

По одному конкретному вагону в целях отладки надо попробовать.
Если не получается, то надо смотреть что второй запрос из пакета возвращает.
---
Подход немножко не верный в использовании агрегатной функции МАКСИМУМ. Оно так не найти предпоследнее значение.
Но задача чертовски интересная.
Посмотрите вот такой пример нахождения предпоследнего значения цены. Это 100% работает на УТ-11. И можно принцип применить для Ваших вагонов:

```1c
    ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
    ПОМЕСТИТЬ втПоследняяЦена
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    &НаДату,
    Номенклатура = &Номенклатура
    И ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
    ЦеныНоменклатуры.Номенклатура КАК Номенклатура
    ПОМЕСТИТЬ втПредпоследняяЦена
    ИЗ
    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПоследняяЦена КАК втПоследняяЦена
    ПО ЦеныНоменклатуры.Номенклатура = втПоследняяЦена.Номенклатура
    И ЦеныНоменклатуры.Период < втПоследняяЦена.Период

    СГРУППИРОВАТЬ ПО
    ЦеныНоменклатуры.Номенклатура
    ;

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

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    МАКСИМУМ(НаливПродуктаНов.Период) КАК Период,
    НаливПродуктаНов.Вагон,
    НаливПродуктаНов.Грузополучатель,
    НаливПродуктаНов.Грязь
    ПОМЕСТИТЬ втПредпоследняя
    ИЗ
    РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПоследняя КАК втПоследняя
    ПО НаливПродуктаНов.Вагон = втПоследняя.Вагон
    И НаливПродуктаНов.Период < втПоследняя.Период

    СГРУППИРОВАТЬ ПО
    НаливПродуктаНов.Вагон,
    НаливПродуктаНов.Грузополучатель,
    НаливПродуктаНов.Грязь
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    НаливПродуктаНов.Период,
    НаливПродуктаНов.Грузополучатель,
    НаливПродуктаНов.Грязь,
    НаливПродуктаНов.Вагон
    ИЗ
    втПредпоследняя КАК втПредпоследняя
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ПО втПредпоследняя.Период = НаливПродуктаНов.Период
    И втПредпоследняя.Вагон = НаливПродуктаНов.Вагон
```

Все как по примеру а все ровно, вместо 1436 вагонов Более 6000
---
Максимум как то не так отрабатывает. Даже если просто максимум выбрать он Мне не покажет предпоследнюю запись.
---
Структуру регистра приведите, пжл, что является измерением, что ресурсом, что реквизитом. Иначе не понятно совсем как запрос о вагонах поправить.
---
Измеренем является только вагон
Все остальное ресурсы
---
Попробуйте так:

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

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    МАКСИМУМ(НаливПродуктаНов.Период) КАК Период,
    НаливПродуктаНов.Вагон
    ПОМЕСТИТЬ втПредпоследняя
    ИЗ
    РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ втПоследняя КАК втПоследняя
    ПО НаливПродуктаНов.Вагон = втПоследняя.Вагон
    И НаливПродуктаНов.Период < втПоследняя.Период

    СГРУППИРОВАТЬ ПО
    НаливПродуктаНов.Вагон
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    НаливПродуктаНов.Период,
    НаливПродуктаНов.Грузополучатель,
    НаливПродуктаНов.Грязь,
    НаливПродуктаНов.Вагон
    ИЗ
    втПредпоследняя КАК втПредпоследняя
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаливПродуктаНов КАК НаливПродуктаНов
    ПО втПредпоследняя.Период = НаливПродуктаНов.Период
    И втПредпоследняя.Вагон = НаливПродуктаНов.Вагон
```

По одному конкретному вагону в целях отладки надо попробовать.
Если не получается, то надо смотреть что второй запрос из пакета возвращает.
---
ПО
(7)
По одному вагону сработало очень даже хорошо, все как и должно быть
---
Вроде бы все заработало, а что собственно у Меня было не так?
---
а что собственно у Меня было не так?
Скорее всего это условие:

```1c
    Вагон.СобственникОКПО = 58300903
```
.
Это значит, что несколько вагонов.
---
Это условие Я понимию что делает. Но Мне и надо несколько вагонов
---
Еще по тестирую, и завтра уже напишу окончательный ответ о правильности работы. Спасибо что помогли