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") | |
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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function afterTaskCreate(colleagueId) {
var nrProxAtividade = getValue( "WKNextState" );
if (nrProxAtividade == "5" ){
var data = new Date();
var numEmpresa = getValue( "WKCompany" );
data.setDate(20);
data.setMonth(10);
data.setFullYear(2010);
var numProcesso = getValue( "WKNumProces" );
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.
|
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: código da 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: indica que o usuário iniciará a solicitação como gestor (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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function afterTaskCreate(colleagueId) {
var data = new Date();
var obj = hAPI.calculateDeadLineHours(data, 50000, 2, "Default" );
var dt = obj[0];
var segundos = obj[1];
var processo = getValue( "WKNumProces" );
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: 1 2 3 4 5 6 7 8 9 10 11 12 13 | function afterTaskCreate(colleagueId) {
var data = new Date();
var obj = hAPI.calculateDeadLineTime(data, 50000, 120, "Default" );
var dt = obj[0];
var segundos = obj[1];
var processo = getValue( "WKNumProces" );
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 personalizado, por exemplo. - numAtiv: número da atividade
Retorno: link para movimentação da solicitação. 1 2 3 4 5 6 7 8 9 10 11 12 13 | 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" );
}
}
|
|
createAdHocTasks(workflowProcessInstanceId, sequenceId, assunto, detalhamento, listatvidadesAhoc) | Permite a criação de atividades adhoc dentro dos eventos do fluig - workflowProcessInstanceId: número da solicitação workflow no qual se deseja criar as tarefas;
- sequenceId: código de sequencia da atividade de SubprocessoAdhoc;
- Assunto: assunto da listagem das tarefas que será repassado ao formulário de atividade ad-hoc;
- Detalhe: texto com o detalhamento das atividades em questão. Esse texto também será repassado para o formulário da atividade ad-hoc;
- listaAtividadesAdhoc: é a lista de atividades contento o que, quando e quem executará as tarefas ad-hoc.
Exemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function beforeStateEntry(sequenceId){
var adHocTasks = new Array();
var process = getValue( "WKNumProces" );
var task = { name: "nome da tarefas" , responsible: "adm" , dueDate: "10/10/2014" };
adHocTasks.push(task);
hAPI.createAdHocTasks(process, sequenceId, "Assunto das tarefas" , "Detalhamento do assunto " , adHocTasks);
}
|
|
listAttachments() | Retorna a lista de anexos do processo. DocumentDto[ ] Veja aqui os paramêtros do objeto DocumentDto. Exemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function beforeTaskSave(colleagueId, nextSequenceId, userList) {
var attachments = hAPI.listAttachments();
var hasAttachment = false ;
for ( var i = 0; i < attachments.size(); i++) {
var attachment = attachments.get(i);
if (attachment.getDocumentDescription() == "fluig.pdf" ) {
hasAttachment = true ;
}
}
if (!hasAttachment) {
throw "Attachment not found!" ;
}
}
|
|
publishWorkflowAttachment(documento) | Permite publicar anexos workflow da solicitação no GED do fluig, onde: - documento: anexo workflow a ser publicado no GED.
Exemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function beforeStateEntry(sequenceId){
if (sequenceId == 4) {
var calendar = java.util.Calendar.getInstance().getTime();
var docs = hAPI.listAttachments();
for ( var i = 0; i < docs.size(); i++) {
var doc = docs.get(i);
if (doc.getDocumentType() != "7" ) {
continue ;
}
doc.setParentDocumentId(27);
doc.setVersionDescription( "Processo: " + getValue( "WKNumProces" ));
doc.setExpires( false );
doc.setCreateDate(calendar);
doc.setInheritSecurity( true );
doc.setTopicId(1);
doc.setUserNotify( false );
doc.setValidationStartDate(calendar);
doc.setVersionOption( "0" );
doc.setUpdateIsoProperties( true );
hAPI.publishWorkflowAttachment(doc);
}
}
}
|
|
attachDocument(documentId) | Permite anexar documentos do GED a solicitação workflow, onde: - documentId: código do documento a ser anexado a solicitação.
Exemplo: 1 2 3 4 5 6 7 8 9 10 | function beforeStateEntry(sequenceId) {
var docList = [44, 46, 135];
if (sequenceId == 2) {
for ( var i = 0; i < docList.length; i++) {
var docId = docList[i];
hAPI.attachDocument(docId);
};
}
}
|
|
getAvailableStatesDetail(companyId, userId, processId, processInstanceId, threadSequence) | Retorna detalhes das atividades disponíveis para seleção. Parâmetros: - companyId: código da empresa;
- userId: id do usuário;
- processId: código do processo;
- processInstanceId: número da solicitação;
- threadSequence: indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito, dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: ProcessStateDto[]. |
getChildrenInstances(processInstanceId) | Retorna uma lista com os números das solicitações filhas, onde: - processInstanceId: número da solicitação pai.
Exemplo: function beforeStateEntry(sequenceId){
if (sequenceId == 5) {
var numProcess = getValue( "WKNumProces" );
var childrenProcess = hAPI.getChildrenInstances(numProcess);
for ( var i = 0; i < childrenProcess.size(); i++) {
var childCardData = hAPI.getCardData(childrenProcess.get(i));
var obs = childCardData.get( "obs" );
hAPI.setCardValue( "obs" , obs );
}
}
}
|
|
getParentInstance(processInstanceId) | Retorna o número da solicitação pai, onde: - processInstanceId: número da solicitação filha.
Exemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function beforeStateEntry(sequenceId) {
if (sequenceId == 2) {
var numProcess = getValue( "WKNumProces" );
var parentProcess = hAPI.getParentInstance(numProcess);
var parentCardData = hAPI.getCardData(parentProcess);
var cnpj = parentCardData.get( "cnpj" );
hAPI.setCardValue( "cnpj" , cnpj);
}
}
|
|
addCardChild(tableName, cardData) | Adiciona um filho no formulário pai e filho do processo, onde: - tableName: nome da tabela filha onde será criado o filho;
- cardData: mapa com os campos do filho e seus valores.
Exemplo: 1 2 3 4 5 6 7 8 9 | function beforeStateEntry(sequenceId) {
if (sequenceId == 4) {
var childData = new java.util.HashMap();
childData.put( "matricula" , "0041" );
childData.put( "nome" , "João Silva" );
childData.put( "cpf" , "44455889987" );
hAPI.addCardChild( "funcionarios" , childData);
}
}
|
|