Árvore de páginas

Versões comparadas

Chave

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

...

Através dele é possível determinar se o usuário corrente do processo poderá ou não adicionar complementos mesmo com permissionamento ligado na modelagem do processo. Este evento possui acesso a todas as propriedades dos processos workflow (quando disponíveis) bem como acesso a hAPI, FLUIG e seus métodos. O Exemplo abaixo irá procurar o usuário corrente no dataset de colleagueGroups. Caso o usuário não esteja neste grupo não será possível para este usuário adicionar complementos extras. Maiores detalhes sobre esse evento, aqui

 

subProcessCreated

Ocorre quando um sub-processo é criado.

 

Parâmetro:

Descrição
Tipo
Número do sub-processoInteger

 

afterProcessFinish

Ocorre após finalizada a solicitação.

 

Parâmetro:

Descrição
Tipo
Número do processoInteger

 

beforeCancelProcess

Ocorre antes do cancelamento da solicitação.

 

Parâmetros:

Descrição
Tipo
Usuário correntestring
Número do processoInteger

 

afterCancelProcess

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

 

Parâmetros:

Descrição
Tipo
Usuário correntestring
Número do processoInteger

 

Eventos nas etapas dos processos

 

Liberar nova versão do processo

Quando liberar uma nova versão do processo configurado, o evento executado será:

  • afterReleaseVersion

Image Removed

 

Salvar nova solicitação

Quando iniciar uma solicitação pelo menu Processos, é evento executado será:

  • validateAvailableState

Acionando o botão Salvar da solicitação, os eventos executados são: 

  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • afterProcessCreate

Image Removed

 

Criar nova solicitação

Quando iniciar uma solicitação pelo menu Processos, é evento executado será:

  • validateAvailableStates

Após criada a solicitação e acionado o botão Enviar, os eventos executados serão:

  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • afterProcessCreate
  • setProcess
  • onNotify

Image Removed

 

Visualizar solicitação

Quando acessar a Central de Tarefas, abrir uma solicitação já iniciada, os eventos executados serão:

  • validateAvailableStates
  • setProcess
  • checkComplementsPermission

 

Salvar solicitação

Quando acionar o botão Salvar a solicitação, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave

Image Removed

 

Movimentar solicitação

Quando movimentar a solicitação acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • onNotify

Image Removed

 

Movimentar para subprocesso

Quando movimentar a solicitação para subprocesso acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • subProcessCreated
  • afterStateEntry
  • BeforeSendData
  • onNotify

Image Removed

 

Finalizar solicitação

Quando finalizar a solicitação acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • afterStateEntry
  • afterProcessFinish
  • beforeSendData

Image Removed

 

Cancelar solicitação

Quando usuário acessar solicitação já iniciada na Central de Tarefas para Cancelamento, os eventos executados serão:

  • setProcess
  • checkComplementsPermissions.

Quando acionar o botão Cancelar Solicitação, os eventos executados serão:

  • setProcess
  • beforeCancelProcess
  • afterCancelProcess
  • beforeSendData
  • setProcess
  • onNotify

Image Removed

Acompanhamento de eventos

A partir do fluig 1.4.9, é possível acompanhar a execução dos eventos pelo novo componente loading. Com este acompanhamento, é possível apresentar mensagens para o usuário tomar conhecimento das rotinas que estão sendo executadas quando a solicitação é encaminhada para a próxima atividade. Essa ferramenta também pode ser muito útil para o desenvolvedor identificar pontos de baixa performance nos desenvolvimentos realizados sob a plataforma.

Para a utilização desta funcionalidade, basta utilizar o trecho loading.setMessage(String message) na implementação do evento, conforme exemplo no trecho de código abaixo:

 

1
2
3
4
5
6
7
8
9
10
function validateForm(form){
     
    loading.setMessage("Validando campos de formulário");
     
    if(form.getValue('nome') == null || form.getValue('nome') == '') {
        throw "Campo nome não está preenchido";
    }
 
    loading.setMessage("");
}

 

Assim, durante a execução deste evento, a mensagem definida na sua implementação será exibida na tela para o usuário acompanhar, conforme imagem abaixo:

 

Image Removed

 

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.
  • 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.

 

checkComplementsPermission

A partir do fluig 1.5.8, é possível configurar a adição de complementos extras para solicitações workflow. Também é possível definir um evento chamado checkComplementsPermission aonde é possível determinar se o usuário corrente do processo poderá ou não adicionar complementos mesmo com permissionamento ligado na modelagem do processo. Este evento possui acesso a todas as propriedades dos processos workflow (quando disponíveis) bem como acesso a hAPI, FLUIG e seus métodos. O Exemplo abaixo irá procurar o usuário corrente no dataset de colleagueGroups. Caso o usuário não esteja neste grupo não será possível para este usuário adicionar complementos extras.

 

 

function checkComplementsPermission() {
    var user = getValue("WKUser");
    var company = getValue("WKCompany");
    var group = "Auditoras";
    var Id = DatasetFactory.createConstraint('colleagueGroupPK.colleagueId',
            user, user, ConstraintType.MUST);
    var group = DatasetFactory.createConstraint('colleagueGroupPK.groupId',
            group, group, ConstraintType.MUST);
    var company = DatasetFactory.createConstraint('colleagueGroupPK.companyId',
            company, company, ConstraintType.MUST);
    var colleagueGroup = DatasetFactory.getDataset('colleagueGroup'null,
            new Array(Id, group, company), null);
    if (colleagueGroup != null && colleagueGroup.getRowsCount() == 1) {
        return true;
    else {
        return false
    }
 
}

 

Atenção

 
  • Este evento não será executado na abertura de solicitação. O evento não impede o responsável de adicionar anexos e observações antes mesmo da solicitação ser aberta (possuir código de solicitação).
  • O evento checkComplementsPermission não permite oferecer permissões adicionais na edição de complementos em relação as permissões definidas na configuração do processo. Por este é evento é possível apenas restringir mais especificamente as permissões de adição de complementos. Se via configuração do processo determinado usuário não consegue adicionar anexos não é possível que este evento forneça permissão para este usuário.

...

 

Exemplo:

 

Bloco de código
function checkComplementsPermission() {
    var user = getValue("WKUser");
    var company = getValue("WKCompany");
    var group = "Auditoras";
    var Id = DatasetFactory.createConstraint('colleagueGroupPK.colleagueId',
            user, user, ConstraintType.MUST);
    var group = DatasetFactory.createConstraint('colleagueGroupPK.groupId',
            group, group, ConstraintType.MUST);
    var company = DatasetFactory.createConstraint('colleagueGroupPK.companyId',
            company, company, ConstraintType.MUST);
    var colleagueGroup = DatasetFactory.getDataset('colleagueGroup', null,
            new Array(Id, group, company), null);
    if (colleagueGroup != null && colleagueGroup.getRowsCount() == 1) {
        return true;
    } else {
        return false
    }
 
}
Nota
titleAtenção
  • Este evento não será executado na abertura de solicitação. O evento não impede o responsável de adicionar anexos e observações antes mesmo da solicitação ser aberta (possuir código de solicitação).
  • O evento checkComplementsPermission não permite oferecer permissões adicionais na edição de complementos em relação as permissões definidas na configuração do processo. Por este é evento é possível apenas restringir mais especificamente as permissões de adição de complementos. Se via configuração do processo determinado usuário não consegue adicionar anexos não é possível que este evento forneça permissão para este usuário.

 

subProcessCreated

Ocorre quando um sub-processo é criado.

 

Parâmetro:

Descrição
Tipo
Número do sub-processoInteger

 

afterProcessFinish

Ocorre após finalizada a solicitação.

 

Parâmetro:

Descrição
Tipo
Número do processoInteger

 

beforeCancelProcess

Ocorre antes do cancelamento da solicitação.

 

Parâmetros:

Descrição
Tipo
Usuário correntestring
Número do processoInteger

 

afterCancelProcess

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

 

Parâmetros:

Descrição
Tipo
Usuário correntestring
Número do processoInteger

 

Eventos nas etapas dos processos

 

Liberar nova versão do processo

Quando liberar uma nova versão do processo configurado, o evento executado será:

  • afterReleaseVersion

Image Added

 

Salvar nova solicitação

Quando iniciar uma solicitação pelo menu Processos, é evento executado será:

  • validateAvailableState

Acionando o botão Salvar da solicitação, os eventos executados são: 

  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • afterProcessCreate

Image Added

 

Criar nova solicitação

Quando iniciar uma solicitação pelo menu Processos, é evento executado será:

  • validateAvailableStates

Após criada a solicitação e acionado o botão Enviar, os eventos executados serão:

  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • afterProcessCreate
  • setProcess
  • onNotify

Image Added

 

Visualizar solicitação

Quando acessar a Central de Tarefas, abrir uma solicitação já iniciada, os eventos executados serão:

  • validateAvailableStates
  • setProcess
  • checkComplementsPermission

 

Salvar solicitação

Quando acionar o botão Salvar a solicitação, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave

Image Added

 

Movimentar solicitação

Quando movimentar a solicitação acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • beforeTaskCreate
  • afterTaskCreate
  • afterStateEntry
  • beforeSendData
  • onNotify

Image Added

 

Movimentar para subprocesso

Quando movimentar a solicitação para subprocesso acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • subProcessCreated
  • afterStateEntry
  • BeforeSendData
  • onNotify

Image Added

 

Finalizar solicitação

Quando finalizar a solicitação acionando o botão Enviar, os eventos executados serão:

  • setProcess
  • validateAvailableStates
  • beforeTaskSave
  • afterTaskSave
  • beforeTaskComplete
  • afterTaskComplete
  • beforeStateLeave
  • afterStateLeave
  • beforeStateEntry
  • afterStateEntry
  • afterProcessFinish
  • beforeSendData

Image Added

 

Cancelar solicitação

Quando usuário acessar solicitação já iniciada na Central de Tarefas para Cancelamento, os eventos executados serão:

  • setProcess
  • checkComplementsPermissions.

Quando acionar o botão Cancelar Solicitação, os eventos executados serão:

  • setProcess
  • beforeCancelProcess
  • afterCancelProcess
  • beforeSendData
  • setProcess
  • onNotify

Image Added


Acompanhamento de eventos

A partir do fluig 1.4.9, é possível acompanhar a execução dos eventos pelo novo componente loading. Com este acompanhamento, é possível apresentar mensagens para o usuário tomar conhecimento das rotinas que estão sendo executadas quando a solicitação é encaminhada para a próxima atividade. Essa ferramenta também pode ser muito útil para o desenvolvedor identificar pontos de baixa performance nos desenvolvimentos realizados sob a plataforma.

Para a utilização desta funcionalidade, basta utilizar o trecho loading.setMessage(String message) na implementação do evento, conforme exemplo no trecho de código abaixo:

 

1
2
3
4
5
6
7
8
9
10
function validateForm(form){
     
    loading.setMessage("Validando campos de formulário");
     
    if(form.getValue('nome') == null || form.getValue('nome') == '') {
        throw "Campo nome não está preenchido";
    }
 
    loading.setMessage("");
}

 

Assim, durante a execução deste evento, a mensagem definida na sua implementação será exibida na tela para o usuário acompanhar, conforme imagem abaixo:

 

Image Added

 

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.
  • 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.