Добрый день.
Возникла проблема по перехвату закрытия пользователем окна "крестиком" в бизнес процессе.
Вопрос, как реализовать этот перехват и пустить процесс по другой ветке?
Нравится
Илья, при закрытии окна "крестиком" бизнес-процесс прерывается. Продолжить выполнение бизнес-процесса возможно из раздела "Журнал процессов".
Возможно, для решения Вашей задачи подойдет элемент "Вопрос пользователю"?
Например, задается вопрос пользователю: "Открыть карточку редактирования контакта?". Если пользователь нажимает "Да" - процесс идет по одной ветке. Если пользователь нажимает "Нет" - по другой.
Илья, в таком случае необходимо получать от клиента событие закрытия окна и писать обработчик этого события для бизнес-процесса.
В базовой логике такого функционала не предусмотрено, такие события, как закрытие окна не обрабатываются в бизнес-процессе.
Можно попробовать создать в конфигуарции схему «исходный код», которая будет ловить клиентское нажатие на крестик.
namespace Terrasoft.Configuration { public static class Alert { public static string RenderScript() { return @"window.onbeforeunload = closingCode; function closingCode(){ alert(\"Нажат крестик!\"");
Код "window.onbeforeunload = closingCode" передбачає закриття вікна взагалі.
Там буде і [x], і [OK], і [Cancel].
Отже такий варіант не підійде, бо доведеться повністю переписувати обробку кнопок.