Не відпрацьовують події карточки "Обращения" CancelButtonClick, DataSourceCanceled.

Маю задачу блокувати карточку "обращение" для паралельного відкриття.
Для реалізації задачі створив поле [LockedById].
В це поле прописується поточний користувач, що відкриває карточку, якщо поле не заповнене, якщо заповнене, то треба карточку відкривати тільки для прогляду.
При закритті карточки потрібно здійснювати перевірку поля [LockedById]:
якщо закриває той же користувач, що заблокував, то очистити поле, якщо інший - просто закрити.

Прописую блокувальника в скрипті [ChildPageLoadCompleteScript]. Тут все гаразд.

А от з закриттям карточки щось не клеїться:
Випробував події карточки: CancelButtonClick, DataSourceCanceled і подію реєстра звернень IncidentEditPageClosed - відпрацьовує натиснення [OK], а натиснення [Отмена] або [x] не проявляє себе у відповідних скриптах обробки.

Для контролю у відповідних скриптах я зробив відповідні вставки:

logString = @"
["
+ 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);

Нравится

3 комментария

Здравствуйте, Игорь!

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

Подписка на событие происходит в init базовой страницы редактирования.
Для подписки на закрытие окна, необходимо в клиентский javascript код добавить (Page.AddScript), в котором также добавить обработчик закрытия окна.
Обработчик должен отправить сообщение в процесс страницы (можно посмотреть по исходники приложения). Функция называется «throwMessage».

Дякую за інформацію :)

Показать все комментарии