Всем привет, такой вопрос, есть документ, при выводе его на печать подставляется из регистра сведений Материально ответственное лицо срез последних под дату этого документа и с одним документом это работает, но вот при выборе нескольких документов для всех выбирается только одна дата, как можно сделать параметр или условие в самом запросе, что бы он подбирал нужные даты под каждый выбранный документ, голова уже не варит, подскажите, как это можно реализовать

```1c
    Процедура Печать(ТабДок, Ссылка, ПолноеФИО, СтруктураВозврата, ЭтотОбъект) Экспорт
    Макет = Документы.ПеремещениеМатериалов.ПолучитьМакет("Печать");
    ИнициалыМассив = Новый Массив;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПеремещениеМатериалов.Дата КАК Дата,
    | ПеремещениеМатериалов.СкладОтправитель КАК СкладОтправитель,
    | ПеремещениеМатериалов.СкладПолучатель КАК СкладПолучатель,
    | ПеремещениеМатериалов.ПМ.(
    | НомерСтроки КАК НомерСтроки,
    | Номенклатура КАК Номенклатура,
    | ОстатокНаСкладе КАК ОстатокНаСкладе,
    | Цена КАК Цена,
    | Количество КАК Количество,
    | ЦенаСумма КАК ЦенаСумма
    | ),
    | СкладМолСрезПоследних.МатериальноОтветственноеЛицо КАК ФИООтправил,
    | СкладМолСрезПоследних1.МатериальноОтветственноеЛицо КАК ФИОПринял,
    | ВЫБОР
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 1, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 1, 10)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 2, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 2, 9)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 3, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 3, 8)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 4, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 4, 7)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 5, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 5, 6)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 6, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 6, 5)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 7, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 7, 4)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 8, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 8, 3)
    | КОГДА НЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 9, 1) = "0"
    | ТОГДА ПОДСТРОКА(ПеремещениеМатериалов.Номер, 9, 2)
    | ИНАЧЕ ПОДСТРОКА(ПеремещениеМатериалов.Номер, 10, 1)
    | КОНЕЦ КАК Номер
    |ИЗ
    | РегистрСведений.СкладМол.СрезПоследних(&Дата, ) КАК СкладМолСрезПоследних1
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СкладМол.СрезПоследних(&Дата, ) КАК СкладМолСрезПоследних
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеМатериалов КАК ПеремещениеМатериалов
    | ПО СкладМолСрезПоследних.Склад = ПеремещениеМатериалов.СкладОтправитель
    | ПО (ПеремещениеМатериалов.СкладПолучатель = СкладМолСрезПоследних1.Склад)
    |ГДЕ
    | ПеремещениеМатериалов.Ссылка В(&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Запрос.Параметры.Вставить("Дата", Ссылка[0].Ссылка.Дата);
    Выборка = Запрос.Выполнить().Выбрать();
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьПМШапка = Макет.ПолучитьОбласть("ПМШапка");
    ОбластьПМ = Макет.ПолучитьОбласть("ПМ");
    Подвал = Макет.ПолучитьОбласть("Подвал");

    ТабДок.Очистить();
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
    Если ВставлятьРазделительСтраниц Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;

    ФИОО = Выборка.ФИООтправил;
    РаботаСДокументами.ФИОИнициалыО(ФИОО);

    ФИОП = Выборка.ФИОПринял;
    РаботаСДокументами.ФИОИнициалыП(ФИОП);

    ОбластьЗаголовок.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОбластьЗаголовок, Выборка.Уровень());
    Шапка.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(Шапка, Выборка.Уровень());

    ТабДок.Вывести(ОбластьПМШапка);
    ВыборкаПМ = Выборка.ПМ.Выбрать();
    Пока ВыборкаПМ.Следующий() Цикл
    ОбластьПМ.Параметры.Заполнить(ВыборкаПМ);
    ТабДок.Вывести(ОбластьПМ, ВыборкаПМ.Уровень());
    КонецЦикла;

    Подвал.Параметры.Заполнить(Выборка);
    Подвал.Параметры.ФИООтправил = ФИОО;
    Подвал.Параметры.ФИОПринял = ФИОП;
    ТабДок.Вывести(Подвал);

    ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
    КонецПроцедуры
```

 Вот код страницы, в том почему одна дата подбирается я понимаю, а как сделать, что бы под каждый документ подбиралась своя, не очень понимаю.
---
Тема старая, вариантов много, забей в поиск что-то типа "Получение в запросе цен на дату документа"..

```1c
    выбрать
    ПеремещениеМатериалов.Ссылка КАК Ссылка,
    максимум(СкладМол.Период) КАК Период
    поместить ВТ
    ИЗ
    Документ.ПеремещениеМатериалов КАК ПеремещениеМатериалов
    левое СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМол
    ПО ПеремещениеМатериалов.Дата >= СкладМол.Период

    СГРУППИРОВАТЬ ПО
    ПеремещениеМатериалов.Ссылка
    ;
    /////////////
    выбрать вт.Ссылка КАК Ссылка,
    СкладМолОтправитель.МатериальноОтветственноеЛицо как Отправил,
    СкладМолПолучатель.МатериальноОтветственноеЛицо как Получил
    из
    вт КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМолОтправитель
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМолПолучатель
    ПО вт.Период = СкладМолОтправитель.Период и вт.Ссылка.СкладОтправитель = СкладМолОтправитель.Склад
    ПО вт.Период = СкладМолПолучатель.Период и вт.Ссылка.СкладПолучатель = СкладМолПолучатель.Склад
```
---
А что тут думать - вы в одном запросе это реализовать ну никак не сможете...
---
Тема старая, вариантов много, забей в поиск что-то типа "Получение в запросе цен на дату документа"..

```1c
    выбрать
    ПеремещениеМатериалов.Ссылка КАК Ссылка,
    максимум(СкладМол.Период) КАК Период
    поместить ВТ
    ИЗ
    Документ.ПеремещениеМатериалов КАК ПеремещениеМатериалов
    левое СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМол
    ПО ПеремещениеМатериалов.Дата >= СкладМол.Период

    СГРУППИРОВАТЬ ПО
    ПеремещениеМатериалов.Ссылка
    ;
    /////////////
    выбрать вт.Ссылка КАК Ссылка,
    СкладМолОтправитель.МатериальноОтветственноеЛицо как Отправил,
    СкладМолПолучатель.МатериальноОтветственноеЛицо как Получил
    из
    вт КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМолОтправитель
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СкладМол КАК СкладМолПолучатель
    ПО вт.Период = СкладМолОтправитель.Период и вт.Ссылка.СкладОтправитель = СкладМолОтправитель.Склад
    ПО вт.Период = СкладМолПолучатель.Период и вт.Ссылка.СкладПолучатель = СкладМолПолучатель.Склад
```