Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Nota
titleAtenção
  • Para o correto funcionamento deste método, o serviço do Real Time deve estar iniciado.
  • Se não levar um tempo considerável no processamento após a atribuição da mensagem, não é possível visualizar o carregamento e a mensagem.
  • http://www.clickjoin.com.br/viver-joinville/38a-festa-da-colheita-joinville-2016/Por padrão, todos os eventos executados são informados em tela, como por exemplo: "Executando validateForms", "Executando afterStateEntry" ou "Executando createDataset", mesmo se atribuída uma mensagem usando este método.

...

EventoDescriçãoParâmetros
afterCancelProcess

Ocorre após o cancelamento da solicitação. É recomendado não disparar exceções neste método, pois o cancelamento já foi realizado.

  • Usuário corrente (String);
  • Número do processo (Integer).
afterProcessCreate

Ocorre logo após a criação de um novo processo.

 

  • Número do novo processo (Integer).
afterProcessFinish

Ocorre após finalizada a solicitação.

  • Número do processo (Integer).
afterReleaseVersion

Ocorre após a liberação de uma versão do processo.

  • XML com a definição do processo (String).
afterStateEntryOcorre após a entrada em uma nova atividade.
  • Sequência da atividade (Integer).
afterStateLeaveOcorre após a saída de uma atividade.
  • Sequência da atividade (Integer).
afterTaskComplete

Ocorre após o usuário completar uma tarefa, porém as informações de próxima tarefa e usuários destino já foram salvas.

  • Usuário corrente (String);
  • Sequência da próxima atividade (Integer);
  • Lista de usuários destino (List<String>).
afterTaskCreateOcorre após o usuário receber uma tarefa.
  • Matrícula do usuário (String).
afterTaskSave

Ocorre após salvar as informações selecionadas pelo usuário.

  • Usuário corrente (String);
  • Sequência da próxima atividade (Integer);
  • Lista de usuários destino (List<String>).
beforeCancelProcess

Ocorre antes do cancelamento da solicitação.

  • Usuário corrente (String);
  • Número do processo (Integer).
beforeStateEntry

Ocorre antes da entrada em uma nova atividade.

Informações

Utilize este evento para realizar validações que ocasionalmente possam resultar no bloqueio da movimentação do processo.

Para evitar a movimentação e exibir uma mensagem para o usuário, utilize a palavra reservada 'throw', conforme exemplo abaixo:

throw "Erro ao movimentar solicitação"; 

  • Sequência da atividade (Integer).
beforeStateLeaveOcorre antes da saída de uma atividade.
  • Sequência da atividade (Integer).
beforeTaskComplete

Ocorre antes que o usuário complete uma tarefa, porém as informações de próxima tarefa e usuários destino já foram salvas.

Nota
titleObservação

Diferente dos demais eventos do tipo before, este evento não dispara suas validações ao servidor, fazendo com que o sistema não pare a movimentação da atividade quando o mesmo lança uma exceção.

  • Usuário corrente (String);
  • Seqüência da próxima atividade (Integer);
  • Lista de usuários destino (List<String>).
beforeTaskCreateOcorre antes que o usuário receba uma tarefa.
  • Matrícula do usuário (String).
beforeTaskSave

Ocorre antes de salvar as informações selecionadas pelo usuário.

  • Usuário corrente (String);
  • Sequência da próxima atividade (Integer);
  • Lista de usuários destino (List<String>).
calculateAgreement

Ocorre após o cálculo do consenso (somente para atividades conjuntas) e permite alterar os dados do consenso de uma atividade.

Exemplo:

Bloco de código
languagejavascript
themeEclipse
firstline1
linenumberstrue
function calculateAgreement(currentState, agreementData) {
	log.info("Consenso Atual: " + agreementData.get("currentPercentage"));
	log.info("Atividade Destino Atual: " +  agreementData.get("currentDestState"));
	log.info("Usuario Destino Atual: " + agreementData.get("currentDestUsers"));
	
	//Altera o consenso
	agreementData.put("currentPercentage", 100);
	agreementData.put("currentDestState", 2);
	agreementData.put("currentDestUsers", "adm,teste,super");
}
  • currentState (Integer): atividade que terá o consenso alterado;
  • agreementData (Map<String, Object>): mapa de dados com o percentual calculado, a atividade destino e os usuários de destino. Para obter os valores, utilize o método "get" e para atribuir um valor, utilize o método "put".
onNotify

Se refere a um evento global que ocorre após a movimentação da solicitação e antes de enviar as notificações.

Para mais detalhes consulte a página Desenvolvimento de eventos - On Notify.
setProcess

Ocorre quando um processo é "setado" na API.

Nota
titleObservação

A propriedade WKCompletTask não deve ser utilizada neste evento, pois quando ele é executado o produto ainda não tem a informação se atividade foi ou não completada.

  • Número do processo (Integer).
subProcessCreatedOcorre quando um sub-processo é criado.
  • Número do sub-processo (Integer).
validateAvailableStates

Ocorre após montada a lista de tarefas disponíveis para o usuário a partir da tarefa atual.

 

Exemplo:

Bloco de código
languagejavascript
themeEclipse
firstline1
linenumberstrue
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;
}
  • iCurrentState: Sequência da atividade atual (Integer);
  • stateList: Lista das sequências dapublishWorkflowAttachments atividades (List<Integer>).  

...