|
В обычных формах заблокировать окно владельца. |
☑ |
0
Sevish
20.10.23
✎
18:41
|
Добрый день всем!
В тонком клиенте такое работает:
ОткрытьФорму("ОбщаяФорма.ДлительнаяОперация", ПараметрыФормы, ?(ПараметрыОжидания <> Неопределено, ПараметрыОжидания.ФормаВладелец, Неопределено),,,,ОповещениеОЗавершении);
Но если запустить клиента на обычных формах (УПП это), то окошко открывается оторванным от окна владельца.
Я понимаю что это нормально :)
Вопрос: какие есть идеи как выкрутиться и сделать окно владельца каким-то некликабельным?
Пока пришла мысль при активации любого элемента формы владельца активировать окно открытого ожидания, но как это сделать?
|
|
1
yopQua
20.10.23
✎
20:21
|
открытьмодально()?
|
|
2
Sevish
21.10.23
✎
05:22
|
Модально - заблокируется весь интерфейс, а мне надо одно окно.
|
|
3
Волшебник
21.10.23
✎
08:18
|
(2) Установите всем элементам флаг ТолькоПросмотр
|
|
4
TormozIT
21.10.23
✎
11:15
|
(3) У многих типов элементов нет такого свойства. Особенно опасны кнопки. Так что более универсально - отключать Доступность.
А еще более универсально - ЭтаФорма.Панель.Доступность . Так сделано например в ИР в инструменте "Подбор и обработка объектов" при открытии некоторых форм вложенных обработок (например "Произвольный алгоритм"). Но и у этого способа есть ряд недостатков.
|
|
5
TormozIT
21.10.23
✎
11:17
|
(4) При восстановлении доступности главной панели формы (ЭтаФорма.Панель) форма не берет фокус ввода и его приходится насильно ей возвращать. Это также можно увидеть в примере.
|
|
6
Sevish
22.10.23
✎
10:06
|
Благодарю за подсказки. Форма сама изначально УФ, просто открывается в ОП. Подошел вариант: только просмотр для формы, снял доступность с командной панели и с групп (всего три, все элементы в них) и так же проверка перед закрытием, что идет длительная операции.
По окончании активирую окно, где она завершилась.
|
|
7
Волшебник
22.10.23
✎
11:07
|
(6) 👍
|
|