Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
outlinetrue
exclude.*ndice
stylenone


Painel
borderColor#f2f2f2
bgColor#f2f2f2

O método startProcess da hAPI (nova) inicia uma solicitação nova, podendo preencher dados e movimentar para a atividade seguinte selecionando quais os usuários irão receber a próxima atividade. 

A solicitação sempre será iniciada pelo usuário atual, que está movimentando a solicitação.

...

Bloco de código
languagejs
hAPI.startProcess(processId, chosenState, colleagues, comments, completeTask, cardData, managerMode)


Parâmetros

...

processId

A string do id do processo da nova solicitação.


chosenState

Um número inteiro representando o sequencial da atividade para qual será encaminhado a solicitação após o início. Deve ser um sequencial de atividade existente no processo processId e que seja uma atividade que receba um fluxo da atividade inicial.

Caso seja enviado zero, será usado o sequencial da primeira atividade pós atividade inicial.


colleagues

(opcional)

Uma lista de strings com a(s) matrícula(s) dos usuários que irão receber a atividade.

Este campo é opcional quando completeTask é false ou quando o mecanismo de atribuição da atividade destino (chosenState) possui apenas uma opção de destino. 


comments

(opcional)

Uma string com comentários que serão adicionando junto com a abertura da solicitação.

Caso não queira adicionar um comentário pode ser enviado null ou uma string vazia.


completeTask

Um booleano informando se a tarefa vai ser movimentada ou apenas salva.

...

Caso false, a solicitação será salva com os comentários e dados de formulário informados mas permanecerá na atividade inicial, sem movimentar.


cardData

(opcional)

Uma mapa com os dados do formulário, composta por chave do tipo String com o nome do campo de formulário e valores do tipo String com o valor respectivo de cada campo.

Caso não tenha formulário ou o formulário será preenchido posteriormente, pode ser enviado null.


managerMode

Um booleano informando se a tarefa vai ser movimentada como usuário gestor do processo.

...

Caso false a tarefa é movimentada como usuário normal, responsável pela tarefa.


Valor de retorno

...

Um objeto WorkflowSaveAndSendResultVO com os dados da solicitação criada


Exemplos de uso

...

Inicialização simples mantendo a solicitação na atividade inicial:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = null;
    var completeTask = false;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Inicialização simples movimentando a solicitação para a próxima atividade:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0; // só tem uma atividade possível após a atividade inicial
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = null;
    var completeTask = true;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Inicialização simples movimentando a solicitação para a próxima atividade, quando existe mais de uma opção:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 4;
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = null;
    var completeTask = true;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Movimentando uma tarefa que tem mecanismo de atribuição "para um Grupo":

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("Pool:Group:Compras"); // Compras é o id do grupo

    var comments = null;
    var completeTask = false;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Movimentando uma tarefa que tem mecanismo de atribuição "para um Papel":

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("Pool:Role:Supervisao"); // Supervisao é o id do papel

    var comments = null;
    var completeTask = false;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Inicialização simples com dados de formulário:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = null;
    var completeTask = true;

    var formData = {
       "codigo": "1",
       "nome": "João da Silva"
    };

    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Inicialização simples com dados de formulário com registro pai x filho:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = null;
    var completeTask = true;

    var formData = {
       "codigo": "1",
       "nome": "João da Silva",
       "email___1": "[email protected]",
       "email___2": "[email protected]" 
    };

    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}


Adicionando comentários na inicialização da solicitação:

Bloco de código
languagejs
linenumberstrue
function beforeStateEntry(sequenceId) {
  if (sequenceId == 5) {
    var processId = "solicitacaoCompras";

    var chosenState = 0;
    
    var users = new java.util.ArrayList();
    users.add("adm");

    var comments = "Solicitação criada automaticamente pelo fluig";
    var completeTask = true;
    var formData = null;
    var managerMode = false;

                 
    hAPI.startProcess(processId, chosenState, users, comments, completeTask, formData, managerMode);
  }
}