...
Abaixo segue um exemplo de como implementar esse evento:
12345
6
7
8
9
function
afterReleaseProcessVersion(processXML){ |
var
pdv =
var pdv = getValue("ProcessDefinitionVersionDto"); |
var
processInfo =
var processInfo = "\n### Nova versão de processo liberada: ###"; |
processInfo
processInfo "\n processDescription: " |
+ pdv.getProcessDescription(); |
processInfo
processInfo
São disponibilizadas algumas propriedades referentes ao processo que esta sendo liberado, porém somente para consulta através do método getValue.
...
| | |
---|
numState | número da atividade atual | int |
Exemplo de implementação
...
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
var beforeMovementOptions = function(numState){ |
...
console.log("-beforeMovementOptions-"); |
...
...
...
console.log("valor campo Email: " |
...
+document.formulario.email.value); |
...
if(document.cad01.nome.value === |
...
...
return
false
;
}
...
return false;
}
if(document.cad01.nome.value !== |
...
...
...
+ document.formulario.nome.value); |
...
}
beforeSendValidate
Ocorre antes da solicitação ser movimentada, após já ter sido selecionada a atividade destino, o usuário e demais informações necessárias à solicitação.
...
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
var beforeSendValidate = function(numState,nextState){
console.log("-beforeSendValidate-");
console.log("numState: " + numState);
console.log("nextState: " + nextState);
throw("Erro Xyz");
} |
...
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
var |
...
...
function(numState,nextState){ |
...
console.log("-beforeSendValidate-"); |
...
...
...
console.log("nextState: " |
...
...
var isOk = confirm("Deseja realmente enviar o processo ?"); |
...
return
isOk;
...
afterReleaseVersion
Ocorre após a liberação de uma versão do processo.
...
Ocorre após montada a lista de tarefas disponíveis para o usuário a partir da tarefa atual.
Exemplo:
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
function validateAvailableStates(iCurrentState, stateList) {
// Código: 1 - Descrição: Atividade inicial
// Código: 2 - Descrição: Atividade ordem 3
// Código: 3 - Descrição: Atividade ordem 2
// Código: 4 - Descrição: Atividade ordem 1
// stateList atual: [2,3,4]
var stateArray = new Array();
if (iCurrentState == 1) {
stateList.clear();
stateArray.push(4,3,2);
}
stateArray.forEach(function(code) {
stateList.add(new java.lang.Integer(code));
});
// stateList reordenado: [4,3,2]
return stateList;
} |
...
O exemplo abaixo irá procurar o usuário corrente no dataset de colleagueGroups. Caso o usuário não esteja neste grupo não será possível para este usuário adicionar complementos extras.
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
function checkComplementsPermission() {
var user = getValue("WKUser");
var company = getValue("WKCompany");
var group = "Auditoras";
var Id = DatasetFactory.createConstraint('colleagueGroupPK.colleagueId',
user, user, ConstraintType.MUST);
var group = DatasetFactory.createConstraint('colleagueGroupPK.groupId',
group, group, ConstraintType.MUST);
var company = DatasetFactory.createConstraint('colleagueGroupPK.companyId',
company, company, ConstraintType.MUST);
var colleagueGroup = DatasetFactory.getDataset('colleagueGroup', null,
new Array(Id, group, company), null);
if (colleagueGroup != null && colleagueGroup.getRowsCount() == 1) {
return true;
} else {
return false
}
} |
...