Действия при отказе от завершения работы системы

1. GinGitsune 30.01.23 11:34 Сейчас в теме
От пользователей поступил запрос: можно ли перед завершением работы уведомлять о наличии приостановленных заданий и перекидывать в список таких заданий?

Хотелось бы, чтобы при завершении работы вместо стандартного вопроса был: "имеются незавершенные задания. Завершить работу программы?" и, соответственно, по отказу от завершения открывалась необходимая форма списка.

Я не очень понимаю откуда начинать решать задачу (и имеет ли она вообще решение), а в БСП еще не слишком сильна, ноесть подозрение, что начинать надо оттуда.
Найденные решения
6. spacecraft 30.01.23 13:26 Сейчас в теме
(5) можно взять за основу вариант из (2)
Перем Закрывать;

Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
	Если НЕ Закрывать Тогда
		Отказ = Истина;
		ТекстПредупреждения = "имеются незавершенные задания. Завершить работу программы?";
		ПодключитьОбработчикОжидания("ДействиеПриЗавершенииПрограммы",0.1,Истина);
		Закрывать = Истина;
	КонецЕсли;
	
КонецПроцедуры

Процедура ДействиеПриЗавершенииПрограммы() Экспорт
	ОткрытьФорму("Обработка.ОбработкаЗакрытияПрограммы.Форма");
КонецПроцедуры

Закрывать = Ложь;
Показать
GinGitsune; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 2808 30.01.23 12:02 Сейчас в теме
При завершении работы нельзя, если мне правильно помнится, серверные вызовы дергать. и формы открывать.

Я бы как-то так сделал:

Модуль приложения:
Перем Т Экспорт;

Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
	Если НЕ Т Тогда 
		Отказ = Истина; 
		Т = Истина;
		ТекстПредупреждения = "Ай-ай-ай!";
	КонецЕсли;
КонецПроцедуры

Т = Ложь;
Показать

Ну а дальше в форме при закрытии где-то там "Т" проверял на истинность. Если истина, то типа форму открыть и все такое.
GinGitsune; +1 Ответить
3. spacecraft 30.01.23 12:53 Сейчас в теме
(1) Окно о закрытии будет выводиться всегда. Тут никак от него не избавиться. Соответственно пользователь может нажать закрыть и программа завершится.
Можно назначить на выбор варианта "Продолжить работу" открытие нужной формы.

(2)
Отказ = Истина;

В данном случае не избавит от показа окна завершения работы и возможности завершить работу программы.
4. starik-2005 2808 30.01.23 13:09 Сейчас в теме
(3)
не избавит от ... возможности завершить работу
А это кому-то надо было? Пользователь должен увидеть, что есть еще порох в пороховницах, поэтому продолжаем стрелять (ну или "негры, солнце еще высоко")
GinGitsune; +1 Ответить
5. GinGitsune 30.01.23 13:16 Сейчас в теме
(3) вот! это именно то, что я бы хотела сделать, + подкорректировать текст в окне о закрытии.
то есть это в принципе возможно, уже хорошо)
осталось понять, как сделать так чтобы это заработало и ничего не сломало)
6. spacecraft 30.01.23 13:26 Сейчас в теме
(5) можно взять за основу вариант из (2)
Перем Закрывать;

Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
	Если НЕ Закрывать Тогда
		Отказ = Истина;
		ТекстПредупреждения = "имеются незавершенные задания. Завершить работу программы?";
		ПодключитьОбработчикОжидания("ДействиеПриЗавершенииПрограммы",0.1,Истина);
		Закрывать = Истина;
	КонецЕсли;
	
КонецПроцедуры

Процедура ДействиеПриЗавершенииПрограммы() Экспорт
	ОткрытьФорму("Обработка.ОбработкаЗакрытияПрограммы.Форма");
КонецПроцедуры

Закрывать = Ложь;
Показать
GinGitsune; +1 Ответить
8. GinGitsune 30.01.23 14:13 Сейчас в теме
(6) Спасибо! Это решение работает именно так, как мне бы хотелось!
7. vadim1011985 93 30.01.23 13:28 Сейчас в теме
Посмотрите модуль приложения функцию ПередЗавершениемРаботыСистемы а также СтандартныеПодсистемыКлиент.ПередЗавершениемРаботыСистемы
GinGitsune; +1 Ответить
Оставьте свое сообщение
Вакансии
Разработчик
Москва
зарплата от 150 000 руб. до 170 000 руб.
Полный день

Аналитик 1С
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 170 000 руб.
Полный день

Ведущий Инженер - программист 1С
Новокузнецк
зарплата от 100 000 руб.
Полный день

Программист
Москва
зарплата от 200 000 руб. до 230 000 руб.
Полный день