8.х УТ При выходе хоть бы спросили нужно ли выйти

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем sakustov, 11 апр 2011.

  1. TopicStarter Overlay
    sakustov
    Offline

    sakustov

    Регистрация:
    15 сен 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, уважаемые!

    Подскажите, пожалуйста, что сделать чтобы при нажатии на закрытие главного окна системы программа спрашивала "Вы действительно хотите выйти из программы?" А то пользователь говорит нажму случайно и все закрывается не спрашивая...
  2. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    найти модуль приложения и процедуру призавершенииработы() - как-то так называется. точно не помню.
  3. burbon
    Offline

    burbon Опытный в 1С

    Регистрация:
    5 май 2009
    Сообщения:
    228
    Симпатии:
    0
    Баллы:
    26
    Заходим в модуль управляемого приложения. Находим там процедуру:

    Код:
    Процедура ПередЗавершениемРаботыСистемы(Отказ)
    
    //РаботаСВнешнимОборудованием
    МенеджерОборудованияКлиент.ПередЗавершениемРаботыСистемы();
    //Конец РаботаСВнешнимОборудованием
    
    Если глКомпонентаОбменаСМобильнымиПриложениями <> Неопределено Тогда
    Попытка
    глКомпонентаОбменаСМобильнымиПриложениями.Отключить(0);
    Исключение
    ИмяСобытия = НСтр("ru='Ошибка при отключении компоненты обмена данными'");
    ОбщегоНазначения.ВыполнитьЗаписьВЖурналРегистрации(ИмяСобытия, "Ошибка",,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
    КонецПопытки;
    
    глКомпонентаОбменаСМобильнымиПриложениями = Неопределено;
    КонецЕсли;
    
    КонецПроцедуры
    
    
    И пишем в ней типа того:

    Код:
    Ответ = Вопрос("Завершить работу с программой?", РежимДиалогаВопрос.ДаНет);
    Отказ = (Ответ = КодВозвратаДиалога.Нет);
    
    Если НЕ Отказ Тогда
    
    // тут чёнить делаем перед закрытием , если нужно! Ну или вообще без этого условия. Главное чёб это было - Отказ = (Ответ = КодВозвратаДиалога.Нет);
    
    КонецЕсли;
    
    
    И получаем рабочий вариант:

    Код:
    // Burbon ->
    Процедура ПередЗавершениемРаботыСистемы(Отказ)
    
    //РаботаСВнешнимОборудованием
    МенеджерОборудованияКлиент.ПередЗавершениемРаботыСистемы();
    //Конец РаботаСВнешнимОборудованием
    
    // Burbon ->
    Ответ = Вопрос("Завершить работу с программой?", РежимДиалогаВопрос.ДаНет);
    Отказ = (Ответ = КодВозвратаДиалога.Нет);
    
    Если НЕ Отказ Тогда
    
    Если глКомпонентаОбменаСМобильнымиПриложениями <> Неопределено Тогда
    Попытка
    глКомпонентаОбменаСМобильнымиПриложениями.Отключить(0);
    Исключение
    ИмяСобытия = НСтр("ru='Ошибка при отключении компоненты обмена данными'");
    ОбщегоНазначения.ВыполнитьЗаписьВЖурналРегистрации(ИмяСобытия, "Ошибка",,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
    КонецПопытки;
    
    глКомпонентаОбменаСМобильнымиПриложениями = Неопределено;
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры 
    
  4. burbon
    Offline

    burbon Опытный в 1С

    Регистрация:
    5 май 2009
    Сообщения:
    228
    Симпатии:
    0
    Баллы:
    26
    Вот где искать!

    Вложения:

Поделиться этой страницей