Имя: Пароль:
1C
1С v8
Немодальные вопросы в 1с83?
0 program345
 
17.02.15
13:03
доброго дня!

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

    
КонецПроцедуры

//

//общий мод
&НаКлиенте
Процедура ПриВыходеИзСистемы(Результат, Параметры) Экспорт
    
    Если Результат = КодВозвратаДиалога.Да Тогда
        //ЗавершитьРаботуСистемы(Ложь);
    Иначе
        Сообщить("правильно, продолжай работать!");
    КонецЕсли;

КонецПроцедуры // ПриВходеВСистему()

//

при данном коде выбрасывает из 1С, и даже в общий модуль не заходит... Почему?
1 РеализоВано
 
17.02.15
13:08
А где его вызов?!
2 program345
 
17.02.15
13:11
наспех решено модально:

Процедура ПередЗавершениемРаботыСистемы(Отказ)
    Если Час(ТекущаяДата())>9 И Час(ТекущаяДата())<18 Тогда
        
        
         Ответ = Вопрос("Вы уверены что хотите выйти (солнце еще высоко?)",РежимДиалогаВопрос.ДаНет,0);
         Если Ответ = КодВозвратаДиалога.Нет Тогда
        
             Отказ = Истина;
                     
         КонецЕсли;
        
    КонецЕсли;

    
КонецПроцедуры
3 РеализоВано
 
17.02.15
13:14
Я правильно понимаю что хотите вызвать процедуру?
общийМод.ПриВыходеИзСистемы
4 GROOVY
 
17.02.15
13:15
(0) Так отказа то нет. Вот оно и вылетает из программы до передачи вызова общему модулю.
5 program345
 
17.02.15
13:17
решено:
// мод упр прил
Процедура ПередЗавершениемРаботыСистемы(Отказ)
    Если Час(ТекущаяДата())>9 И Час(ТекущаяДата())<18 Тогда
         Отказ = Истина;
         Оп = Новый ОписаниеОповещения("ПриВыходеИзСистемы",ОбщийМодуль1);
         ПоказатьВопрос(Оп,"Вы уверены что хотите выйти (солнце еще высоко?)",РежимДиалогаВопрос.ДаНет,0);
        
        
         //Ответ = Вопрос("Вы уверены что хотите выйти (солнце еще высоко?)",РежимДиалогаВопрос.ДаНет,0);
         //Если Ответ = КодВозвратаДиалога.Нет Тогда
         //
         //    Отказ = Истина;
         //            
         //КонецЕсли;
        
    КонецЕсли;

    
КонецПроцедуры

//

//
&НаКлиенте
Процедура ПриВыходеИзСистемы(Результат, Параметры) Экспорт
    
    Если Результат = КодВозвратаДиалога.Да Тогда
        ЗавершитьРаботуСистемы(Ложь);
    Иначе
        Сообщить("правильно, продолжай работать!");
    КонецЕсли;

КонецПроцедуры // ПриВходеВСистему()

//
6 program345
 
17.02.15
13:17
(4) спасибо,после прочитал
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.