Здравствуйте!

Есть регистр сведений, подчиненной регистратору, со следующими полями:
Измерения:
Сервер
Номенклатура
ВариантНоменклатуры
ДатаУстановки
Ресурсы:
Количество

У регистра 2 регистратова: ВводВЭксплуатацию, Модернизация, которые создают новые записи в РС при проведении.

Но когда я пытаюсь получить последнее состояние объекта (Сервер) на дату через срез последних, то он мне выводит все записи сделанные до этой даты, а не последние.

Почему так?
---
Позволю себе угадать. Выбирая данные из виртуальной таблицы "СрезПоследних" на дату Вы ожидаете, что для указанного сервера будет получена одна запись из регистра - самая последняя. Это не так. Срез последних получает из регистра сведений последние записи для всех комбинаций значений измерений (с учетом отборов, кончено же). Скажем, если у Вас "ДатаУстановки" в регистре от документа к документу различаются, то в результате среза последних Вы увидите все варианты дат установки, а не только от последнего документа. При том вне зависимости от того, выбираете ли Вы поле "ДатаУстановки" в запросе или нет - данные не сворачиваются.
---
Дата установки вообще в измерениях лишняя. Тем более, что у регистра, скорее всего, есть измерение "Период". А если нет, то дату можно определить по регистратору.
---
срез последних используй
---
Позволю себе угадать. Выбирая данные из виртуальной таблицы "СрезПоследних" на дату Вы ожидаете, что для указанного сервера будет получена одна запись из регистра - самая последняя. Это не так. Срез последних получает из регистра сведений последние записи для всех комбинаций значений измерений (с учетом отборов, кончено же). Скажем, если у Вас "ДатаУстановки" в регистре от документа к документу различаются, то в результате среза последних Вы увидите все варианты дат установки, а не только от последнего документа. При том вне зависимости от того, выбираете ли Вы поле "ДатаУстановки" в запросе или нет - данные не сворачиваются.
---
Дата установки вообще в измерениях лишняя. Тем более, что у регистра, скорее всего, есть измерение "Период". А если нет, то дату можно определить по регистратору.
---
Т. е. что бы мне получить последние записи для Сервера, то мне в Измерениях регистра нужно оставить только его?
---
Да. Либо усложнить запрос, отказавшись от виртуальной таблицы среза последних, и написав свой "срез".
---
Тогда он не хочет писать несколько строк, потому что получается, что они для него одинаковые
---
Да, все верно. Он же должен иметь возможность однозначно интерпретировать, какая из записей последняя. А Вы ему пытаетесь подсунуть несколько последних.

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

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

    УПОРЯДОЧИТЬ ПО
    ВидСвойства,
    ЗначениеСвойства
```
---
СерверыСрезПоследних.ОбъемДискаЭтого поля вовсе не было в описании задачи. Вы пытаетесь нас всех запутать? :-)
---
Этого поля вовсе не было в описании задачи. Вы пытаетесь нас всех запутать? :-)

Да, он у меня в ресурсах. Это характеристика, она пишется при проведении только, если Номенклатура=ЖесткийДиск
---
мне кажется, что тут лишний регистратор в выборке и в группировке. Попробуйте без него, если не принципиально знать, каким документом сделаны изменения.
---
Всё дело в регистраторе, если я правильно понял, он же у одного и того же Сервера разный, и изменения вносятся обоими. Получается РС видит, что регистраторы разные и выдает строки и с 1-м и со 2-м, а нужно только с последним
---
До тех пор пока вы в запросе будете писать детализацию по "лишним" в пределах задачи полям - вы будите получать много записей. Если вам нужно получить последнее значение Количества для измерения "Сервер", то и просите только его и все будет правильно.
Кстати, то что вы используете функцию СУММА(СерверыСрезПоследних.КолличествоНоменклатуры) КАК Колличество навевает на мысль, что вы попутали смысл Р.сведений и Р.накоплений...

```1c
    ВЫБРАТЬ
    СерверыСрезПоследних.Сервер КАК Сервер,
    СерверыСрезПоследних.КолличествоНоменклатуры КАК Колличество,
    ИЗ
    РегистрСведений.Серверы.СрезПоследних(
    &Период,
    Сервер = &Сервер
    И Номенклатура = &ЖесткийДиск) КАК СерверыСрезПоследних
```
---
Кстати, то что вы используете функцию СУММА(СерверыСрезПоследних.КолличествоНоменклатуры) КАК Колличество навевает на мысль, что вы попутали смысл Р.сведений и Р.накоплений...

Не не попутал. Мне нужны не остатки, а текущее количество по группируемым показателям.
---
Хозяин-барин ) Насколько я понимаю, Рег.сведений хранит точечное актуальное значение и никакого плюса/минуса/суммы тут быть не может, т.е. на дату такую-то только одно значение, ни о каких остатках речь не идет. Вот Рег.накопления - это могут быть и остатки, и обороты, и разные варианты "раскручивания" с агрегатными функциями в том числе.
---
Перенес ДатаВвода из Измерений в Ресурсы - все стало считаться как нужно. Дело в том, что документы, которые пишут записи в РС писали в неё разные даты, вот ими то и отличались записи. И поэтому он выводил и записи за прошлые даты