Files

50 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2026-05-06 13:35:47 -03:00
---
title: Tratamento de exceções
source: https://tdn.totvs.com/pages/viewpage.action?pageId=270921008
path: \Plataforma Documentação técnica\Desenvolvimento sobre a plataforma\Desenvolvimento de Eventos\Tratamento de exceções.md
---
As exceções podem ser tratadas nos seguintes eventos: *beforeStateEntry, beforeTaskSave* e *beforeCancelProcess*. O tratamento de exceção no evento *beforeStateEntry* pode ser utilizado na inicialização de solicitações, pois ele impede que a solicitação seja iniciada. Em contrapartida o tratamento de exceção no evento *beforeTaskSave* pode ser utilizado somente se a solicitação já estiver inicializada.
Abaixo é apresentado os modelos para utilização em cada um dos eventos:
```
function beforeStateEntry(sequenceId) {
var activity = getValue("WKNumState");
if (activity == 0 || activity == 1) {
//Outra condição.
throw "TRATAMENTO DE EXCEÇÃO";
}
}
function beforeTaskSave(colleagueId, nextSequenceId, userList) {
var activity = getValue("WKNumState");
if (activity != 0 && activity != 1) {
//Outra condição
throw "TRATAMENTO DE EXCEÇÃO";
}
}
function beforeCancelProcess(colleagueId, processId) {
//Condição.
throw "TRATAMENTO DE EXCEÇÃO";
}
```
É possível consultar o campo Observação de uma solicitação de processo, verificando se ele foi preenchido ou não. Para isto, é necessário validar a propriedade *WKUserComment* no evento *beforeTaskSave* ou no evento *beforeCancelProcess*.
**Exemplo:**
```
function beforeTaskSave(colleagueId, nextSequenceId, userList) {
if (getValue("WKUserComment") == null || getValue("WKUserComment") == "") {
throw "A observação deve ser preenchida";
}
}
function beforeCancelProcess(colleagueId, processId) {
if (getValue("WKUserComment") == null || getValue("WKUserComment") == "") {
throw "A observação deve ser preenchida";
}
}
```