Вопрос. Управляемые формы. БП 3.0

Вызываю форму справочника физ.лиц. для выбора физлица из формы с двух разных кнопок на форме документа.
Как мне узнать, из какого элемента формы был вызов в событии формы ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)?
ИсточникВыбор.ВладелецФормы дает мне только имя формы "Документ.СписаниеМатериаловИзЭксплуатации.Форма.ФормаДокумента", а как мне узнать, из какого элемента этой формы вызвана подчиненная форма справочника "Физлица"? Так как в зависимости от этого у меня заполняются разные табличные части документа.

Открываю форму:

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

```1c
    &НаКлиенте
    Процедура К1(Команда)
    ВыполнитьВыбор(Команда);
    КонецПроцедуры

    &НаКлиенте
    Процедура К2(Команда)
    ВыполнитьВыбор(Команда);
    КонецПроцедуры

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

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

```1c
    ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, РежимВыбора, ИмяЭлемента", Истина, Истина, "_Кнопка1_");
    ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ФормаСписка", ПараметрыФормы , Элементы.Спецодежда);
```
---
spacecraft, благодарю) и с наступающим Новым годом!

Конечно же, вместо того чтобы мучать событие Обработкавыбора() всей формы, нужно ловить событие той ТЧ, которую нужно заполнить остатками выбранного сотрудника.)