8.х Перед закрытие программу спросить пользователя

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем Эмиль0690, 27 авг 2014.

  1. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Добрый день!
    Люди есть какой нибудь пример чтоб программа перед закрытие спросил пользователя? Завершить работу?
    Спасибо!
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    В настройках программы ищите.
  3. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Можно прописать в "Модуле обычного приложения":
    Код:
    Процедура ПередЗавершениемРаботыСистемы(Отказ)
            
        Если УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"),"ЗапрашиватьПодтверждениеПриЗакрытии") Тогда
            Ответ = Вопрос("Завершить работу с программой?", РежимДиалогаВопрос.ДаНет);
            Отказ = (Ответ = КодВозвратаДиалога.Нет);
        КонецЕсли;   
    КонецПроцедуры
  4. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    в типовых это например штатный механизм, но юзер сам может отключить его, там на форме вопроса есть галочка, показывать это в дальнейшем или нет
    --- Объединение сообщений, 27 авг 2014 ---
    в типовых это например штатный механизм, но юзер сам может отключить его, там на форме вопроса есть галочка, показывать это в дальнейшем или нет
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Настройки пользователя -> другие настройки -> запрашивать подтверждение при закрытии программы.
  6. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    а где находится "Модуле обычного приложения" т.е это в Общие модули?
    --- Объединение сообщений, 27 авг 2014 ---
    Настройки пользователя в каком вкладке? нету такое Настройки пользователя
  7. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    ПКМ по конфигурации, см. рис.

    Вложения:

    • 1111.png
      1111.png
      Размер файла:
      23,1 КБ
      Просмотров:
      21
    Последнее редактирование: 27 авг 2014
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Вам осталось уточнить конфигурацию в которой работаете.
  9. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Личный конфиг
  10. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    У МЕНЯ НЕТУ Модуль обычного приложения
    upload_2014-8-27_16-50-32.png

    Вложения:

  11. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    У Вас конфа на управляемых формах... Вам нужен "Модуль управляемого приложения", там можно добавить:
    Код:
    Процедура ПередЗавершениемРаботыСистемы(Отказ = Ложь, Знач ОповещениеЗавершения = Неопределено) Экспорт
    Возьмите какую-нибудь типовую конфу на управляемых формах(БП-3.0, ЗУП-3.0, УТ-11...), посмотрите как в них реализовано...
  12. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    ошибка
    Код:
    {МодульУправляемогоПриложения(19,1)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure') (Проверка: Тонкий клиент)
    
    после как поставил КонецПроцедуры ошибки не но не работает
    Код:
    Процедура ПередЗавершениемРаботыСистемы
        (Отказ = Ложь, Знач ОповещениеЗавершения = Неопределено) Экспорт 
       
    КонецПроцедуры
    
    а код в типовом УТ-11
    Код:
       
        Процедура ПередЗавершениемРаботыСистемы(Отказ)
       
        // СтандартныеПодсистемы
        СтандартныеПодсистемыКлиент.ДействияПередЗавершениемРаботыСистемы(Отказ);
        // Конец СтандартныеПодсистемы
       
    КонецПроцедуры
    
    вставил работает но ошибку странную дает
    upload_2014-8-28_8-20-55.png
    как можно исправить чтоб по человеческим языком спросил?
    --- Объединение сообщений, 28 авг 2014 ---
    и в этой ошибки нет отмены если закрыть ошибку и программа автоматом закрывается!
    Последнее редактирование: 28 авг 2014
  13. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    СтандартныеПодсистемыКлиент - это общий модуль!!
    ДействияПередЗавершениемРаботыСистемы - процедура в этом общем модуле, она у вас там отсутствует....
  14. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    код в СтандартныеПодсистемыКлиент - это общий модуль
    Код:
    // Возвращает структуру параметров, необходимых для работы
    // конфигурации на клиенте при завершении, т.е. в обработчиках событий
    // - ПередЗавершениемРаботыСистемы,
    // - ПриЗавершенииРаботыСистемы
    //
    // Возвращаемое значение:
    //   ФиксированнаяСтруктура - структура параметров работы клиента при завершении.
    //
    Функция ПараметрыРаботыКлиентаПриЗавершении() Экспорт
       
        Если ПараметрыРаботыКлиентаПриЗавершении = Неопределено Тогда
            ПараметрыРаботыКлиентаПриЗавершении = СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиентаПриЗавершении();
        КонецЕсли;
       
        Возврат ПараметрыРаботыКлиентаПриЗавершении;
       
    КонецФункции
    
    ошибка
    Код:
    {ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(12,7)}: Переменная не определена (ПараметрыРаботыКлиентаПриЗавершении)
        Если <<?>>ПараметрыРаботыКлиентаПриЗавершении = Неопределено Тогда (Проверка: Тонкий клиент)
    {ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(13,41)}: Переменная не определена (СтандартныеПодсистемыВызовСервера)
            ПараметрыРаботыКлиентаПриЗавершении = <<?>>СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиентаПриЗавершении(); (Проверка: Тонкий клиент)
    
  15. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Код:
    Процедура ПередЗавершениемРаботыСистемы(Отказ)   
        Ответ = Вопрос("Завершить работу с программой_____?", РежимДиалогаВопрос.ДаНет);
        Отказ = (Ответ = КодВозвратаДиалога.Нет);   
    КонецПроцедуры
    - работает, правда выходит сообщение(в режиме ТАКСИ) - "Использование модальных окон в данном режиме запрещено"
  16. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    в ут11 в модуле управляемого приложения и в модуле обычного приложения (там оба есть)

    // Признак того, что в данном сеансе не нужно запрашивать стандартное подтверждение при выходе
    Перем ПропуститьПредупреждениеПередЗавершениемРаботыСистемы Экспорт;

    Процедура ПередЗавершениемРаботыСистемы(Отказ)

    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.ПередЗавершениемРаботыСистемы(Отказ);
    // Конец СтандартныеПодсистемы

    КонецПроцедуры
    --- Объединение сообщений, 28 авг 2014 ---
    а на счё1
  17. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    у ТС нет общих модулей из УТ... конфа самописная
  18. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    я помню
    --- Объединение сообщений, 28 авг 2014 ---
    а на счёт вывода вопроса юзеру:
    Код:
    // Показывает пользователю диалог подтверждения выхода из программы.
    Процедура ВопросПользователюПередЗавершениемРаботыСистемы(Параметры, ОбработкаОтвета) Экспорт
      
        Кнопки = Новый СписокЗначений;
        Кнопки.Добавить("КодВозвратаДиалога.Да",  НСтр("ru = 'Завершить'"));
        Кнопки.Добавить("КодВозвратаДиалога.Нет", НСтр("ru = 'Отмена'"));
      
        ПараметрыВопроса = ПараметрыВопросаПользователю();
        ПараметрыВопроса.БлокироватьВесьИнтерфейс = Истина;
        ПараметрыВопроса.КнопкаПоУмолчанию = "КодВозвратаДиалога.Да";
        ПараметрыВопроса.Заголовок = НСтр("ru = 'Завершение работы'");
        ПараметрыВопроса.БольшеНеЗадаватьЭтотВопрос = Ложь;
      
        ПоказатьВопросПользователю(ОбработкаОтвета, НСтр("ru = 'Завершить работу с программой?'"), Кнопки, ПараметрыВопроса);
      
    КонецПроцедуры
    
  19. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    код #15 супер работает Спасибо!
    можно ли изменить кнопки на yes no либо на другие языки?
  20. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
Похожие темы
  1. Uragan
    Ответов:
    4
    Просмотров:
    1.205
  2. Uragan
    Ответов:
    15
    Просмотров:
    1.276
  3. BanCone
    Ответов:
    5
    Просмотров:
    1.059
  4. m_vokhm
    Ответов:
    0
    Просмотров:
    956
  5. Raviolo
    Ответов:
    1
    Просмотров:
    592
Загрузка...

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