Имя: Пароль:
1C
 
Можно ли сделать и как что бы процедура ПередЗакрытием не выполнялась
, ,
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 блокирует теперь только владельца), вроде стало все ОК.

Согласен - это багофича (жаль что на нее тратится много времени).