из внешней обработки открываю форму выбора документа. на открываемую форму нужно наложить отбор по периоду,
только проведенные документы и не помеченные на удаление

&НаСервере
Функция ПодборНаСервере()

 Настройки = Новый НастройкиКомпоновкиДанных;

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

 Элемент = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
 Элемент.Использование = Истина;
 Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
 Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
 Элемент.ПравоеЗначение = Истина;
 Элемент.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;

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

 ПараметрыФормы = Новый Структура("Отбор", Настройки);

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

&НаКлиенте
Процедура Подбор(Команда)
 ВходящиеПараметры = ПодборНаСервере(); ОткрытьФорму("Документ.ЭкземплярБюджета.Форма.ФормаВыбора",ВходящиеПараметры,Элементы.НеутвержденныеБюджеты);
КонецПроцедуры

отбор не срабатывает. что делаю не правильно?
---
Форма выбора (подбор) в управляемых формах

```1c
    &НаКлиенте
    Процедура КомандаОткрытьФормуВыбора(Команда)
    НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;

    ///Если хотим несколько условий
    ГруппаОтбора = НастройкиКомпоновки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

    ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = Истина;

    ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = Истина;

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

    ПараметрыВыбора = Новый Структура;
    ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки);
    ПараметрыВыбора.Вставить("РежимВыбора",Истина);
    ПараметрыВыбора.Вставить("МножественныйВыбор",Истина);

    ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,"Подбор");

    ОткрытьФорму("Документ.ЭкземплярБюджета.Форма.ФормаВыбора",ПараметрыВыбора,
    ЭтаФорма, , , , ОбработкаВыбора);

    КонецПроцедуры
```
---
Замени
```1c
    //ПараметрыВыбора = Новый Структура;
    ПараметрыФормы = Новый Структура;
```
---
Функция ПодборНаСервере ничего не возвращает. Где Возврат?
---
не работает. никак. весь код с серверной функции можно перенести на клиент, но так тоже не работает...
---
&НаКлиенте
Процедура Подбор(Команда)

 СтандартнаяОбработка = Ложь;

 СтруктураОтбор = Новый Структура;
 СтруктураОтбор.Вставить("Подразделение",ЭтотОбъект.Объект.Подразделение);
 СтруктураОтбор.Вставить("ПометкаУдаления", Ложь);
 СтруктураОтбор.Вставить("Проведен", Истина);
 СтруктураОтбор.Вставить("Аналитика1",ЭтотОбъект.Объект.НаправленияДеятельности);

 ПараметрыФормы = Новый Структура("Отбор", СтруктураОтбор);

 ОткрытьФорму("Документ.ЭкземплярБюджета.ФормаВыбора",ПараметрыФормы,Элементы.НеутвержденныеБюджеты);

КонецПроцедуры

так работает. но как запихать туда отбор по периоду? или отбор по родителю какого-нибудь справочника? или несколько значений какого-нибудь перечисления?
---
Если не вписываться в форму выбора, то прим так.
Открываешь форму с отбором по другим реквизитам, кроме периода. Но открываешь с получением формы:

```1c
    ФормаВыбора = ОткрытьФорму(...);
```

Потом устанавливаешь доп отборы по периоду.

```1c
    ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(ФормаВыбора.Список, ..... );
```
---
или отбор по родителю какого-нибудь справочника? или несколько значений какого-нибудь перечисления?
а это?
---
в первом посте код универсальнее... непонятно только почему не работает
---
Подскажите по вопросу
---
Форма выбора (подбор) в управляемых формах

```1c
    &НаКлиенте
    Процедура КомандаОткрытьФормуВыбора(Команда)
    НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;

    ///Если хотим несколько условий
    ГруппаОтбора = НастройкиКомпоновки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

    ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = Истина;

    ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = Истина;

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

    ПараметрыВыбора = Новый Структура;
    ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки);
    ПараметрыВыбора.Вставить("РежимВыбора",Истина);
    ПараметрыВыбора.Вставить("МножественныйВыбор",Истина);

    ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,"Подбор");

    ОткрытьФорму("Документ.ЭкземплярБюджета.Форма.ФормаВыбора",ПараметрыВыбора,
    ЭтаФорма, , , , ОбработкаВыбора);

    КонецПроцедуры
```
---
в строке - ПараметрыВыбора = Новый Структура;

ошибка несоответствие типов
---
Замени
```1c
    //ПараметрыВыбора = Новый Структура;
    ПараметрыФормы = Новый Структура;
```
---
Отлично! Всё работает.