Configurando tipos de tarefas
Quando um fluxo de processo é desenhado, e uma tarefa é definida como Tarefa de Usuário ou Tarefa de Serviço, algumas opções que possuem integração com outros sistemas da Betha podem ser configuradas no menu lateral direito.
|
|---|
Tarefas de Usuário
Para as Tarefas de Usuário, duas opções se integram com nossos sistemas e podem ser configuradas no menu lateral direito, Atribuições e Formulários.
|
|---|
Na opção Atribuições o usuário pode configurar o responsável por aquela etapa, os grupos e usuários participantes. Dessa forma, quando o processo estiver tramitando no sistema Conecta, automaticamente as etapas serão designadas para usuários pré-definidos no desenho do processo. O sistema BPM possui integração com o sistema Conecta, logo, as opções que estarão disponíveis para a escolha dentro das opções de responsável, grupos e participantes serão aqueles já configurados no Conecta na mesma entidade. Para saber como configurar grupos no Conecta, clique aqui.
Os grupos e usuários participantes de uma tarefa são aqueles que podem visualizá-la, já o responsável é aquele que executa a tarefa.
Na opção Formulários, o usuário pode selecionar através de um menu suspenso um dos formulários criados dentro da entidade e a sua versão. Caso o mesmo formulário seja designado a mais de uma etapa do processo, entende-se que há uma continuidade no preenchimento e configuração do mesmo. Dessa forma, o formulário que, por exemplo, apareceu na primeira etapa do processo e foi preenchido, na segunda etapa poderá ter um documento anexado a ele, dependendo do objetivo do processo. Caso não seja selecionado um formulário, uma tarefa padrão pré-definida irá aparecer no Conecta apenas com a opção de concluir.
Tarefas de Serviços
As tarefas de serviço executam automaticamente um serviço ou função sem intervenção humana, como chamadas a APIs, integração com sistemas ou execução de operações no backend, como a execução de Scripts e Relatórios. É usada para automação de processos.
No BPM, as tarefas externas oferecem um padrão de arquitetura robusto para orquestrar serviços e automatizar processos de negócios de forma desacoplada. Diferente da abordagem tradicional onde o motor de processo "empurra" o trabalho para os serviços, com as tarefas externas, é o "worker" (trabalhador) externo que "puxa" as tarefas do BPM.
Scripts
O script pode ser executando usando uma Service Task do tipo External.
Parâmetros:
Nome do tópico: workerScript *obrigatório
| Nome do Parâmetro | Descrição | Tipo de Dado | Valor Padrão | |
|---|---|---|---|---|
_identificadorScript_* | Identificador único do script. Este campo é obrigatório. | String | Nenhum | |
_visibilidadeExecucaoPublica_ | Controla se o registro de execução deste script será visível publicamente no sistema. | Booleano | true | |
_enviarEmailFinalizar_ | Define se um e-mail de notificação deve ser enviado ao final da execução do script. | Booleano | false | |
_emailsParaNotificar_ | Lista de endereços de e-mail para notificar. Só é utilizado se _enviarEmailFinalizar_ for true. | Lista de Strings | ||
_ignorarNotificacao_ | Define se as notificações padrão do sistema (que não sejam por e-mail) devem ser suprimidas. | Booleano | true | |
_parametros_ | Objeto chave-valor contendo os parâmetros específicos que serão passados para o script. | Mapa/Objeto | {} (objeto vazio) | |
_sistemaId_ | Sistema onde o script está implantado. | Número (Long) | Sistema do processo | |
_entidadeId_ | Entidade onde o script está implantado. | Número (Long) | Entidade do processo | |
_databaseId_ | Database onde o script está implantado. | Número (Long) | Database do processo |
Resultado:
Quando o resultado do script for um arquivo zip contendo arquivos json dentro, os valores serão lidos e enviados como resultado da tarefa, desde que o tamanho total não ultrapasse 10Kb de dados.
| Nome do Parâmetro | Descrição | Tipo de Dado | ||
|---|---|---|---|---|
protocolo | Protocolo de execução do script. | String | ||
urlResultado | Url para o download do resultado da execução do script. Pode ser vazio quando o script não gerou nenhum arquivo. | String | ||
resultado | Objeto chave-valor contendo os valores extraidos do resultado. Em caso de erro na extração, a chave erro com o motivo será informada | Mapa/Objeto |
Falhas:
| Chave | Descrição |
|---|---|
SCRIPT_ERROR | Quando ocorreu um erro não transiente na execução do script |
Relatórios
O relatório pode ser executando usando uma Service Task do tipo External.
Nome do tópico: workerRelatorio
Parâmetros:
| Nome do Parâmetro | Descrição | Tipo de Dado | Valor Padrão | |
|---|---|---|---|---|
_identificadorRelatorio_ | Identificador único do relatório. Este campo é obrigatório. | String | Nenhum | |
_natureza_ | Define a natureza do relatório. | String | Nenhum | |
_naturezaQualificadora_ | Define a natureza qualificadora do relatório.. | String | Nenhum | |
_omitirNotificacao_ | Se true, o worker não enviará nenhuma notificação ao sistema ou por e-mail após gerar o relatório. | Booleano | true | |
_visibilidadeExecucaoPublica_ | Controla se o registro da geração deste relatório será visível publicamente no sistema. | Booleano | true | |
_formatoExportacao_ | Define o formato do arquivo de saída do relatório. Os valores podem ser PDF, DOCX, ODT, ODS, XLS, CSV, HTML, TXT, XML. | String (Enum) | "PDF" | |
_parametros_ | Objeto chave-valor contendo os parâmetros específicos para o relatório. | Mapa/Objeto | Nenhum | |
_sistemaId_ | Sistema onde o relatório está implantado. | Número (Long) | Sistema do processo | |
_entidadeId_ | Entidade onde o relatório está implantado. | Número (Long) | Entidade do processo | |
_databaseId_ | Database onde o relatório está implantado. | Número (Long) | Database do processo |
Resultado:
| Nome do Parâmetro | Descrição | Tipo de Dado | ||
|---|---|---|---|---|
protocolo | Protocolo de execução do relatório. | String | ||
identificadorPublico | Identificador publico do relatório. | String | ||
tituloRelatorio | Titulo do relatório. | String | ||
tipoResultado | Tipo do resultado do relatório. Pode ser SUCESSO ou ERRO. | String | ||
formatoExportacao | Formato da exportação. | String | ||
marcadores | Marcadores do relatório. | Mapa/String | ||
tamanhoResultado | Tamanho do arquivo gerado. | Mapa/String | ||
urlResultado | Url para o download do resultado da execução do relatório. | String |
Falhas:
| Chave | Descrição |
|---|---|
RELATORIO_ERROR | Quando ocorreu um erro não transiente na execução do relatório |
Assinaturas
No processo digital é possível criar um processo de assinaturas por meio de uma Service Task do tipo External.
Nome do tópico: workerAssinador
Processo padrão de Assinaturas
Neste processo, a Service Task irá instanciar um processo de assinaturas, aguardar todas as assinaturas serem completas e finalizar a tarefa.
Parâmetros:
| Nome do Parâmetro | Descrição | Tipo de Dado | Valor Padrão |
|---|---|---|---|
_sistemaId_ | ID do sistema onde o processo de assinatura será executado. | Número (Long) | Sistema do processo |
_entidadeId_ | ID da entidade onde o processo de assinatura será executado. | Número (Long) | Entidade do processo |
_databaseId_ | ID do database onde o processo de assinatura será executado. | Número (Long) | Database do processo |
_urlPreAssinada_ | URL para download do arquivo a ser assinado. | String | Nenhum |
_nome_ | Nome do documento a ser assinado. | String | Nenhum |
_secoesAssinaturas_ | Lista de usuários que devem assinar o documento, separados por vírgula. Ex: user1,user2. | Lista de Strings | Nenhum |
_tipo_ | Tipo do arquivo a ser assinado. Tipos suportados: PDF, XML, TXT, P7S. | String (Enum) | Nenhum |
_certificado_ | Certificado do usuário para realizar assinatura automaticamente. Este parâmetro é utilizado apenas se houver uma única seção de assinatura. | String | Nenhum |
_expiraEm_ | Data para expiração do documento. | Data/Hora | Nenhum |
_notificarViaEmail_ | Indica se os usuários devem ser notificados por e-mail sobre o processo de assinatura. | Booleano | false |
_publico_ | Indica se o documento será público no ambiente de verificação. | Booleano | false |
_bloqueiaCertificadoCorporativo_ | Bloqueia assinaturas realizadas com certificado corporativo. | Booleano | false |
_permiteCertificadoAvancadoParaUsuarioVerificado_ | Permite somente assinaturas com certificados avançados de usuários verificados. | Booleano | false |
_permiteAdicionarNovosAssinantes_ | Permite incluir novos assinantes durante o processo (Conclusão manual). | Booleano | false |
_assinarComCampoInvisivel_ | Indica se as plotagens serão realizadas no arquivo de forma invisível. | Booleano | false |
Resultado:
Na conclusão do processo de assinaturas, o protocolo e a URL para download do arquivo assinado serão incluídos nas variáveis de saída. A tarefa será concluída com êxito apenas se o status final for ASSINADO.
| Nome do Parâmetro | Descrição | Tipo de Dado |
|---|---|---|
protocolo | Protocolo do processo de assinaturas. | String |
situacao | Situação da assinatura: ASSINADO, PROBLEMA_ASSINATURA, ASSINATURA_RECUSADA, EXPIRADO, CANCELADO | String |
urlDownloadArquivoAssinado | URL para download do arquivo assinado. | String |
Falhas:
| Chave | Descrição |
|---|---|
ASSINADOR_ERROR | Quando ocorreu um erro não transiente na execução do processo de assinatura. |
Processo controlado por Processos Digitais
Neste processo, a Service Task irá instanciar um processo de assinaturas e confirmar sua criação. O documento criado não possuirá seções de assinaturas predefinidas, apenas uma quantidade de seções que aguardarão por assinaturas de qualquer usuário. O processo não será tramitado nem concluído automaticamente, exigindo conclusão manual ou via Service Task específica.
Para a realização das assinaturas, deverão ser criadas User Tasks atribuídas aos usuários responsáveis, referenciando o protocolo de assinaturas gerado na Service Task de criação. A conclusão final do processo é feita por outra Service Task.
1. Modelo para Criação do Processo de Assinatura
Utiliza uma Service Task do tipo External para iniciar o processo de assinatura.
Nome do tópico: workerAssinador
Parâmetros:
| Nome do Parâmetro | Descrição | Tipo de Dado | Valor Padrão |
|---|---|---|---|
_sistemaId_ | ID do sistema onde o processo de assinatura será executado. | Número (Long) | Sistema do processo |
_entidadeId_ | ID da entidade onde o processo de assinatura será executado. | Número (Long) | Entidade do processo |
_databaseId_ | ID do database onde o processo de assinatura será executado. | Número (Long) | Database do processo |
_urlPreAssinada_ | URL para download do arquivo a ser assinado. | String | Nenhum |
_nome_ | Nome do documento a ser assinado. | String | Nenhum |
_tipo_ | Tipo do arquivo a ser assinado. Tipos suportados: PDF, XML, TXT, P7S. | String (Enum) | Nenhum |
_processoDigital_ | Indica que o documento será controlado por processos digitais. | Booleano | false |
_quantidadeSecoes_ | Quantidade de seções para serem assinadas. | Número (Integer) | Nenhum |
Resultado:
A confirmação da criação do documento finalizará a tarefa.
| Nome do Parâmetro | Descrição | Tipo de Dado |
|---|---|---|
protocolo | Protocolo do processo de assinaturas recém-criado. | String |
Falhas:
| Chave | Descrição |
|---|---|
ASSINADOR_ERROR | Quando ocorreu um erro não transiente na criação do processo de assinatura. |
2. Modelo para Realização de Assinaturas (User Task)
Para que uma User Task seja utilizada para realização de assinaturas, ela deve conter uma Propriedade de extensão específica.
Extension Properties da User Task:
| Nome da Propriedade | Descrição | Tipo de Dado |
|---|---|---|
_protocoloAssinatura_ | Protocolo de assinaturas para exibição do documento e registro da assinatura. | String |
Observação: Para capturar o protocolo de uma tarefa anterior, ele deve ser adicionado como uma variável de saída (Outputs) na tarefa de criação, tornando-o globalmente disponível.
3. Modelo para Conclusão do Processo de Assinaturas
Utiliza uma Service Task do tipo External com um tópico diferente para finalizar o processo de assinatura.
Nome do tópico: workerAssinadorConclusao
Parâmetros:
| Nome do Parâmetro | Descrição | Tipo de Dado | Valor Padrão |
|---|---|---|---|
_sistemaId_ | ID do sistema onde o processo de conclusão será executado. | Número (Long) | Sistema do processo |
_entidadeId_ | ID da entidade onde o processo de conclusão será executado. | Número (Long) | Entidade do processo |
_databaseId_ | ID do database onde o processo de conclusão será executado. | Número (Long) | Database do processo |
_protocolo_ | Protocolo de assinaturas a ser concluído. | String | Nenhum |
Observação: Para capturar o protocolo de uma tarefa anterior, ele deve ser adicionado como uma variável de saída (Outputs) na tarefa de criação, tornando-o globalmente disponível.
Resultado:
Na conclusão do processo de assinaturas, o protocolo e a URL para download do arquivo assinado serão incluídos nas variáveis de saída, independentemente do status final de conclusão.
| Nome do Parâmetro | Descrição | Tipo de Dado |
|---|---|---|
protocolo | Protocolo do processo de assinaturas. | String |
situacao | Situação da assinatura: ASSINADO, PROBLEMA_ASSINATURA, ASSINATURA_RECUSADA, EXPIRADO, CANCELADO | String |
urlDownloadArquivoAssinado | URL para download do arquivo assinado. | String |
Falhas:
| Chave | Descrição |
|---|---|
ASSINADOR_ERROR | Quando ocorreu um erro não transiente na conclusão do processo de assinatura. |
Captura de Falhas
O processo de assinaturas pode gerar falhas que devem ser tratadas no modelo BPMN. Algumas falhas são lançadas após um número de tentativas (ex: falha de comunicação), enquanto outras ocorrem devido a erros de configuração ou durante a conclusão do documento com status diferentes de ASSINADO.
Para tratar uma falha, pode-se usar o Error boundary Event preenchendo o campo Code variable.
Falhas Relacionadas à Conclusão do Processo de Assinaturas:
| Chave | Descrição |
|---|---|
PROBLEMA_ASSINATURA | Problema genérico durante as assinaturas. |
ASSINATURA_RECUSADA | Um dos assinantes recusou a assinatura. |
EXPIRADO | O prazo de conclusão do documento foi expirado. |
CANCELADO | O remetente cancelou o processo de assinatura. |
Customizadas
TODO: Documentar o processo para a implementação de uma tarefa externa.

