Серверные вызовы при завершении работы запрещены
Как в новой платформе с режимом совместимости "Не использовать" сохранить настройки формы при завершении работы без вопросов пользователю. Форма работает на базе конфигурации на БСП 2.3.5.36 и при закрытии формы по крестику все отлично отрабатывает, а вот как сделать чтобы и при закрытии 1С настройки сохранялись без дополнительных окошек и ошибок?
Пример кода это уже танцы с бубнами - видимо нужно как то "приостановить" Завершение работы - сохранить данные формы и снова вызвать Завершение работы - вопрос как? Или может это надо в как то по другому делать?
ЗаписатьИЗакрытьОповещение Только сохраняет настройки формы - но это уже серверный вызов
Пример кода это уже танцы с бубнами - видимо нужно как то "приостановить" Завершение работы - сохранить данные формы и снова вызвать Завершение работы - вопрос как? Или может это надо в как то по другому делать?
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если Модифицированность Тогда
Оповещение = Новый ОписаниеОповещения("ЗаписатьИЗакрытьОповещение", ЭтотОбъект);
Если ЗавершениеРаботы Тогда
//Возврат;
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы(Оповещение, Отказ, Ложь);
Иначе
ВыполнитьОбработкуОповещения(Оповещение);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьЗаписатьИЗакрытьОповещение Только сохраняет настройки формы - но это уже серверный вызов
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Без танцев с бубном - ни как. Разработчики платформы предлагают сохранять настройки сразу после изменения, чтобы к моменту закрытия платформы всё уже было сохранено.
Как в новой платформе с режимом совместимости "Не использовать" сохранить настройки формы при завершении работы без вопросов пользователю.
Без танцев с бубном - ни как. Разработчики платформы предлагают сохранять настройки сразу после изменения, чтобы к моменту закрытия платформы всё уже было сохранено.
Может быть того, пересмотреть логику вызова сохранения настроек.
Наверняка в форме происходят какие-то значимые события - поиск какой-нить или сохранение/редактирование чего-то. Может на этих этапах и вписать сохранение настроек?
Наверняка в форме происходят какие-то значимые события - поиск какой-нить или сохранение/редактирование чего-то. Может на этих этапах и вписать сохранение настроек?
Прошу прощения за возможно ламерский вопрос... А что если я дёргаю сервер не для сохранения настроек, а например мне надо из модуля УП прочитать значение константы какой-то. Например посредством общего модуля. Как быть?
// реквизит : ФлагЗакрытиеФормы=Ложь;
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если НЕ ФлагЗакрытиеФормы Тогда
Отказ = Истина;
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("ВыполнитьДляЗакрытия", 0.1, Истина);
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьДляЗакрытия() Экспорт
ВашаПроцедураНаСервере();
ФлагЗакрытиеФормы = Истина;
ЭтаФорма.Закрыть();
КонецПроцедуры
&НаСервере
Процедура ВашаПроцедураНаСервере()
// ваш код на сервере
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если НЕ ФлагЗакрытиеФормы Тогда
Отказ = Истина;
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("ВыполнитьДляЗакрытия", 0.1, Истина);
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьДляЗакрытия() Экспорт
ВашаПроцедураНаСервере();
ФлагЗакрытиеФормы = Истина;
ЭтаФорма.Закрыть();
КонецПроцедуры
&НаСервере
Процедура ВашаПроцедураНаСервере()
// ваш код на сервере
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот