|
v7: Помогите советом... 🠗 (Волшебник 21.02.2014 18:37) | ☑ | ||
---|---|---|---|---|
0
ikea
21.02.14
✎
18:06
|
Есть обработка N1, она открыта модально. Нужно, чтобы при нажатии на кнопку, эта обработка закрывалась(N1), открывалась другая(N2) и сразу же сворачивалась. При чем, чтобы не была активной, т.е не на ней был фокус.
Не получается. Что использую: 1. При нажатии на кнопку в обработке(N1) пишу Форма.Закрыть(). 2. Используется процедура ПослеЗакрытия(), в которой вызывается открытие другой обработки(N2), которую и нужно свернуть. 3. По идее обработка(N1) уже должна быть закрыта, но форма ее еще отображается. 4. В обработке(N2) в процедуре ПослеОткрытия() пишу код: Окно=СоздатьОбъект("Окна"); Окно.Минимизировать(Форма); Обработка(N2) минимизируется, но как-то коряво. Во-первых она активна, во-вторых, она не свернута, как, допустим если сворачиваешь журнал, справочник и т.д. Самое интересное, что если ее открыть не из обработки, то она минимизируется как надо. В общем, хотелось бы, чтобы она сворачивалась по-"человечески", и обработка, из которой она вызывается, закрывалась. Помогите советом, что делать. |
|||
1
Torquader
21.02.14
✎
18:34
|
Если из модальной формы открыть другую форму, то она сохраняет какие-то следы модальности.
Чтобы этого не было, нужно окрывать форму после закрытия модальной обработки или через ОбработкаОжидания - тогда будет чудо, а не то, что получилось. |
|||
2
Волшебник
модератор
21.02.14
✎
18:37
|
Тема не отражает суть сообщения.
|
|||
3
Torquader
21.02.14
✎
18:40
|
(2) А у автора есть возможность заголовок поменять ?
Если нет, то проще удалить (чтобы видел только автор) и пусть "зайдёт в реку" снова. |
|||
4
ikea
21.02.14
✎
18:48
|
(2) Ну я хотел сразу другую тему написать, но уж больно она длинной получалась, вот и решил таким образом сократить...
|
|||
5
ikea
21.02.14
✎
18:50
|
(1) Обработка ожидания это хорошо когда 5 человек в базе, а если пользователей больше 100. В общем, обработкаожидания не вариант. Мне нужно чтобы вторая обработка появилась сразу и свернулась,а не через какое-то время.
|
|||
6
Torquader
21.02.14
✎
18:53
|
Тогда делай это после того, как исполнение из модальной формы вернётся в код. То есть подмени команды "ОткрытьФормуМодально" на вызов процедуры, в которой открывай форму, а после закрытия открывай другую.
Можно, кстати, открыть форму перед модальной, а потом ей просто обновить (и при обновлении сделать всё, что нужно). |
|||
7
Torquader
21.02.14
✎
18:53
|
(4) Просто тема хоть немного должна отражать суть вопроса - лучше длинно и понятно, чем фигня.
|
|||
8
Дмитрий666
21.02.14
✎
19:08
|
2. Используется процедура ПослеЗакрытия()...
где нашел такую процедуру? |
|||
9
Torquader
21.02.14
✎
19:30
|
(8) Он мастер FormEx-а, но это его не спасло.
|
|||
10
Ёпрст
21.02.14
✎
19:55
|
(0) любое открытие формы из модальной формы будет так же открыто МОДАЛЬНО...
дальше думай. |
|||
11
Ёпрст
21.02.14
✎
19:56
|
если че, либо обработка ожидания, либо генерация внешнего события.. на выбор.
|
|||
12
ikea
21.02.14
✎
20:09
|
(10) Спасибо, так и думал, что скорее всего связано с модальностью. Попытаюсь уйти.
|
|||
13
Ёпрст
22.02.14
✎
00:12
|
(12) проще всего, формексом послать внешнеесобытие
|
|||
14
Ёпрст
22.02.14
✎
00:13
|
хотя, и тем же формексом слепить объект таймера ...да и.. можно и штатно сделать, при желании
ЗЫ: модальность - зло |
|||
15
ikea
22.02.14
✎
00:17
|
(14)Зло не зло, а бизнес-процесс требует чтобы пользователь отреагировал только на выбранное окно(модальное) и никакое другое, и пока не ответит, дальше не должно быть движения в цепочке.
|
|||
16
ikea
22.02.14
✎
00:25
|
(13) А что внешнее событие даст? Как обойдет мою проблему?
|
|||
17
ikea
24.02.14
✎
02:49
|
Вопрос снят.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |