Histórico da Página
Índice |
---|
Os eventos de processos são aqueles executados a cada tarefa de uma solicitação workflow e também em momentos específicos como no envio de e-mail e na liberação de novos processos. um processo são um conjunto de scripts carregados pela API de workflow. Tais scripts são desenvolvidos com o uso da linguagem JavaScript e chamados ao longo da execução do processo em momentos predeterminados, como por exemplo a criação da solicitação do processo ou a entrada em uma nova atividade.
A implementação dos eventos do processo é realizada pelo fluig Studio, sendo necessário já existir um projeto fluig com pelo menos um diagrama de processo.
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:
Atençã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
...