Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Странная работа ПриЗакрытии() (число прочтений - 1886 )
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Странная работа ПриЗакрытии()
12. Августа 2008 :: 05:24
Печать  
Словил небольшой глюк Улыбка
В конфе активно используется ТП и в формах обработок ПриЗакрытии() стоит ОбъектТП = "";
А теперь самое главное Улыбка
В ГМ ПриЗавершенииРаботыСистемы() стоит вопрос "ВыУверены?"
И если открыта форма обработки, а на вопрос ответили "Нет" (в функции установился СтатусВозврата(0)Подмигивание
Форма обработки не закрывается, но процедура контекста ПриЗакрытии() отрабатывает :-О
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Странная работа ПриЗакрытии()
Ответ #1 - 12. Августа 2008 :: 05:35
Печать  
Тест где?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Странная работа ПриЗакрытии()
Ответ #2 - 12. Августа 2008 :: 06:23
Печать  
Вот он.
В архиве МД.
Просто закрываем конфу.
Оказывается, что это штатное поведение 1С  Ужас
ИМХО: Это как-то неправильно Улыбка
порождает ошибки кода у тех пользователей, которые никак не могут решить - закрыть ли им 1С Подмигивание
Можно ли это поправить?
  

1Cv7_008.rar ( 4 KB | Загрузки )
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Странная работа ПриЗакрытии()
Ответ #3 - 12. Августа 2008 :: 12:22
Печать  
slider26 писал(а) 12. Августа 2008 :: 06:23:
...Оказывается, что это штатное поведение 1С

Вот-вот-вот!
С другой стороны - сделай СтатусВозврата(0) в ПриЗакрытии() любой из открытых форм - и до ПриЗавершенииРаботыСистемы() дело не дойдет.

Выходит - всё логично, пытаешься закрыть главное окно - система опрашивет все дочерние окна "Тут вас всех закрыть хотят. Возражений нет?" и если кто-то против....

А для отдельно взятой формы получаем необычную ситуацию (другими средствами не достижимую) - форма согласна закрыться, ПриЗакрытии() отработало, но форма не закрылась Улыбка

Может попробовать перенести уничтожения объектов в ПослеЗакрытия(), любезно предоставленное нам FormEx'ом?
Цитата:
Синтаксис: ПослеЗакрытия()
Описание: Предопределенная процедура вызывается после физического разрушения окна формы.
Предотвратить закрытие окна в этой процедуре невозможно.


ЗЫ: Сам не пробовал.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Странная работа ПриЗакрытии()
Ответ #4 - 26. Августа 2008 :: 09:03
Печать  
slider26 писал(а) 12. Августа 2008 :: 06:23:
...Оказывается, что это штатное поведение 1С

Перехватчик тебе в руки, перехват глобального события ПриЗавершенииРаботыСистемы тебе поможет 100%
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Странная работа ПриЗакрытии()
Ответ #5 - 26. Августа 2008 :: 09:27
Печать  
artbear писал(а) 26. Августа 2008 :: 09:03:
Перехватчик тебе в руки, перехват глобального события ПриЗавершенииРаботыСистемы тебе поможет 100%

Код
Выбрать все
Функция СобытиеГМ_ПриЗавершенииРаботыСистемы(Конт) Экспорт
	Если (Вопрос("Выйти?","Да+Нет")="Да") Тогда
		Возврат 1;
	Иначе
		Возврат 0;
	КонецЕсли;
КонецФункции
 


Не помогло Печаль
Всё равно процедуры контекстов отрабатывают Печаль
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать