Добрый день всем!
В тонком клиенте такое работает:
ОткрытьФорму("ОбщаяФорма.ДлительнаяОперация", ПараметрыФормы, ?(ПараметрыОжидания <> Неопределено, ПараметрыОжидания.ФормаВладелец, Неопределено),,,,ОповещениеОЗавершении);
Но если запустить клиента на обычных формах (УПП это), то окошко открывается оторванным от окна владельца.
Я понимаю что это нормально :)
Вопрос: какие есть идеи как выкрутиться и сделать окно владельца каким-то некликабельным?
Пока пришла мысль при активации любого элемента формы владельца активировать окно открытого ожидания, но как это сделать?
(3) У многих типов элементов нет такого свойства. Особенно опасны кнопки. Так что более универсально - отключать Доступность.
А еще более универсально - ЭтаФорма.Панель.Доступность . Так сделано например в ИР в инструменте "Подбор и обработка объектов" при открытии некоторых форм вложенных обработок (например "Произвольный алгоритм"). Но и у этого способа есть ряд недостатков.
(4) При восстановлении доступности главной панели формы (ЭтаФорма.Панель) форма не берет фокус ввода и его приходится насильно ей возвращать. Это также можно увидеть в примере.
Благодарю за подсказки. Форма сама изначально УФ, просто открывается в ОП. Подошел вариант: только просмотр для формы, снял доступность с командной панели и с групп (всего три, все элементы в них) и так же проверка перед закрытием, что идет длительная операции.
По окончании активирую окно, где она завершилась.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший