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