Как бороться с "Серверные вызовы при завершении работы запрещены"? #804106


#0 by DTX 4th
При закрытии обработки сохраняю настройки в хранилище. Всё ок, но если попытаться закрыть 1С при открытой обработке, появляется ошибка "Серверные вызовы при завершении работы запрещены" Можно как-нибудь обойти? Не сохранять же настройки при каждом изменении
#1 by Господин ПЖ
в ОФ все реализовано
#2 by Мыш
Если в ПриЗакрытии выполняется сохранение настроек формы, то следует отказаться от обработчика ПриЗакрытии и перенести этот код в обработчики событий, вызываемые при действиях пользователя. Было: &НаКлиенте Стало: &НаСервере     ... КонецПроцедуры Если событие, которое возникает при действиях пользователя, вызывается на стороне клиента, рекомендуется выполнять сохранение настроек в безконтекстном серверном вызове, чтобы избежать перерисовки формы: &НаКлиенте
#3 by Мыш
Копипаста отсюда:
#4 by Вафель
Теперь принято сохранять настройки не при закрытии, а при изменении настроек
#5 by DTX 4th
Т.е. если у меня есть большая ТЧ с настройками, то мне её при каждом чихе (по окончанию редактирования строки) сохранять надо?? Ужс. За инфу спасибо.
#6 by Вафель
не сохраняй всю тз, разбей ее на блоки. настройки лучше поштучно хранить
#7 by DTX 4th
В тз у меня, например, суммы тарифов в зависимости от количества документов. Т.е. будут строки вида: до 1 дока - 100 р до 2 доков - 150 р до 5 доков - 300 р и т.д. Тут нечего разбивать на блоки. Ну или например у меня на форме поле Контрагент, которое нужно сохранить для всех пользователей. Это получается, что при каждом изменении нужно на сервер бегать. Не понимаю.
#8 by Вафель
Пишите письма (в спортлото)
#9 by ildary
Добро пожаловать в мир управляемых форм. Пилотам Апача еще тяжелей - у них глаза привыкают смотреть в разные стороны - один смотрит куда летит, второй - куда стреляет.
#10 by DTX 4th
Я сделаль!
#11 by Вафель
но ничего не сохранится ведь
#12 by Мыш
Прекратите. Это совершенно не важно. Пользователь не заметит, свинья не съест )
#13 by Фрэнки
Типовая КА 2.2 время от времени отображает такое сообщение, хотя ни строчки кода не изменено
#14 by DTX 4th
При завершении работы вылезет окно "Работа в данном окне не завершена". Далее пользователь жмёт "Продолжить работу", закрывает форму обработку, закрывает 1С. Если нажмёт "Завершить работу", то да, ничего не сохранится, но его предупреждали) Писать в каждый элемент процедуру "ПриИзменении", по-моему, та ещё дичь.
#15 by DTX 4th
Добавил немного UX)
#16 by Torquader
А если сделать отказ от закрытия, сохранить настройки - поднять флаг возможности сохранения и снова выполнить "завершить работу" ?
#17 by craxx
Вот именно так я и делал! По другому не выходит
#18 by craxx
+ обработку ожидания секундную разовую, в которой все закрывалось с флагом без сохранения
#19 by jsmith82
Силён.
#20 by mistеr
>В тз у меня, например, суммы тарифов в зависимости от количества документов К слову, это уже не настройки пользователя, эти данные должны жить в базе. А вообще, это конечно проблема. Точнее недоработка платформы. Со времени появления веб клиента прогресс не стоял на месте. В браузерах появились веб воркеры и прочие ништяки. Можно уже реализовать и сохранение настроек в фоне после закрытия формы, и асинхронную загрузку гигабайтных файлов из соседней темы.
#21 by DTX 4th
Так программно отказ от закрытия не сделать. Но вроде неплохой вариант. >К слову, это уже не настройки пользователя, эти данные должны жить в базе. В типовой? В хранилище общих настроек? Прост один и тот же файл может быть использован в разных базах.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С