|
Можно ли сделать и как что бы процедура ПередЗакрытием не выполнялась |
☑ |
0
kev789
10.08.17
✎
19:04
|
Управляемаяформа. Форма открывается и сразу закрывается(а не должна).
При этом в процедуру ПередЗакрытие не попадаю, ПриЗакрытии попадаю.
Пользователь с ограниченными правами. Под полными правами поведение нормальное.
Как понять почему такое происходит?
|
|
1
kev789
10.08.17
✎
19:07
|
Платформа 8.3.10
Если это важно, то форма - это общая форма добавленная в расширение.
На экране видно визуально что она окрывается (моргает).
Код открытия формы такой:
Процедура ПереместитьТекущийЭтап(СтруктураОснования) Экспорт
ПараметрыФормы = Новый Структура("СтруктураОснования", СтруктураОснования);
Рез = ОткрытьФорму("ОбщаяФорма.ПеремещениеЭтапа",ПараметрыФормы,,,,,,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
КонецПроцедуры
|
|
2
Фрэнки
10.08.17
✎
19:13
|
Рискну угадать, что где-то ПередОткрытием возникает отказ. А еще рискну предположить, что ПриЗакрытии похожа на процедуру обработчик деструктора объекта, а потому она конечно будет вызвана непосредственно перед ним, но взамен обработчика ПередЗакрытием
|
|
3
Фрэнки
10.08.17
✎
19:15
|
получаются как бы пары:
ПередОткрытием , ПриЗакрытии - это внешняя обвязка сишного кода
ПриОтркрытии - ПередЗакрытием - это внутренняя обвязка.
|
|
4
kev789
10.08.17
✎
19:20
|
(2) Вроде разобрался.
РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс
форма открывалась в этом режиме из другой формы которая тоже была открыта в этом режиме. И тут платформа "глюкнула".
Переделал на блокировать окно владельца вроде взлетело
(раньше были вызовы открытьмодально, такая конструкция работала ....)
|
|
5
Фрэнки
10.08.17
✎
19:22
|
(4) ну то есть она не просто глюкнула, а сгенерила таки где-то внутри себя сама себе "отказ", то бишь "исключение", но не шмогла об этом внятно сообщить :)
|
|
6
kev789
10.08.17
✎
19:24
|
(5) Больше всего удивило что передЗакрытием не выполнялась, А при закрытии выполнялась, был очень удивлен.
Думал где то в обработчиках каких спряталась Закрыть(), хотел поймать, а тут вон че.
|
|
7
Zhuravlik
10.08.17
✎
23:04
|
(0) У формы обработчик события сопоставлен с методом?
|
|
8
rudnitskij
10.08.17
✎
23:17
|
(6) может ПередЗакрытием выполняется для корректно открытых форм
|
|
9
jsmith82
10.08.17
✎
23:51
|
У 1ски есть баг
Если открыть программно форму внутренней обработки, которая блокирует окно владельца, то она моргает и закрывается
Например, форма обработки универсального обмена данными в формате хмл
|
|
10
jsmith82
10.08.17
✎
23:51
|
Так что это багофича
|
|
11
kev789
15.08.17
✎
22:02
|
(9) Вроде ситуация чуток другая.
Открывается общая форма (форма2) с блокированием всего интерфейса из формы (форма1) которая уже открыта с блокированием всего интерфейса.
После того как переписали (форма2 блокирует теперь только владельца), вроде стало все ОК.
Согласен - это багофича (жаль что на нее тратится много времени).
|
|