Не відпрацьовують події карточки "Обращения" CancelButtonClick, DataSourceCanceled.
Маю задачу блокувати карточку "обращение" для паралельного відкриття.
Для реалізації задачі створив поле [LockedById].
В це поле прописується поточний користувач, що відкриває карточку, якщо поле не заповнене, якщо заповнене, то треба карточку відкривати тільки для прогляду.
При закритті карточки потрібно здійснювати перевірку поля [LockedById]:
якщо закриває той же користувач, що заблокував, то очистити поле, якщо інший - просто закрити.
Прописую блокувальника в скрипті [ChildPageLoadCompleteScript]. Тут все гаразд.
А от з закриттям карточки щось не клеїться:
Випробував події карточки: CancelButtonClick, DataSourceCanceled і подію реєстра звернень IncidentEditPageClosed - відпрацьовує натиснення [OK], а натиснення [Отмена] або [x] не проявляє себе у відповідних скриптах обробки.
Для контролю у відповідних скриптах я зробив відповідні вставки:
[" + System.DateTime.Now.ToString() + @"] [IncidentEditPageClosedScriptExecute] [0.1]
id: " + id.ToString() + @"
entity.SchemaName: " + entity.SchemaName;
System.IO.File.AppendAllText("C:\\inetpub\\wwwroot\\BPMOnline\\ServiceRequestCardOpenLog\\Log.txt", logString);
Нравится
Подписка на событие происходит в init базовой страницы редактирования.
Для подписки на закрытие окна, необходимо в клиентский javascript код добавить (Page.AddScript), в котором также добавить обработчик закрытия окна.
Обработчик должен отправить сообщение в процесс страницы (можно посмотреть по исходники приложения). Функция называется «throwMessage».