Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Серверный вызов при выходе из программы          
AnryMc Подменю пользователя
сообщение 23.08.23, 9:38
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 362
Спасибо сказали: 99 раз
Рейтинг: 100.6

Добрый день!

Возможно ли (и как?)

В "модуле прикладной программы" в процедуре "ПриЗавершенииРаботыСистемы" или "ПередЗавершениемРаботыСистемы"

Нужно удалить запись независимого регистра сведений,

НО: "При завершении работы ЗАПРЕЩЕН СЕРВЕРНЫЙ ВЫЗОВ"

???

alex-l1904 Подменю пользователя
сообщение 23.08.23, 10:02
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

AnryMc @ Сегодня, 10:38 * ,
цитата з [необходимо зарегистрироваться для просмотра ссылки]

Сохранение данных при закрытии приложения
В платформе "1С:Предприятие" версии 8.3.8 и выше без использования режима совместимости изменилась модель завершения работы приложения.

Прежняя модель не поддерживала корректную работу в веб-клиенте в связи с имеющимися ограничениями браузеров.

При работе в рамках новой модели, в процессе завершения работы приложения запрещено открытие окон и выполнение серверных вызовов в следующих обработчиках:

ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>),
ПриЗавершенииРаботыСистемы(),
ПередЗакрытием(<Отказ>, <ЗавершениеРаботы>, <ТекстПредупреждения>, <СтандартнаяОбработка>),
ПриЗакрытии(<ЗавершениеРаботы>).
Согласно новой модели работы все несохраненные данные следует сохранять сразу, а не накапливать их до момента завершения работы системы. Если сохранение данных сразу невозможно, то предлагается следующий подход. Для каждой формы в обработчике ПередЗакрытием предупреждаем пользователя о наличии несохраненных данных. Если пользователь выбирает продолжить работу в приложении, сохраняем данные автоматически (или предлагаем сохранить вручную, нажатием кнопки Сохранить или аналогичной). В противном случае – приложение закрывается, а данные не сохраняются.

AnryMc Подменю пользователя
сообщение 23.08.23, 10:15
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 362
Спасибо сказали: 99 раз
Рейтинг: 100.6

alex-l1904 @ Сегодня, 10:02 * ,

А как можно отследить что пользователь зашел в программу и корректно вышел (закрыл программу)?

З.Ы. Я хотел при входе в программу делать запись в РС: Пользователь / дата входа, а при выходе удалять её...

Сообщение отредактировал AnryMc - 23.08.23, 10:16

alex-l1904 Подменю пользователя
сообщение 23.08.23, 10:28
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

AnryMc @ Сегодня, 11:15 * ,
ось ще цитата з [необходимо зарегистрироваться для просмотра ссылки]

Решение однако лежит вообще в другой плоскости, а именно, в регламентном задании которое периодически будет опрашивать систему на активных пользователей, и фиксировать что такой то пользователь уже отсутствует в списке активных.

Для опроса системы у нас есть функция ПолучитьСеансыИнформационнойБазы(), которая возвращает массив сеансов. А для фиксации, что пользователя в сеансах уже нет нужно создавать новый регистр

AnryMc Подменю пользователя
сообщение 23.08.23, 11:44
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 362
Спасибо сказали: 99 раз
Рейтинг: 100.6

Задача несколько иная...

При входе пользователя понять был предыдущий сеанс закрыт самим пользователем
или был убит процесс (закрыт сеанс при обновлении...)

Пока делаю так:
1) При входе пользователя пишу Дату/Время его входа
2) Если была предыдущая запись ищу в журнале регистрации МассивСобытий.Добавить("_$Session$_.Finish") после даты предыдущего входа

Но это тоже не совсем подходит, т.к. если в конфигураторе сделать обновление через "Завершить сеансы и обновить" (или закрыть сеанс в консоле 1С Администратор Сервера) то событие "Закрытие сеанса" будет в журнале, но вызвал его не пользователь выходя из программы...

Печалька ...

Мне надо отловить осознанное действие Пользователя - выход из программы!

alex-l1904 Подменю пользователя
сообщение 24.08.23, 16:22
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

AnryMc @ Вчера, 12:44 * ,

Якщо в конфігурації присутнє налаштування користувача

ЗапрашиватьПодтверждениеПриЗакрытии,

то можно спробувати свій код там додати...

AnryMc Подменю пользователя
сообщение 28.08.23, 10:13
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 362
Спасибо сказали: 99 раз
Рейтинг: 100.6

Цитата(alex-l1904 @ 24.08.23, 17:22) *
то можно спробувати свій код там додати...



Цитата(AnryMc @ 23.08.23, 10:38) *
В "модуле прикладной программы" в процедуре "ПриЗавершенииРаботыСистемы" или "ПередЗавершениемРаботыСистемы"


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.06.24, 11:37
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!