Добрый день!
Возможно ли (и как?)
В "модуле прикладной программы" в процедуре "ПриЗавершенииРаботыСистемы" или "ПередЗавершениемРаботыСистемы"
Нужно удалить запись независимого регистра сведений,
НО: "При завершении работы ЗАПРЕЩЕН СЕРВЕРНЫЙ ВЫЗОВ"
???
alex-l1904
23.08.23, 10:02
AnryMc @ Сегодня, 10:38 необходимо зарегистрироваться для просмотра ссылки
,
цитата з необходимо зарегистрироваться для просмотра ссылки
Сохранение данных при закрытии приложения
В платформе "1С:Предприятие" версии 8.3.8 и выше без использования режима совместимости изменилась модель завершения работы приложения.
Прежняя модель не поддерживала корректную работу в веб-клиенте в связи с имеющимися ограничениями браузеров.
При работе в рамках новой модели, в процессе завершения работы приложения запрещено открытие окон и выполнение серверных вызовов в следующих обработчиках:
ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>),
ПриЗавершенииРаботыСистемы(),
ПередЗакрытием(<Отказ>, <ЗавершениеРаботы>, <ТекстПредупреждения>, <СтандартнаяОбработка>),
ПриЗакрытии(<ЗавершениеРаботы>).
Согласно новой модели работы все несохраненные данные следует сохранять сразу, а не накапливать их до момента завершения работы системы. Если сохранение данных сразу невозможно, то предлагается следующий подход. Для каждой формы в обработчике ПередЗакрытием предупреждаем пользователя о наличии несохраненных данных. Если пользователь выбирает продолжить работу в приложении, сохраняем данные автоматически (или предлагаем сохранить вручную, нажатием кнопки Сохранить или аналогичной). В противном случае – приложение закрывается, а данные не сохраняются.
alex-l1904 @ Сегодня, 10:02 необходимо зарегистрироваться для просмотра ссылки
,
А как можно отследить что пользователь зашел в программу и корректно вышел (закрыл программу)?
З.Ы. Я хотел при входе в программу делать запись в РС: Пользователь / дата входа, а при выходе удалять её...
alex-l1904
23.08.23, 10:28
AnryMc @ Сегодня, 11:15 необходимо зарегистрироваться для просмотра ссылки
,
ось ще цитата з необходимо зарегистрироваться для просмотра ссылки
Решение однако лежит вообще в другой плоскости, а именно, в регламентном задании которое периодически будет опрашивать систему на активных пользователей, и фиксировать что такой то пользователь уже отсутствует в списке активных.
Для опроса системы у нас есть функция ПолучитьСеансыИнформационнойБазы(), которая возвращает массив сеансов. А для фиксации, что пользователя в сеансах уже нет нужно создавать новый регистр
Задача несколько иная...
При входе пользователя понять был предыдущий сеанс закрыт самим пользователем
или был убит процесс (закрыт сеанс при обновлении...)
Пока делаю так:
1) При входе пользователя пишу Дату/Время его входа
2) Если была предыдущая запись ищу в журнале регистрации МассивСобытий.Добавить("_$Session$_.Finish") после даты предыдущего входа
Но это тоже не совсем подходит, т.к. если в конфигураторе сделать обновление через "Завершить сеансы и обновить" (или закрыть сеанс в консоле 1С Администратор Сервера) то событие "Закрытие сеанса" будет в журнале, но вызвал его не пользователь выходя из программы...
Печалька ...
Мне надо отловить осознанное действие Пользователя - выход из программы!
alex-l1904
24.08.23, 16:22
AnryMc @ Вчера, 12:44 необходимо зарегистрироваться для просмотра ссылки
,
Якщо в конфігурації присутнє налаштування користувача
ЗапрашиватьПодтверждениеПриЗакрытии,
то можно спробувати свій код там додати...
Цитата(alex-l1904 @ 24.08.23, 17:22) необходимо зарегистрироваться для просмотра ссылки
то можно спробувати свій код там додати...
Цитата(AnryMc @ 23.08.23, 10:38) необходимо зарегистрироваться для просмотра ссылки
В "модуле прикладной программы" в процедуре "ПриЗавершенииРаботыСистемы" или "ПередЗавершениемРаботыСистемы"
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.