Серверные вызовы при завершении работы запрещены

1. besica 15.04.17 11:16 Сейчас в теме
Как в новой платформе с режимом совместимости "Не использовать" сохранить настройки формы при завершении работы без вопросов пользователю. Форма работает на базе конфигурации на БСП 2.3.5.36 и при закрытии формы по крестику все отлично отрабатывает, а вот как сделать чтобы и при закрытии 1С настройки сохранялись без дополнительных окошек и ошибок?
Пример кода это уже танцы с бубнами - видимо нужно как то "приостановить" Завершение работы - сохранить данные формы и снова вызвать Завершение работы - вопрос как? Или может это надо в как то по другому делать?

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


ЗаписатьИЗакрытьОповещение Только сохраняет настройки формы - но это уже серверный вызов
По теме из базы знаний
Найденные решения
5. besica 17.04.17 09:24 Сейчас в теме
Да уж, получается без дополнительного окна никак...
Действительно логику менять у многих моментов придется.
PS: http:// /news/2017-03-21-how2-correctly-close-forms-and-applications/
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Xershi 1555 15.04.17 15:12 Сейчас в теме
(1) гилевы недавно описали работу этого механизма. Посмотри их статью. Ссылку не буду искать на курсах по 1с точка рф ищи.
4. h00k 51 15.04.17 16:37 Сейчас в теме
(1)
Как в новой платформе с режимом совместимости "Не использовать" сохранить настройки формы при завершении работы без вопросов пользователю.

Без танцев с бубном - ни как. Разработчики платформы предлагают сохранять настройки сразу после изменения, чтобы к моменту закрытия платформы всё уже было сохранено.
2. ImHunter 327 15.04.17 15:00 Сейчас в теме
Может быть того, пересмотреть логику вызова сохранения настроек.
Наверняка в форме происходят какие-то значимые события - поиск какой-нить или сохранение/редактирование чего-то. Может на этих этапах и вписать сохранение настроек?
5. besica 17.04.17 09:24 Сейчас в теме
Да уж, получается без дополнительного окна никак...
Действительно логику менять у многих моментов придется.
PS: http:// /news/2017-03-21-how2-correctly-close-forms-and-applications/
6. sokol_6630 3 04.03.20 10:22 Сейчас в теме
Советую сохранять настройки на этапе "После изменения настроек"
7. Baszilio 3 19.09.21 22:18 Сейчас в теме
Прошу прощения за возможно ламерский вопрос... А что если я дёргаю сервер не для сохранения настроек, а например мне надо из модуля УП прочитать значение константы какой-то. Например посредством общего модуля. Как быть?
8. DiasA 7 01.06.22 09:06 Сейчас в теме
// реквизит : ФлагЗакрытиеФормы=Ложь;

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)

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

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

&НаКлиенте
Процедура ВыполнитьДляЗакрытия() Экспорт
ВашаПроцедураНаСервере();
ФлагЗакрытиеФормы = Истина;
ЭтаФорма.Закрыть();
КонецПроцедуры

&НаСервере
Процедура ВашаПроцедураНаСервере()
// ваш код на сервере
КонецПроцедуры
Сметанин; +1 Ответить
9. mikl79 119 17.02.23 12:15 Сейчас в теме
(8), Добрый день.
ВашаПроцедураНаСервере() выполнится только при ответе пользователя Продолжить работу,
а при ответе Завершить работу не сработает!
acces969; cleaner_it; +2 Ответить
10. ixijixi 1913 17.06.24 12:22 Сейчас в теме
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы()
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот