Обработка события изменения состояния карточки
При изменении состояния карточки из пользовательского интерфейса Web-клиента вызывается событие Перед изменением состояния карточки
разметки карточки (корневой элемент разметки), которое может быть обработано в клиентском скрипте.
Ссылка на пример на GitHub: ChangeStateByScript.
Данное событие является прерываемым — может быть использовано для отмены изменения состояния карточки.
Ниже приведён код обработчика события изменения состояния карточки (Документ, Задание):
async function changeState(sender: Layout, e: CancelableEventArgs<ICardStateChangingEventArgs>) {
e.wait();
if (await myCheckPossibility()){ (1)
e.accept(); (2)
} else {
sender.getService($MessageWindow).showWarning("Операция " + e.data.operationId + " запрещена"); (3)
e.cancel(); (4)
}
}
1 | Функция myCheckPossibility — пользовательский код, содержащий собственную логику. |
2 | Подтверждаем выполнение операции. Обязательно, если вызвали e.wait . |
3 | Показываем сообщение о запрете операции с указанием идентификатора операции. |
4 | Для отмены операции, при необходимости, вызываем e.cancel . |
Для карточки Задание после изменения состояния карточки будет вызвано событие После изменения состояния карточки
элемента управления Кнопки операций задания
.