Необходимо запросом получить последнюю запись в регистре, после результат запроса поместить в реквизит документа

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

    РезультатЗапроса=Запрос.Выполнить();
    Выборка=РезультатЗапроса.Выбрать();
    ПОКА Выборка.Следующий() ЦИКЛ

    КонецЦикла;
    КонецФункции
```

Статусы документов- регистр сведений
СтатусыДокументов.Документ-измерение
СтатусыДокументов.Статус-ресурс
Регистр периодический, независимый
Расходная накладная документ-в нем есть реквизит Статус, который и должен заполниться результатом запроса
---
&НаСервере
Функция ВызовМодуля()

   Возврат ОбщийМодуль1.ПолучитьСтатусДокумента1(Объект.Ссылка);

КонецФункции

Ну и в ПолучитьСтатусДокумента1 тоже возврат надо делать
ПОКА Выборка.Следующий() ЦИКЛ
        Возврат Выборка.Статус;
КонецЦикла;

Ну и по регистру СтатусыДокументов по моему срез надо брать
---
В запросе нет никаких отборов это так и нужно? Зачем левое соединение к документам если документы нигде не используются?
---
Нужно получить статус из регистра для каждого документа, сейчас получаю только последний статус в регистре для всех документов одинаковый, отбором можно реализовать для каждого документа свой статус из регистра?
Думала это сработает
СтатусыДокументов.Документ = РасходнаяНакладная.Ссылка
---
Вопрос решен, всем спасибо)
---
Документ.Статус = выборка.Статус:
Или я чего-то не пнимаю?
---
Наверное, "Документ" - это ссылка. Тогда надо получить от нее объект, установить значение реквизита и записать объект?..
---
В регистре документ это ссылка на документ расходной накладной
По идее запрос возвращает множество значений, а мне необходимо записать его в реквизит с одним значением. Возможно ли как то результат запроса преобразовать?
---
Какие типы данных у реквизита "Статус" в документе и в регистре?
---
перечисление ссылка статусы
---
Попробуйте
"ВЫБРАТЬ ПЕРВЫЕ 1".
Возможно, еще сортировку добавить придется
---
Так? а дальше на форме документа при открытии вызвать эту процедуру и присвоить статусу?

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

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Элементы.Статус=ВызовМодуля()
    КонецПроцедуры

    &НаСервере
    Функция ВызовМодуля()

    ОбщийМодуль1.ПолучитьСтатусДокумента1(ЭтотОбъект)

    КонецФункции
```

Ошибка Поле объекта недоступно для записи (Статус)
Элементы.Статус=ВызовМодуля()
---
Скорее

```1c
    Объект.Статус = ВызовМодуля()
```
---
Открываю документ статус пуст
---
&НаСервере
Функция ВызовМодуля()

   Возврат ОбщийМодуль1.ПолучитьСтатусДокумента1(Объект.Ссылка);

КонецФункции

Ну и в ПолучитьСтатусДокумента1 тоже возврат надо делать
ПОКА Выборка.Следующий() ЦИКЛ
        Возврат Выборка.Статус;
КонецЦикла;

Ну и по регистру СтатусыДокументов по моему срез надо брать
---
Прописала Возврат и все работает, спасибо большое)