Не переходит фокус на форму при открытии из другой формы (УФ)

1. Evgeniia_S 05.12.20 01:44 Сейчас в теме
Форма открыватеся вот так:
Оповещение = Новый ОписаниеОповещения("ОткрытьВводНоменклатурыЗавершение", ЭтаФорма);
ОткрытьФорму("Обработка.СборкаКомплектов.Форма.ВводНоменклатуры", , , , , , Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

Фокус остается на форме, из которой новая форма "ВводНоменклатуры" открыта.

Все найденные в интернете приемы не помогли. А именно при открытии новой формы пробовала следующее:
ЭтаФорма.Активизировать()
ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.Номенклатура;

Помогла следующая конструкция, которую считаю некорректной.
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ПодключитьОбработчикОжидания("ФокусФормы",1); 
	
КонецПроцедуры

&НаКлиенте
Процедура ФокусФормы()
	
	Если ВводДоступен() тогда
	    ОтключитьОбработчикОжидания("ФокусФормы");
	Конецесли; 
	
	ЭтаФорма.Активизировать();
	
КонецПроцедуры 
Показать


Как сделать правильно? Может, есть какие-то свойства форм, которые могут мешать нормальному переключению фокуса.
По теме из базы знаний
Найденные решения
5. Evgeniia_S 06.12.20 22:31 Сейчас в теме
Да, теория верна. Если обработчик ожидания поставить у владельца ПриОткрытии, форма "ВводНоменклатуры" откроется после открытия владельца, проблем с установкой фокуса в форме "ВводНоменклатуры" нет. То есть если и применять решение с обработчиком ожидания, то в форме владельца
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 05.12.20 02:12 Сейчас в теме
(1) попробуйте третьим параметром передавать владельца формы
ОткрытьФорму("Обработка.СборкаКомплектов.Форма.ВводНоменклатуры", , Форма, , , , Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
3. Evgeniia_S 06.12.20 21:33 Сейчас в теме
Передача "ЭтаФорма" в качестве Владельца не помогла. У меня пока так и работает с обработчиком ожидания
4. Evgeniia_S 06.12.20 22:24 Сейчас в теме
Здесь проблема скорее в том, что показываю я форму сразу ПриОткрытии владельца, из-за этого меня и спасает Обработчик ожидания. Если бы было как-то можно показать мой форму, когда форма владельца уже точно отобразилась
5. Evgeniia_S 06.12.20 22:31 Сейчас в теме
Да, теория верна. Если обработчик ожидания поставить у владельца ПриОткрытии, форма "ВводНоменклатуры" откроется после открытия владельца, проблем с установкой фокуса в форме "ВводНоменклатуры" нет. То есть если и применять решение с обработчиком ожидания, то в форме владельца
6. Evgeniia_S 30.03.21 17:58 Сейчас в теме
Сейчас сама же искала, что я в прошлый раз сделала, и увидела, что дала не совсем понятный ответ.

Если ПриОткрытии основной формы мы открываем ещё одну форму, то достаточно написать
ПодключитьОбработчикОжидания("ОткрытиеОкнаАнкеты",0.1,Истина);

И уже внутри функции "ОткрытиеОкнаАнкеты" создать оповещение открытия формы. 0.1 секунды достаточно.

С фокусом в таком случае всё в порядке.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот