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

    Пока Выборка.Следующий() Цикл
    мКонтрагентуУжеОтправлено.Добавить(Выборка.Контрагент);
    КонецЦикла;

    Возврат мКонтрагентуУжеОтправлено; // Возвращаем массив этой функции в метод заполнения тч документа
```
---
Получается Вам нужен пакетный запрос, тоесть 1-й запрос поместит данные во временную таблицу, а 2й использует ее как параметр, есть другой вариант - плохой. Выгрузить результат запроса в список значений по контрагенту и спользовать его как параметр в запросе
---
Может вы весь код покажете? Где и как у вас заполнение табличной части идет? Параметр "Документ" почему не установлен? И не совсем понятно зачем он нужен, в тч ДокументОснование может быть несколько документов я так понимаю, вы отсекаете все и оставляете какой то один, тоже интересно почему.
В (5) вам в принципе уже все рассказали, нужно только реализовать.
Не видя вашего кода полностью сложно что-то сказать, ну навскидку примерно как то так:

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

    РезультатПоиска = Запрос.Выполнить();
    Если НЕ РезультатПоиска.Пустой() Тогда
    Выборка = РезультатПоиска.Выбрать();
    //В результате в выборке имеем только тех контрагентов, которые за указанные период не попадали в рассылку
    //и дальше как то обрабатываем, например добавляем в таб.часть
    КонецЕсли;
```

И да. Конечно параметры надо установить перед выполнением запроса
---
не знаешь как параметры в запрос задать ?
---
Получается Вам нужен пакетный запрос, тоесть 1-й запрос поместит данные во временную таблицу, а 2й использует ее как параметр, есть другой вариант - плохой. Выгрузить результат запроса в список значений по контрагенту и спользовать его как параметр в запросе
---
Может вы весь код покажете? Где и как у вас заполнение табличной части идет? Параметр "Документ" почему не установлен? И не совсем понятно зачем он нужен, в тч ДокументОснование может быть несколько документов я так понимаю, вы отсекаете все и оставляете какой то один, тоже интересно почему.
В (5) вам в принципе уже все рассказали, нужно только реализовать.
Не видя вашего кода полностью сложно что-то сказать, ну навскидку примерно как то так:

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

    РезультатПоиска = Запрос.Выполнить();
    Если НЕ РезультатПоиска.Пустой() Тогда
    Выборка = РезультатПоиска.Выбрать();
    //В результате в выборке имеем только тех контрагентов, которые за указанные период не попадали в рассылку
    //и дальше как то обрабатываем, например добавляем в таб.часть
    КонецЕсли;
```

И да. Конечно параметры надо установить перед выполнением запроса
---
В чем ступор выражается? Что не получается сделать?
---
```1c
    Выборка = РезультатПоиска.Выбрать();
    мКонтрагентуУжеОтправлено = Новый Массив;

    Пока Выборка.Следующий() Цикл
    мКонтрагентуУжеОтправлено.Добавить(Выборка.Контрагент);
    КонецЦикла;

    Возврат мКонтрагентуУжеОтправлено; // Возвращаем массив этой функции в метод заполнения тч документа
```
---
Спасибо, что помогли))))