Сохранение данных при закрытии приложения

Печать (Ctrl+P)

Методические рекомендации

В платформе “1С:Предприятие” версии 8.3.8 и выше без использования режима совместимости изменилась модель завершения работы приложения.

Прежняя модель не поддерживала корректную работу в веб-клиенте в связи с имеющимися ограничениями браузеров.

При работе в рамках новой модели,  в процессе завершения работы приложения запрещено открытие окон  и выполнение серверных вызовов в следующих обработчиках:

  • ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>),
  • ПриЗавершенииРаботыСистемы(),
  • ПередЗакрытием(<Отказ>, <ЗавершениеРаботы>, <ТекстПредупреждения>, <СтандартнаяОбработка>),
  • ПриЗакрытии(<ЗавершениеРаботы>).

Согласно новой модели работы все несохраненные данные следует сохранять сразу, а не накапливать их до момента завершения работы системы. Если сохранение данных сразу невозможно, то предлагается следующий подход. Для каждой формы в обработчике ПередЗакрытием предупреждаем пользователя о наличии несохраненных данных. Если пользователь выбирает продолжить работу в приложении, сохраняем данные автоматически (или предлагаем сохранить вручную, нажатием кнопки Сохранить или аналогичной). В противном случае – приложение закрывается, а данные не сохраняются.

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

Автор публикации

не в сети 2 недели

master1c8

0
Комментарии: 11Публикации: 426Регистрация: 25-12-2016

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.