Árvore de páginas

Versões comparadas

Chave

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

...

MétodoEspecificação
getCardValue("nomeCampo")

Permite acessar o valor de um campo do formulário do processo, onde:

  • nomeCampo: nome do campo do formulário.
setCardValue("nomeCampo", "valor")

Permite definir o valor de um campo do formulário do processo, onde:

  • nomeCampo: nome do campo do formulário;
  • valor: valor a ser definido para o campo do formulário.
setAutomaticDecision(numAtiv, listaColab, "obs")

Permite definir o fluxo de saída de uma atividade de forma automática, onde:

  • numAtiv: número da atividade destino;
  • listaColab: lista (do tipo String) dos usuários que receberão a tarefa;
  • obs: observação da tarefa;
getActiveStates()Retorna uma lista das atividades ativas do processo.
getActualThread(numEmpresa, numProcesso, numAtiv)

Retorna a thread da atividade que está ativa, lembrando que em caso de atividades paralelas, retorna 0, 1, 2 e assim sucessivamente.

  • numEmpresa: número da empresa;
  • numProcesso: número da solicitação;
  • numAtiv: número da atividade.
setDueDate(numProcesso, numThread, "userId", dataConclusao, tempoSeg)

Permite alterar o prazo de conclusão para uma determinada atividade do processo, onde:

  • numProcesso: número da solicitação;
  • numThread: número da thread (normalmente 0, quando não se utiliza atividades paralelas);
  • userId: o usuário responsável pela tarefa;
  • dataConclusao: a nova data de conclusão;
  • tempoSeg: tempo que representa a nova hora de conclusão, calculado em segundos após a meia-noite.
Informações

Recomendamos a utilização deste método no evento afterTaskCreate, pois será executado logo após a criação da tarefa. Exemplo:

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {
	var data = new Date();
	
	//seta o dia, mês (Janeiro é 0) e ano
	data.setDate(20);
	data.setMonth(10);
	data.setFullYear(2010);
	   
	// Recupera o numero da solicitação
	var processo = getValue("WKNumProces");
	
	// Seta o prazo para as 14:00
	hAPI.setDueDate(processo, 0, colleagueId, data, 50400);
}
transferTask(transferUsers, "obs", int numThread)

Transfere uma tarefa de um usuário para outro(s) usuário(s).

  • transferUsers: lista (do tipo String) de usuários;
  • obs: a observação;
  • numThread: sequência da thread, em caso de atividades paralelas.
transferTask(transferUsers, "obs")

Transfere uma tarefa de um usuário para outro(s) usuário(s). Este método não pode ser usado em processos com atividades paralelas:

  • transferUsers: lista (do tipo String) de usuários;
  • obs: a observação.
startProcess(processId, ativDest, listaColab, "obs", completarTarefa, valoresForm, modoGestor)

Inicia uma solicitação workflow, onde:

  • processId: código do processo;
  • ativDest: atividade de destino;
  • listaColab: lista (do tipo String) de usuários;
  • obs: texto da observação;
  • completarTarefa: indica se deve completar a tarefa (true) ou apenas salvar (false);
  • valoresForm: um Mapa com os valores do formulário do processo;
  • modoGestor: acesso como gestor do processo (true/false).

Retorna um mapa com informações da solicitação criada. Entre elas, o iProcess que é o número da solicitação criada.

setColleagueReplacement(userId)

Seta um usuário substituto, onde:

  • userId: código do usuário substituto.
setTaskComments("userId", numProcesso,  numThread, "obs")

Define uma observação para uma determinada tarefa do processo, onde:

  • userId: usuário responsável pela tarefa;
  • numProcesso: número da solicitação de processo;
  • numThread: é o número da thread (normalmente 0, quando não se utiliza atividades paralelas);
  • obs: a observação.
getCardData(numProcesso)

Retorna um Mapa com todos os campos e valores do formulário da solicitação.

  • numProcesso: número da solicitação de processo.
getAdvancedProperty("propriedade")

Retorna o valor da propriedade avançada de um processo.

  • propriedade: nome da propriedade avançada. 
calculateDeadLineHours(data, segundos, prazo, periodId)

Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em horas:

  • data: Data inicial (tipo Date);
  • segundos: Quantidade de segundos após a meia noite;
  • prazo: Prazo que será aplicado em horas (tipo int);
  • periodId: Código de Expediente.  

Retorno: Array de Objeto, onde a primeira posição do array é a data e a segunda a hora.

Exemplo:

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {
   	var data = new Date();

   	//Calcula o prazo
   	var obj = hAPI.calculateDeadLineHours(data, 50000, 2, "Default");
	var dt = obj[0];
	var segundos = obj[1];

   	//Recupera o numero da solicitação
   	var processo = getValue("WKNumProces");

   	//Altera o prazo do processo
	hAPI.setDueDate(processo,0,colleagueId, dt, segundos);
}
calculateDeadLineTime(data, segundos, prazo, periodId)

Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em minutos:

  • data: Data inicial (tipo Date);
  • segundos: Quantidade de segundos após a meia noite;
  • prazo: Prazo que será aplicado em minutos (tipo int).
  • periodId - Código de Expediente

Retorno: Array de Objeto, onde a primeira posição do array é a data e a segunda a hora.

 Exemplo:

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {
	var data = new Date();
	//Calcula o prazo
	var obj = hAPI.calculateDeadLineTime(data, 50000, 120, "Default");
	var dt = obj[0];
	var segundos = obj[1];

	//Recupera o numero da solicitação
	var processo = getValue("WKNumProces");

	// Altera o prazo do processo
	hAPI.setDueDate(processo,0,colleagueId, dt, segundos);
}
getUserTaskLink(numAtiv)

Permite buscar o link para movimentação de uma determinada atividade, e utilizá-lo para enviar um e-mail com template customizado, por exemplo.

  • numAtiv: número da atividade
Retorno: link para movimentação da solicitação.

 Exemplo:

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {
	var sequenceId = parseInt(getValue("WKNumState"));
 
	if (sequenceId == 2) {
		var destinatarios = new java.util.ArrayList();
		destinatarios.add(colleagueId);
 
		var parametros = new java.util.HashMap();
		parametros.put("WDK_CompanyId", getValue("WKCompany"));
		parametros.put("WDK_TaskLink", hAPI.getUserTaskLink(sequenceId));
 
		notifier.notify(getValue("WKUser"), "tplCustomizado", parametros, destinatarios, "text/html");	
	}
}

Nos eventos existe a possibilidade de integração com serviços de dados. Tais serviços podem ser WebServices, AppServer Progress® e Dataset.

...

ParâmetroDescrição
WKDefCódigo do processo
WKVersDefVersão do processo
WKNumProcesNúmero da solicitação de processo
WKNumStateNúmero da atividade
WKCompanyNúmero da empresa
WKUserCódigo do usuário corrente
WKUserCommentComentário feito pelo usuário na atividade ou no cancelamento da solicitação
WKCompletTaskSe a tarefa foi completada (true/false)
WKNextStateNúmero da próxima atividade (destino)
WKCardIdCódigo do formulário do processo
WKFormIdCódigo da definição de formulário do processoWDKTaskLinkLink para atividade atual do processo

Além dessas propriedades já alimentadas pelo produto, é possível criar propriedades customizadas que podem ser utilizadas nos eventos. O produto disponibiliza a variável globalVars, que é um mapa de dados (Map<String, String>) e estará disponível em todos os eventos.

...

ParâmetroDescrição
WKDefCódigo do processo
WKVersDefVersão do processo
WKNumProcesNúmero da solicitação de processo
WKNumStateNúmero da atividade
WKCompanyNúmero da empresa
WKUserCódigo do usuário corrente
WKUserPasswordSenha do usuário corrente em MD5
WKCompletTaskSe a tarefa foi completada (true/false)
WKNextStateNúmero da próxima atividade (destino)
WKCardIdCódigo do formulário do processo
WKFormIdCódigo da definição de formulário do processoWDKTaskLinkLink para atividade atual do processo

Nos scripts dos eventos da definição de formulário basta recuperar as informações com o comando getValue, conforme exemplo:

...