Требуется в зависимости от вида документа сделать выбор объекта, к которому он относится. Есть код:
```1c
    &НаКлиенте
    Процедура ОбъектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    Если Объект.ВидДокумента.Пустая() Тогда
    Сообщить("Не заполнен Вид документа. Выбор объекта невозможен!");
    КонецЕсли;
    Опаньки=Новый ОписаниеОповещения("ВыборОбъектаДокумента",ЭтотОбъект);
    ФФФ=ОткрытьФорму(ЭтаФорма.ТипОбъекта+".ФормаВыбора",,,,,,Опаньки,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    КонецПроцедуры

    &НаКлиенте
    Процедура ВыборОбъектаДокумента(ЗначенияВыбора, Параметр) Экспорт
    Сообщить("Конец выбора объекта");
    КонецПроцедуры
```
 В ЭтаФорма.ТипОбъекта записана строка вида "Справочник.<наименование справочника нужного объекта>"
Форма выбора открывается, но после выбора процедура ВыборОбъектаДокумента не отрабатывает :(
Что я делаю не так?
---
Начнём с того, что, возможно, вы не по тому пути пошли изначально. В большинстве случаев оповещение о закрытии не используется и код должен иметь следующий вид:
```1c
    &НаКлиенте
    Процедура ОбъектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Если Объект.ВидДокумента.Пустая() Тогда
    Сообщить("Не заполнен Вид документа. Выбор объекта невозможен!");
    КонецЕсли;
    ОткрытьФорму(ЭтаФорма.ТипОбъекта + ".ФормаВыбора", , Элемент);
    КонецПроцедуры

    &НаКлиенте
    Процедура ОбъектОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

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

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

    &НаКлиенте
    Процедура ОбъектОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    КонецПроцедуры
```
---
Спасибо. Это то, что надо. Даже обработку выбора делать не пришлось. Только вставить Возврат после Сообщить(...). :)