Histórico da Página
Índice | ||||||
---|---|---|---|---|---|---|
|
...
As exceções podem ser tratadas utilizando o comando throw. Este comando retornará uma mensagem ao usuário ao tentar salvar o documento.
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
function validateCustomMetadata (fields){ if( fields.getValue("campo1") == "Area 1"){ throw "TRATAMENTO DA EXCEÇÃO"; } } |
...
Utilizado quando é preciso fazer validação customizada nas propriedades da tela de publicação/edição de documentos antes de salva-lo no banco de dados. Dentre todas as propriedades da tela de publicação/edição de documentos não serão tratados os campos customizados, pois já existe um evento que trata esta situação.
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeDocumentPublisher(){ } |
São disponibilizadas algumas propriedades referentes ao documento que esta sendo criado ou editado, porem somente para consulta através do método getValue.
Propriedade | Descrição | Tipo |
---|---|---|
WKDocument | Objeto do Documento | DocumentDto |
WKSubject | Descrição do Assunto do documento | String |
WKListApprover | Lista dos Aprovadores do documento | List<ApproverDto> |
WKListSecurity | Lista com a segurança do documento | List <DocumentSecurityConfigDto> |
WKListRelatedDocument | Lista com os documentos relacionados ao documento | List< RelatedDocumentDto> |
WKState | Estado da ação: PUBLISH ou MODIFY | String |
WKUser | Usuário logado | String |
WKCompany | Código da Empresa | int |
Nota |
---|
Os objetos Dto’s serão explicados no capítulo “Objetos utilizados nos eventos” |
O produto retorna null quando for necessário pegar umas das propriedades do documento que não exista.
Por exemplo: Nem todos os documentos publicados tem aprovador, então a variável WKListApprover só terá informações quando realmente existirem aprovadores na publicação.
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
unction beforeDocumentPublisher(){
var doc = getValue("WKDocument");
var subject = getValue("WKSubject");
var listApprover = getValue("WKListApprover");
var listSeg = getValue("WKListSecurity");
var listRelated = getValue("WKListRelatedDocument");
var state = getValue("WKState");
var user = getValue("WKUser");
var company = getValue("WKCompany");
log.info("Usuário Logado: " + user);
log.info("Empresa: " + company);
log.info("Número do documento: "+ doc.getDocumentId() + " - Versão: "+ doc.getVersion());
if(listApprover!=null){
for(j = 0; j < listApprover.size(); j++) {
if (listApprover.get(j).getColleagueId().equals("adm")){
throw "O usuário adm não pode ser aprovador de documentos";
}
}
}
if(listSeg != null){
for(j = 0; j < listSeg.size(); j++) {
if (listSeg.get(j).getAttributionValue().equals("cvd")){
throw "O usuário cvd não pode estar na segurança de documentos";
}
}
}
if( listRelated != null){
log.info("Os seguintes documentos estão relacionados a este documentos: ");
for(j = 0; j < listRelated.size(); j++) {
log.info("Nr. documento: "+ listRelated.get(j).getRelatedDocumentId());
}
}
log.info("Assunto: " + subject);
log.info("Estado: " + state);
} |
AfterDocumentPublisher
Utilizado quando é preciso fazer alguma manipulação customizada nas propriedades da tela de publicação/edição de documentos depois que ele foi salvo no banco de dados. Dentre todas as propriedades da tela de publicação/edição de documentos não serão tratados os campos customizados.
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterDocumentPublisher(){
} |