Как распечатать содержимое ФормыСписка с отбором?

Версия для печатиPDF-версия

1С 8.2 УП 10.3 Создал форму списка документа с отбором: В Процедуре ПриОткрытии()


ДокументСписок.Отбор.Сбросить();
ДокументСписок.Отбор.ЭтапыПродажи.ВидСравнения=ВидСравнения.Равно;
ДокументСписок.Отбор.ЭтапыПродажи.Значение="Отгружать ТК"; 
ДокументСписок.Отбор.ЭтапыПродажи.Установить();

Открывается форма со списком документов, в котором перечислены документы у которых в реквизите ЭтапыПродажи значение Равно Отгружать ТК. Если создать кнопку с присвоенной процедурой из конструктора печати, то на печать выводится весь список без отбора….


Процедура ПечатьСписка(Элемент)

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

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
	
КонецПроцедуры

На всякий случай уточню, печать не документов из списка, а именно список (перечень) документов. Конечно можно использовать штатную кнопку Вывести список выбрать реквизиты и распечатать. Только при этом нет возможности влиять на макет…

Вопрос:

Как в процедуру ПечатьСписка внести отбор документов по содержанию реквизита?

Если отбор только по этому реквизиту, то можно в цикле обхода выборки просто добавить условие:

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

Если отборы могут быть произвольные, то лучше воспользоваться ПостроителемЗапроса.