Такой вопрос товарищи, у меня есть запрос, который вытаскивает определенные данные из документа, надо внести их регистр сведений, делаю я это с помощью функции ЗаполнитьЗначенияСвойств(), но данные вносятся не корректно, подскажите в чем может быть проблема, и ещё вопрос есть ли возможность делать запрос конкретно по текущему документу, что бы данные вносились только из него?

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