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

    ПараметрыОтбора=Новый структура;
    ПараметрыОтбора.Вставить("организация",организация);

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

    ОткрытьФорму("Справочники.Сотрудники.ФормаВыбора",ПараметрыФормы,Элемент);

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

    ПараметрыОтбора=Новый структура;
    ПараметрыОтбора.Вставить("организация",организация);

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

    ОткрытьФорму("Справочники.Сотрудники.ФормаВыбора",ПараметрыФормы,Элемент);

    КонецПроцедуры
```
---
Если форма управляемая, то не надо ничего писать - достаточно в параметрах поля, из которого выбирается значение, указать параметры отбора, в которых просто задать для поля динамического списка "Организация" соответствующее поле документа. Если вообще ничего не понятно, то могу, конечно, картинку скинуть, но все-таки уже управляемым формам десять лет, а такую муть как в (4) кто-то до сих пор пишет. Куда катится мир? )))
---
согласен, но это только при условии что данные есть на форме!
Автор может потом передумать, а заменить переменную в таком случае намного проще.
---
честно, не понял до конца.
---
ну вот у Вас есть форма документа, например, и там где-то есть организация. Также есть элемент, который Вы хотите выбрать из списка, который нужно отфильтровать по организации. У этого элемента в свойствах формы есть такой параметр - "Связи параметров выбора", внутри которого Вы можете установить связь типа "Объект.Организация" (выбрать из списка слева в открывшемся по кнопочке "..." окне), после чего, обычно, автоматически подставится связь (1С найдет по типу), в итоге справа у Вас будет "Имя: Отбор.Организация, Реквизит: Объект.Организация, Режим изменения связанного значения: очищать" (последнее можно поменять на "Не изменять"). В итоге отбор в форме выбора проставится автоматически для элемента, у которого указана связь параметров выбора. Таких отборов можно указать несколько. В итоге ничего программировать не нужно.
---
СтандартнаяОбработка=Ложь;

    ПараметрыОтбора=Новый структура;
    ПараметрыОтбора.Вставить("организация",организация);

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

    ОткрытьФорму("Справочники.Сотрудники.ФормаВыбора",ПараметрыФормы,Элемент);

Спасибо, работает.