1С 8, Управляемое приложение, есть справочник "Номенклатура", у него есть форма выбора, на форме элемент, тип элемента "ДинамическийСписок", есть документ, в документе есть реквизит, тип реквизита справочник "Номенклатура".

Вопрос как открыть форму выбора справочника "номенклатура" с моим запросом в динамическом списке?

Открыть с отбором не предлагать, там сложные условия, всё связывается со всякими регистрами, отбором это не сделать.

И второй вопрос, как сделать чтобы при вводе по строке, выдавало номенклатуру на которую наложен тот- же запрос. Как это сделать вообще непонятно.

Делаю так:

```1c
    ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора", ,Элемент);
    СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
    СвойстваСписка.ОсновнаяТаблица = "Справочник.Номенклатура";
    СвойстваСписка.ДинамическоеСчитываниеДанных = Истина;
    СвойстваСписка.ТекстЗапроса = МойТекстЗапроса;
    ФормаВыбора.Элементы.Список.ПроизвольныйЗапрос = Истина;
    УстановитьСвойстваДинамическогоСписка(ФормаВыбора.Элементы.Список, СвойстваСписка);
    ФормаВыбора.Открыть()
```

"ФормаВыбора" открывается без моего запроса. Справочник "Номенклатура" типовой, трогать нельзя. Подскажите пожалуйста кто знает.
---
Если есть задача не трогать типовую форму, тогда проще создать новую форму с уже указанным произвольным запросом и в ней просто подменять его одной строкой ЭтаФорма.ДинСписок.ТекстЗапроса = "ВЫБРАТЬ...."
---
как сделать чтобы при вводе по строке, выдавало номенклатуру на которую наложен тот- же запрос.

а тут поможет ОбработкаПолученияДанныхВыбора
---
Если есть задача не трогать типовую форму, тогда проще создать новую форму с уже указанным произвольным запросом и в ней просто подменять его одной строкой ЭтаФорма.ДинСписок.ТекстЗапроса = "ВЫБРАТЬ...."
---
как сделать чтобы при вводе по строке, выдавало номенклатуру на которую наложен тот- же запрос.

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

Мне кажется, Элементы тут - лишнее. Попробуйте передать не элемент формы, а реквизит формы.

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