Árvore de páginas

Versões comparadas

Chave

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

...

Para criar um novo evento do processo, clicar com o botão direito do mouse no projeto, acessar a opção New e, em seguida, a opção Other. No assistente aberto, selecionar a opção "Script evento workflow", presente na pasta fluig, e clicar no botão Next. Na nova tela, selecionar qual o evento que será criado e relacionar ele a um processo já existente. Para finalizar, clicar no botão Finish:

 

 

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.

 

Eventos

afterReleaseProcessVersion

...

Abaixo segue um exemplo de como implementar esse evento:

 

1
2
3
4
5
6
7
8
9
function afterReleaseProcessVersion(processXML){
    var pdv = getValue("ProcessDefinitionVersionDto");
    var processInfo = "\n### Nova versão de processo liberada: ###";
    processInfo += "\n User: " + getValue("WKUser");   
    processInfo += "\n processDescription: " + pdv.getProcessDescription();
    processInfo += "\n processId: " + pdv.getProcessId();
    processInfo += "\n version: " + pdv.getVersion();
    log.info(processInfo + "\n");
}

 

...

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

 

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.