Имя: Пароль:
1C
1С v8
Веб клиент - отловить закрытие вкладки
0 seperblunt2
 
08.12.21
10:37
Добрый день!

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

нельзя ли чтото придумать?
1 acht
 
08.12.21
10:40
2 lodger
 
08.12.21
10:46
(1) они стебутся, да?
&НаСервере
Процедура СохранениеНесохраненныхДанныхНаСервере()
    Сообщить("Данные сохранены.");
КонецПроцедуры
3 acht
 
08.12.21
10:51
(2) Уже давно. А еще они ненавидят Ивановых - https://its.1c.ru/db/v8std/content/456/hdoc

    Если Истина Тогда
        // Иванов: доделать
    КонецЕсли;
4 mistеr
 
08.12.21
11:54
(0) В браузерах необходимый API для предупреждений при закрытии давно есть. Использует ли его веб клиент 1С — хз. Скорее всего пытается, но что-то мешает.
5 pechkin
 
08.12.21
12:05
Кстати а почему запретили сервер вызывать? что мешало им самим в платформе сделать (1)
6 acht
 
08.12.21
12:13
(5) Как вариант - банальная асинхронность javascript. Из при вызове из обработчика unload в браузере результат возвращать-то особо и некуда.
7 pechkin
 
08.12.21
12:14
(6) ну так в браузере вызывается BeforeUnload
8 acht
 
08.12.21
12:20
(7) https://developer.mozilla.org/ru/docs/Web/API/WindowEventHandlers/onbeforeunload

    Также необходимо отметить, что различные мобильные браузеры
    игнорируют результат этого события (это является причиной,
    почему они не запрашивают подтверждения пользователя).
    Firefox имеет скрытую настройку в about:config для того,
    чтобы вести себя также. В сущности это значит, что пользователь
    постоянно подтверждает, что документ может быть выгружен.

И т.д. и т.п. Ну не смогла 1С усидеть широкой жопой на всех стульях, хоть и хотела. Пришлось жопу в другие места пристраивать. Вот, в архитектуру кусочек попал.
2 + 2 = 3.9999999999999999999999999999999...