Открываю из обработки форму выбора справочника "Сотрудники"

```1c
    Процедура СотрудникНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = Справочники.Сотрудники.ПолучитьФормуВыбора(, Элемент);

    //Отбор

    ФормаВыбора.Открыть();
    КонецПроцедуры
```

У "Сотрудников" есть реквизит "Филиал"(спр.Филиалы)
При открытии формы можно сделать отбор по реквизитам справочника Сотрудники, т.е задать скажем "Филиал", но нужно задать не сам Филиал, а его "Тип", т.е отбор по реквизиту Филиала, в режиме предприятия это сделать можно, а программно?

Пока пробую получить запросом все Филиалы с нужным типом, передать их в качестве СпискаЗначений в отбор с ВидомСравнения = ВСписке, но что-то не получается и это не кажется оптимальным решением. Формы обычные. Студент.
---
На обычных формах, где то вы открываете справочник сотрудники, при этом при открытии, данный справочник должен быть отфильтрован по справочнику филиалы у которого тип - указан какой то тип. Если верно, то можно написать следующие. Пусть есть какая то форма у нее есть поле сотрудник. При нажатие по этому полю открывается форма выбора с отбором:

```1c
    запрос = новый Запрос();
    Запрос.Текст ="ВЫБРАТЬ
    | Спр.Ссылка КАК Сотрудник
    |ИЗ
    | Справочники.Сотрудники КАК Спр
    |ГДЕ
    | Спр.Сотрудники.Филиал.Тип = &ТипФилиала";
    Запрос.УстановитьПараметр("ТипФилиала", ВашеЗначениеТипаФилиала);

    МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");

    Список = новый СписокЗначений();
    Список.ЗагрузитьЗначения(МассивСотрудников);
    ФормаВыбора = Справочники.Сотрудники.ПолучитьФормыВыбора();
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Значение = Список;

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

То есть для отбора вам нужно сформировать нужный запрос и выбрать то что не обходимо а потом ссылки установки в качестве отбора
---
Сделайте запросом любые отборы
---
На обычных формах, где то вы открываете справочник сотрудники, при этом при открытии, данный справочник должен быть отфильтрован по справочнику филиалы у которого тип - указан какой то тип. Если верно, то можно написать следующие. Пусть есть какая то форма у нее есть поле сотрудник. При нажатие по этому полю открывается форма выбора с отбором:

```1c
    запрос = новый Запрос();
    Запрос.Текст ="ВЫБРАТЬ
    | Спр.Ссылка КАК Сотрудник
    |ИЗ
    | Справочники.Сотрудники КАК Спр
    |ГДЕ
    | Спр.Сотрудники.Филиал.Тип = &ТипФилиала";
    Запрос.УстановитьПараметр("ТипФилиала", ВашеЗначениеТипаФилиала);

    МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");

    Список = новый СписокЗначений();
    Список.ЗагрузитьЗначения(МассивСотрудников);
    ФормаВыбора = Справочники.Сотрудники.ПолучитьФормыВыбора();
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Значение = Список;

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

То есть для отбора вам нужно сформировать нужный запрос и выбрать то что не обходимо а потом ссылки установки в качестве отбора
---
Да, так я и делал, подумал, что может есть какой-то более верный вариант. Спасибо.