Á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.
Exemplo de uso para esta função:

 

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {

    var nrProxAtividade = getValue("WKNextState");
    if (nrProxAtividade == "5"){ //atividade entre paralelas
 
		var data = new Date();
		var numEmpresa = getValue("WKCompany");
	
		//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 numProcesso = getValue("WKNumProces");
	
		// Seta o prazo para as 14:00
		hAPI.setDueDate(numProcesso, hAPI.getActualThread(numEmpresa, numProcesso, nrProxAtividade), colleagueId, data, 50400);
	}
}
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 indica que o usuário iniciará a solicitação como gestor do processo (true/) ou que o usuário iniciará a solicitação apenas como solicitante (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.

 

Nota
titleAtenção

Este método não retorna link para atividades que ainda não foram criadas, ou seja, não pode ser utilizado em eventos como afterTaskComplete(colleagueId,nextSequenceId,userList) para obter o link da atividade com "nextSequenceId".

 Exemplo:

Bloco de código
themeEclipse
languagejavascript
firstline1
linenumberstrue
function afterTaskCreate(colleagueId) {
	var sequenceId = getValue("WKCurrentState");
	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");	
	}
}

...