Histórico da Página
...
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-processo | Integer |
afterProcessFinish
Ocorre após finalizada a solicitação.
Parâmetro:
Descrição | Tipo |
---|---|
Número do processo | Integer |
beforeCancelProcess
Ocorre antes do cancelamento da solicitação.
Parâmetros:
Descrição | Tipo |
---|---|
Usuário corrente | string |
Número do processo | Integer |
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 corrente | string |
Número do processo | Integer |
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
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
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
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
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
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
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
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
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:
Nota | ||
---|---|---|
| ||
|
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 | ||
---|---|---|
| ||
|
subProcessCreated
Ocorre quando um sub-processo é criado.
Parâmetro:
Descrição | Tipo |
---|---|
Número do sub-processo | Integer |
afterProcessFinish
Ocorre após finalizada a solicitação.
Parâmetro:
Descrição | Tipo |
---|---|
Número do processo | Integer |
beforeCancelProcess
Ocorre antes do cancelamento da solicitação.
Parâmetros:
Descrição | Tipo |
---|---|
Usuário corrente | string |
Número do processo | Integer |
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 corrente | string |
Número do processo | Integer |
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
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
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
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
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
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
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
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
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:
Nota | ||
---|---|---|
| ||
|