Configurações / Exemplos / Outros
Configuração de parâmetros, instalações, atalhos, pacotes de funções, estrutura de tabela, etc.
- Alterar permissão de grupo de usuário
- Anexar arquivo fixo no processo
- Assistente de publicação
- Atalhos do sistema
- Biometria - Configurar leitor Control ID
- Imagem na grade de dados
- Campo FK filtrando outro campo FK
- Central de processos
- Configurando "Esqueceu a senha?" do portal
- Configurar acesso externo ao DOX Portal
- Configurar filial e usuário publico
- Controle de versão
- Ema Configurador
- Enviar e-mail a cada erro gerado no log
- Enviar vários e-mails para destinatários diferentes
- Envio de e-mail no DOX
- Estrutura de tabelas
- LGPD - Exibir privacidade e cookies
- Exportar/Importar processos
- Gmail - Acesso a app's menos seguros
- Grupos de usuário
- Ícones de processo
- Importar processos do Bizagi
- Iniciar instância de processo por URL
- Itens customizados no portal
- Kanban
- Link dos processos publicos
- Logs de processo / serviço
- Micro Serviços
- Motor BPMS
- Papel função
- Parâmetros gerais - Documentos
- Parâmetros Gerais - DOX
- Parâmetros gerais - Tecnicos
- Permissão para acessar conector
- Permissão para visualizar painéis de indicadores
- Processos de negócio (Instâncias)
- Processos descontinuados
- Registro de software
- Requisitos de uso DOX
- Tipos de ambiente (Homologação / Produção)
- Guia para Emissão e Configuração de Certificados SSL no Portal Ema
- Validar estrutura do banco de dados
- Validar processo
- Vincular certificado NF-e no DOX Estudio
- Colaborando/Alterando atividades dos processos por WebService
- Enviar anexos selecionados por e-mail
- Chamar variáveis no modelo de correspondência
- Gerando link para colaborar por e-mail
- Enviando e-mail se o checkbox estiver selecionado na grade
- Mostrando relatório na grade de dados
- Inserindo dados na grade (varias linhas) e mostrando em outra atividade
- Grade com campo FK - Filtro com dados de outra coluna
- Utilizando bloco de correspondência
- Lentidão do sistema - Alguns passos para ajudar na análise
- Imagem no formulário FK (Foreign key)
- Gerar pedidos importados - PEX
Alterar permissão de grupo de usuário
** Este tópico é um complemento deste conteúdo geral: clique aqui.
Para que um usuário tenha liberdade sobre determinadas funcionalidades do Dox Estúdio, é necessário que ele esteja vinculado à um grupo de usuário que tenha permissão sobre essas funcionalidades.
- Há dois modos de saber o grupo de usuário vinculado: o usuário pode visualizar na barra localizada na parte inferior da tela.
- Ou o administrador pode visualizar em Processos > Colaboradores
Para trocar de grupo, baste acessar o cadastro conforme imagem acima, e vincular algum outro grupo. Importante ressaltar que não é aconselhável utilizarem o grupo Administrador, pois este grupo é feito e usado exclusivamente pela Ema.
Incluir/alterar/inativar colaborador
Neste exemplo, o usuário 'Laura' vinculado ao grupo Financeiro precisa ter permissão para incluir, alterar e inativar um colaborador no cadastro de colaboradores, e será mostrado como conceder essa permissão.
Para a liberação da visualização do colaborador, em Configuração > Grupo de Usuários, clique com o botão direito em cima do grupo desejado e clique em Permissões. Neste caso como a Laura é do grupo Financeiro, é este que iremos alterar:
Quando a tela do grupo Financeiro aparecer, procure pela lista, ou digite nos campos Acesso e Ação o texto "colaborador" conforme abaixo:
Marque no checkbox as operações de Incluir, Alterar e Inativar e logo depois aperte "Ok". Nisso, o Grupo Financeiro poderá fazer todas as funcionalidades que marcamos no cadastro de colaboradores.
Geralmente o usuário só precisa fechar e abrir o sistema para que consiga dar continuidade.
Acesso às outras filiais
Em alguns locais do sistema o usuário pode filtrar informações por determinados campos que o sistema já traz. Um exemplo é o filtro do portal, que lista todas as filiais que o usuário logado tem acesso.
Outro local é no próprio estúdio, ao listas as instâncias. Enfim, existem diversos locais do sistema onde traz por padrão filiais, porém nem sempre ele está trazendo todas as que existem, mas sim a que o usuário que está pesquisando tem PERMISSÃO para ver.
Para que essas filiais possam ser incluídas para tal usuário, deve-se verificar qual o grupo que este usuário está incluído e editar as permissões.
Na segunda aba "Filiais" é onde se coloca as filiais que aquele grupo tem permissão:
Vá incluindo de acordo com a necessidade.
Anexar arquivo fixo no processo
Para colocar um anexo fixo no procedimento (aparecendo em todas as atividades que estão marcadas para mostrar anexo), basta ir no cadastro do processos de negócios (BPM)
Listar todos os cadastrados e clicar com o botão direito sobre o procedimento especifico, clicando em "Anexos".
Será aberto uma tela de documentos, e ao clicar no botão Novo (+), o sistema permitirá que você vincule um documento do computador. Existem outras opções como "Arquivo existente" por exemplo, que permite escolher um documento já vinculado no GED, dentre outras opções.
Neste exemplo, escolhemos a opção "arquivo". O sistema traz o nome, data de criação/modificação e usuário que está incluindo de forma automática, porém os outros campos são editáveis "Tipo documento", "nome", observação, etc.
Assim sempre que uma instancia for iniciada, os anexos serão levados.
Caso não seja desejado que apareça o anexo em determinada atividade do processo, basta acessar a configuração da atividade e "Opções de colaboração". Veja a imagem abaixo:
Assistente de publicação
Configurando assistente de publicação
Para facilitar a publicação de processos de homologação para a produção, conectores dentre outras coisas, nossa ferramenta disponibiliza do recurso de assistente de publicação, que faz a ação automática.
Para usá-lo deve ser feito algumas configurações:
- Acesse o Ema_configurador que se encontra na pastas : C:\Ema Software\Contas ERP.
- Logo após de abri-lo, verifique se o ambiente está configurado como "Homologação".
Caso não esteja com o tipo ambiente: Homologação, altere e salve, logo após reinicie o serviço Ema_Start.
- Próximo passo é dar permissão ao grupo de usuário que poderá publicar em produção, acessando o estúdio em Configurações > Grupo de usuários.
- Clique com o botão direito no grupo que poderá publicar e vá em Permissões.
Somente usuários com o grupo de Administrador pode atribuir a permissão para outros grupos. (Usuário Gerente)
- Após acessar as permissões do grupo de usuário, no canto esquerde selecione o módulo Processos.
- Assim que selecionado, procure na coluna Acesso > Operações - Assistente de publicação e marque-o.
Clicando em "Ok" no canto inferior direito, vá no modulo de processos e selecione em Operações o assistente de publicação,
Acessando ele, irá abrir a tela do assistente onde poderá ser selecionado o que você pode importar para o servidor de produção.
No campo "Recurso" você tem as seguintes opções:
- Processos
- Relatórios
- Conectores
- Modelos de correspondência
- Blocos de correspondência
- Tela de processos
- Template de relatório
Dentre outras opções de filtros.
- Por fim vamos referenciar o servidor de produção a qual ele irá enviar as publicações, no canto superior direito clique nos três pontos > Configurações.
- Após isso indique o URL do servidor de produção, este URL é o mesmo de quando instalado o DOX configurado a porta e IP que será executado.
Caso não lembre qual URL do servidor de produção você pode acessar a pasta do executável do DOX, C:\Ema Software\Contas ERP e procurar pelo arquivo Ema_Conexao_Servidor.ini, abrindo ele como bloco de notas ou Notepad++ você consegue ver qual protocolo é usado (HTTP ou HTTPS), o host (127.0.0.1) e a porta usada(80), esses dados podem estar diferentes no seu pois varia de servidores, no nosso caso aqui está como localhost.
Depois desses passos já está pronto para publicar em produção os processos entre outras coisas...
* Os itens que podem ser importados caso o servidor estivesse como produção no ema configurador e foi alterado para homologação, só irão aparecer no assistente depois de iniciar uma nova versão e liberar ou realizar alguma alteração em relatório.
Utilizando assistente
Basta selecionar o que deseja publicar em produção, existe um assistente para marcar todos no canto inferior esquerdo chamado Seleção, nele você consegue marcar todos ou desmarcar.
- O botão "Alterar motivo da revisão" altera o motivo da revisão dos campos selecionados.
- Após selecionar os campos basta clicar em Publicar.
- Clicando em Publicar, informe o histórico das publicações (As alterações que foram feitas ou informações que podem ser útil).
- Clique em Confirmar Publicação.
Em seguida mostrará uma mensagem de confirmação da publicação.
Observações:
- Para funcionar corretamente a publicação de processos com subprocessos, é necessário selecionar também os subprocessos na publicação.
- Para funcionar corretamente a publicação de itens que dependam de conectores (Ex: conector de FK com conector de banco, Bloco de correspondência com conector de banco, assim por diante), é necessário selecionar todos os conectores necessários na publicação.
- Nos itens que podem ser publicados, já existe uma regra no sistema que determina que se o item possui o STATUSREVISAO = 3 (Publicado), o mesmo não será adicionado na publicação, então apenas os itens novos (status 0) ou recém editados (status revisão 1 ou 2) serão incluídos na publicação.
- Ao realizar a exportação de um processo, todos os tipos de processos cadastrados serão exportados.
- O assistente todos os papéis funções da hierarquia de papéis utilizados nos processos (pai e filho).
Atalhos do sistema
Esse tópico irá conter alguns dos atalhos que usamos para acessar abas do DOX, informando para onde as teclas irão redirecionar. O objetivo é mostrar ao usuário modelador DOX algumas funcionalidades que podem ajudá-lo no dia a dia.
*Importante frisar que os atalhos são concedidos através de permissões no grupo de usuário!
E no módulo Técnicos, você pode fazer um tratamento quanto à sensibilidade de caracteres em pesquisas como "Consulta rápida", conforme o print:
Atalhos
- [F1] Redireciona para o UniEma
- [F6] Redireciona para a aba Contatos.
- [F7] Redireciona para a Coordenação de Tarefas.
- [F8] Redireciona para as Minhas Tarefas.
- [F9] Redireciona para a aba Clientes.
- [F10] Redireciona para o Desempenho.
- [F12] Redireciona para a aba Atendimento ao Cliente.
- [CTRL | L] Pesquisa rápida de dados conforme o valor do campo.
- [CTRL | F] Acessa o registro selecionado.
- [CTRL | T] Realiza ações na tela atual (como enviar mensagem na tela mensagens, ou comentar na tela de tarefa).
- [CTRL | E] Verifica histórico na aba Clientes, e realiza ações como o atalho [CTRL | T] na tela mensagem.
- [CTRL | M] Abre a Metodologia na tela de tarefas.
- [CTRL | D] Delega/Soluciona na tela de tarefas.
- [CTRL | SHIFT | D] Abre os detalhes de qualquer registro.
- [CTRL | SHIFT | R] Abre a Localização rápida de tarefas.
- [CTRL | SHIFT | F] Alterna a empresa.
- [CTRL | SHIFT | C] Abre o Cadastro Rápido.
- [CTRL | SHIFT | O] Abre as opções do registro selecionado.
- [CTRL | SHIFT | P] Verifica PEX.
- [CTRL | SHIFT | L] Verifica as legendas.
Todos os dados:
No DOX Estúdio e ERP, existem várias telas de consultas. É possível visualizar a consulta SQL dessas telas da forma que as informações estão sendo filtradas no momento da execução. Para isso, em uma tela de consulta (ex: Processos de negócio (Instâncias)), clicar em Todos os dados no botão de Opções, como mostrado na imagem abaixo.
Ou clicar em Ctrl + Shift + D:
Na aba Campos x dados, você pode conferir todos os dados retornados da linha selecionada:
Na aba SQL, você pode visualizar o SQL de consulta dos dados atuais trazidos na tela de consulta.
Biometria - Configurar leitor Control ID
Aqui iremos abordar as configurações necessárias para realizar a configuração do leitor de biometrias Control ID, sendo possível utilizá-lo em cadastros e leituras de biométricas em processos no DOX Portal.
Antes de iniciarmos as configurações, é necessário salientar que a utilização dos recursos de biometria estão restritas a processos executados no DOX Portal, assim como se faz necessário a presença de um leitor em cada estação de trabalho que for utilizar desta funcionalidade.
Para executar processos que utilizam destes recursos biométricos, não será necessário nenhuma instalação adicional no servidor onde estão instalados os serviços padrões do Ema DOX. Entretanto, alguns recursos precisam ser instalados nas estações de trabalhos onde o mesmo será utilizado.
Abaixo estaremos disponibilizando os recursos necessários para utilização do leitor biométrico:
- Windows
- Versão recomendada: Windows 10 Pro.
- Possuir instalado na estação o Java Runtime Enviroment (JRE). Clique aqui para baixar.
- Baixar o serviço de integração entre DOX Portal e o dispositivo de leitura (Biometria Client.exe).
- (Opcional) Configurar o serviço para inicialização automática junto a estação.
- Linux
- Versão Recomendada: CentOS 8.1
- Possuir instalado na estação o Java Runtime Enviroment (JRE). Clique aqui para baixar
- Configurar as variáveis de ambiente:
- Export DISPLAY=:0
- u Xhost +
- Baixar o serviço de integração entre DOX Portal e o dispositivo de leitura (Biometria Client.exe).
- Iniciar o serviço de integração:
- java -jar “[Local de instalação]/Serviço Biometria Client - Control iD.jar”
Para realizar a configuração dos processos que farão a utilização deste dispositivo você poderá seguir os procedimentos passados nos tópicos indicados abaixo, também presente em nosso fórum.
Versão homologada: 12.8.0+
Imagem na grade de dados
** O recurso explicado abaixo foi disponibilizado na versão 17.6.0.611 do DOX Estúdio/Portal, certifique-se de ter a versão devidamente instalada e configurada em seu ambiente.
Pense neste exemplo de uso:
Você trabalha com um ERP que possui tabela de itens de variados tipos. Pensando em automatizar a consulta, é criado um BPM que traz em uma grade de dados o código do item, a imagem do item, a descrição e adicionais.
Com este novo recurso criado, a imagem do item ficaria disponível como uma miniatura, conforme gif acima, permitindo a personalização de outros campos sem deixar a grade de tamanho irregular. Caso o usuário clique em cima da miniatura, o tamanho da imagem será mostrado em tela.
**Atenção: Deve-se ter cuidado para não colocar imagens que excedem o limite do dispositivo.
Abaixo colocamos um exemplo de uso personalizado, com tabelas e consultas no computador local/banco/GED.
Como configurar puxando imagem de uma pasta local do computador?
Antes de configurar o procedimento e as atividades, crie as seguintes tabelas abaixo:
1 - MODULOS_ERP
CREATE TABLE MODULOS_ERP (
IDMODULO INTEGER NOT NULL PRIMARY KEY,
DESCRICAO VARCHAR (100));
Insira alguns dados manualmente, conforme:
2 - PRODUTOS_EMA
CREATE TABLE PRODUTOS_EMA (
IDPRODUTO INTEGER NOT NULL PRIMARY KEY,
DESCRICAO VARCHAR (100));
Insira alguns dados manualmente, conforme:
Feito isso, vamos agora criar uma PASTA no computador local (servidor), onde as imagens que queremos colocar na grade estarão armazenadas. Aqui é importante frisarmos que, o nome do arquivo é essencial para que o recurso funcione, pois o SQL irá puxar sempre a DESCRIÇÃO/NOME do arquivo, sem exceções. Caso a descrição da imagem seja um número (como neste exemplo), deve ser buscado esse numero no SQL.
- Criamos a pasta "ema" dentro da pasta 'www' (C:\Ema Software\Contas ERP\www).
- Dentro da pasta, as imagens foram colocadas de acordo com a ordem das tabelas criadas mais cedo (não é necessário a ordem, criamos assim para melhor entendimento).
Criado as tabelas e pastas locais, vamos iniciar o procedimento. Na primeira atividade, crie duas grades de dados:
- Módulos - /*MODULOS_ERP*/ (Tipo "Grade de dados")
- Outros produtos - /*PRODUTOS_EMA*/ (Tipo "Grade de dados")
Na primeira grade MODULOS, crie as colunas de acordo com os campos da tabela modulos_erp:
- IDMODULO - Imagem
- DESCRICAO - Texto
Na subdivisão "Origem"
- Diretório: Pasta/Local onde estão armazenadas as imagens. Importante ressaltar que as imagens só serão devidamente mostradas na grade se a pasta estiver dentro da pasta padrão 'www' (C:\Ema Software\Contas ERP\www).
- Extensão padrão: Aqui é importante dizer que, caso a descrição da imagem retornada não contenha extensão do arquivo, o sistema usará a extensão configurada neste campo por padrão. Neste exemplo que estamos apresentando, buscamos apenas pelo nome do arquivo que não possui a extensão. Como todas as imagens usadas são .png, deixamos essa como padrão.
* O campo do tipo "Imagem" sempre será somente leitura.
Agora, faça o mesmo com a segunda grade PRODUTOS, criando as colunas de acordo com os campos da tabela produtos_ema:
- IDPRODUTO - Imagem
- DESCRICAO - Texto
Terminado de configurar ambos os formulários de grade, vamos para os eventos que vão buscar os nomes das imagens. Crie um conector para puxar os módulos da tabela modulos_erp, com o seguinte SQL:
SELECT IDMODULO,
DESCRICAO
FROM MODULOS_ERP
O evento é Estrutura de repetição - Carregar, pois estamos trazendo os dados para uma GRADE DE DADOS.
Crie um conector para puxar os produto da tabela produtos_ema, com o seguinte SQL:
SELECT IDPRODUTO,
DESCRICAO
FROM PRODUTOS_EMA
Perceba que, em ambos os SQL's os campos que estão sendo selecionados contem a mesma descrição que o campo NOME na coluna da grade de dados.
Depois de configurado, salve o processo e teste no portal.
Inserir imagem via JEX/PEX
Para realizar a inserção de imagem via evento ao sair, a configuração da grade deve ser igual ao que explicamos acima:
- O campo "Caminho"/"Diretório" contendo um local de onde estão as imagens, seja no computador ou no GED.
- O campo "Extensão padrão" contendo a extensão que o sistema irá utilizar caso não seja informada extensão para a imagem pelo SQL ou pelo evento ao sair.
Veja no JEX por exemplo:
valoresRegistroAtual.IMAGEM = 'DOX';
Ou, caso no campo "Extensão padrão" tenha um valor que seja diferente da do arquivo "DOX":
valoresRegistroAtual.IMAGEM = 'DOX.png';
Veja no PEX por exemplo:
loNovoRegistro.AddPair('IMAGEM', 'DOX');
Novamente, colocando a extensão do arquivo junto:
loNovoRegistro.AddPair('IMAGEM', 'DOX.png');
** As únicas extensões possíveis para imagem na grade são: jpg, jpeg, png, gif, webp, e svg.
Campo FK filtrando outro campo FK
Neste tópico veremos como filtrar algumas cidades através de um campo FK estado, conforme a gif abaixo:
Criando as Fk's:
No modulo de Processos > Conectores > Novo(F2)
Na criação do conector, no campo Tipo selecione o tipo Foreign key e preencha as informações conforme a imagem abaixo.
Criando FK UF:
Clique em "Ok" para salvar e crie uma nova Fk.
Criando FK Cidades:
Preencha os campos conforme a imagem abaixo, porém a parte mais importante deste tópico está neste conector FK, no campo "Filtros adicionais" iremos filtrar por uma variável que ainda será criada no processo, /*UF*/, como o retorno dela será um texto deixaremos entre aspas simples, pois assim que selecionar o estado a variável irá ser preenchida com a UF e irá filtrar somente as cidades desta UF.
Logo após salve o conector.
Criando BPM:
No modulo de processos > Processos de negócios (BPM) > Novo(F2) e preencha as informações iniciais:
Coloque as permissões como achar melhor, e crie uma atividade com dois campos de filtro.
- Estado - /*UF*/ (Texto)
- Cidades - /*CIDADE*/ (Inteiro)
Campo Estado:
Selecione o tipo "Dissertativa" e dê um título a ele, logo após clique no três ponto ao lado do campo "Armazenar" e crie a variável conforme a imagem abaixo:
Na aba "propriedades" marque a opção para atualizar o valor da variável assim que sair do campo. Marcando essa opção, o valor dela sempre vai ser atualizado logo após e assim a FK de cidade sempre vai trazer as cidades da UF selecionada anteriormente.
No evento PEX ao sair deste campo iremos apenas zerar o valor do campo cidade, Como não criamos ainda, iremos deixar para depois que criar o campo.
Campo Cidades:
Siga o mesmo procedimento de criar o campo Estado, porém neste caso não iremos atualizar o valor da variável ao sair.
Assim que o campo estiver criado iremos voltar ao campo Estado e marcar a opção "Ao sair" e zerar o valor do campo cidade, conforme o PEX abaixo:
Feito tudo isso, só salvar o BPM e testar.
Versão Homologada: 12.8.7
Central de processos
A Central de Processos é um recurso no Portal DOX onde os processos são disponibilizados para uso e colaboração dos usuários que utilizam o sistema.
A partir dela pode-se iniciar novas colaborações com processos, colaborar com processos já abertos, monitorar as instâncias de processos criados por você, além de seus processos já finalizados.
Tipos de Processos
Um dos recursos importantes da central de processos e que propõe uma melhor organização dos processos são os Tipos de Processo. Eles funcionam como se fossem agrupadores de processos de acordo com a área ou necessidade de organização de cada empresa.
Para cadastrar Tipos de Processo deve-se entrar no menu de processos do Ema DOX Estúdio, e selecionar a tela de "Tipos de Processos".
Para a criação/Edição/Inativação:
Após a criação dos tipos de processos necessários para organização da sua central de processos, você deverá vinculá-los em seus processos no momento da criação, a partir do campo "Tipo processo".
O mesmo é um campo obrigatório, portanto não é permitido dar sequência a criação de um processo sem que esse campo seja informado.
Por fim, após a criação e vínculo de processos com seus tipos , a sua central de processos no Ema DOX Portal ficará similar a que segue na imagem ao lado:
Guias de Colaboração
Para garantir uma maior organização das instâncias de processos pendentes de colaboração e que estão em aberto, são disponibilizadas tanto no Estúdio quanto no Portal as seguintes guias:
- Iniciar: Página inicial e padrão da central de processos, onde estão disponíveis todos os processos que você tem permissão para iniciar;
- Coordenar: Processos iniciados por você e que ainda estão em aberto para colaboração de quaisquer usuários;
- Colaborar: Processos que estão pendentes da sua colaboração para serem continuados;
- Colaborei: Processos pelos quais você colaborou em quaisquer atividades, e ainda estão em aberto/não foram finalizados;
- Encerrados: Processos já encerrados.
Filtros da guia:
Dentro das guias de colaboração de processos existem alguns campos que podem ser utilizados para uma melhor organização e filtragem dos processos apresentados. Estes filtros serão detalhados abaixo:
- Termo de pesquisa: buscará no sistema todas as instâncias que contém o texto informado nesse campo. É importante ressaltar aqui que esse filtro de pesquisa vai buscar em toda a base as instâncias que contem o valor informado no campo então se a base já é grande a consulta pode ser demorada. Por isso é recomendado que seja utilizado dos outros filtros juntamente, para limitar a busca e trazer as informações com mais rapidez;
- Filiais deve-se selecionar todas as filiais que precisam ser mostradas nessa tela, lembrando que só irão ser lista as filiais que o usuário tem acesso. Esse tipo de permissão é alterada no grupo de usuário. Se o grupo de usuário daquele usuário logado não tem acesso à filial, não irá aparecer a filial no filtro;
- Processos: lista de procedimentos existentes;
- Tipos de processos: tipos de processos cadastrados;
- Inicio: Filtros do tipo data que irão buscar os processos que foram iniciados naquela data.
- Marcadores: abaixo do botão "Filtrar" encontram-se alguns marcadores que podem ser utilizados para filtragem de processos. Parra que o processo tenha um marcador vinculado, geralmente é utilizado um evento "Adicionar Marcador".
Configurando "Esqueceu a senha?" do portal
Por padrão o sistema envia um modelo simples com apenas um link que te redireciona para redefinir a senha. Este conteúdo tem como objetivo explicar de maneira rápida e objetiva como utilizar o recurso "Esqueceu a senha?" do DOX portal.
Siga os passos abaixo:
- Vá em Configuração> Parâmetros gerais - DOX portal
- Vincule no campo “Conector de e-mail” um conector do tipo E-mail (Faça o teste para verificar se ele está de fato funcionando);
É este e-mail que será a conta de envio, responsável por enviar para o e-mail que você informar no portal, a “Recuperação de senha”. Em seguida confirmar a alteração do parâmetros com “CONFIRMA”.
No portal, é, necessário você informar um e-mail, por exemplo, e este e-mail tem que estar informado no cadastro do colaborador.
Verifique:
- Processos > Colaboradores > Clicando em um colaborador
- Na aba “Identificação”
Exemplo no portal:
Seguindo esses passos corretamente, o sistema enviará para o e-mail a mensagem para a recuperação da senha. Por padrão o sistema envia um modelo simples com o link:
Porém, se você deseja colocar um modelo personalizado de acordo com os modelos da sua empresa, depois de criar o layout do modelo de correspondência, selecione uma palavra para guardar o link (Exemplo: "Clique aqui") e clique no recurso de "link" da tela:
Em seguida ele abrirá uma tela para colocar as informações de link.
- Copie no campo "URL" a seguinte variável: /*TEXTOPROCESSO*/.
- Vincule o modelo criado nos parâmetros gerais (acima do modelo de e-mail).
OBS: Para ver a URL completa no e-mail, basta clicar no campo no canto direito da tela e coloca no texto.
Por fim, quando receber a mensagem de recuperação no e-mail, clicando no link ele te redireciona para redefinir a sua senha e confirmar:
Configurar acesso externo ao DOX Portal
** Caso houver dúvida relacionado ao procedimento abaixo, entrar em contato com o T.I. da ema software.
Mais conteúdos: Utilizando certificado auto assinado SSL para HTTPS no Portal
Requisitos:
Para que o acesso ao DOX Portal possa ser feito através de um subdomínio, ao invés de um endereço IP ou por meio de um host genérico obtido por serviços gratuitos de DNS, a empresa precisa ter um domínio registrado no órgão https://registro.br/ e possuir acesso ao seu gerenciamento.
Também é necessário possuir um link de internet com endereço IP fixo, para poder vincular o subdomínio ao endereço IP. A disponibilidade do endereço IP fixo pode ser averiguada com a operadora de telecomunicações que provê o acesso a internet na sua empresa. Já o número do endereço IP pode ser obtido acessando o site http://meuip.com/ a partir de sua rede, ou ainda confirmando ele diretamente com a operadora.
Configuração:
- Passo 1 - Obter acesso ao serviço de DNS do domínio:
Cumprindo os requisitos, o primeiro passo consiste em acessar o gerenciamento do servidor DNS do domínio de sua empresa. Este recurso geralmente é utilizado por meio de um serviço de hospedagem, onde o domínio será hospedado após ter o registro efetuado no https://registro.br/
Em sua hospedagem, acesse os serviços de DNS e crie um registro do tipo Address (A). No exemplo abaixo, será criado um host para o domínio ema.net.br. Ele será chamado dox.ema.net.br e irá apontar o caminho de conexão para o endereço IP fixo 256.98.41.76:
Após inserir o host na tabela de DNS de sua hospedagem, levará alguns minutos para que o endereço seja replicado para os demais serviços de DNS da internet. Na sequência, o host vai passar a responder para o endereço IP. Você pode confirmar se o subdomínio estará respondendo para o endereço IP utilizando a ferramenta PING no prompt de comando do seu sistema operacional, realizando o PING para o host criado no passo anterior.
- Passo 2 - Realizar o redirecionamento da porta de comunicação do DOX:
Este passo consiste em configurar o acesso externo ao DOX Portal. Primeiramente é necessário obter a porta de comunicação principal informada no ema_configurador. No exemplo a seguir a porta padrão foi definida como sendo a de número 80:
É por meio desta porta padrão que o acesso web ao DOX Portal será realizado. Para configurar o acesso externo é necessário acessar o gateway de sua rede (modem ADSL, roteador, sistema de firewall, etc.) e criar uma regra de NAT. Esta regra vai permitir que todos os acessos externos que chegarem na sua rede pela porta 80 (através do seu endereço de IP fixo ou pelo subdomínio criado no primeiro passo) sejam redirecionados para o servidor onde o DOX Portal estará em execução, fazendo assim com que a conexão seja estabelecida.
Abaixo encontra-se o exemplo de uma regra de NAT para este fim:
A regra informa que todas as conexões de rede originadas do link VIVO, utilizando o protocolo TCP e a porta 80, serão encaminhadas para o servidor na rede local que possui o endereço IP 192.168.0.206.
A porta 80 é a porta padrão do protocolo HTTP. Caso outra porta principal seja informada no ema_configurador, a regra deve ser feita para ela.
Além do redirecionamento desta porta no gateway, também será necessário efetuar a liberação dela no firewall do Windows, onde o servidor DOX está instalado.
- Passo 3 – Acessar o DOX Portal pela rede externa:
Com as configurações anteriores realizadas, será possível acesso o DOX Portal a partir de uma rede externa utilizando o endereço http://dox.ema.net.br. Indicamos que ao criar um host para o seu domínio, seja utilizado o seguinte padrão: http://dox.seudominio.com.br.
Caso a porta principal informada no ema_configurador não seja a porta 80 (porta padrão do protocolo HTTP), será necessário informá-la no caminho do host. Como exemplo, se a porta informada no Ema Configurador for a 8080, o acesso seria realizado da seguinte forma: http://dox.ema.net.br:8080
Para facilitar o acesso ao DOX Portal quando a porta principal não for a 80 (o que pode ocorrer, caso ela já esteja sendo utilizada em sua infraestrutura de TI por outra aplicação), uma opção é criar a estrutura de um subdomínio em sua hospedagem, fazendo com que o acesso seja realizado pelo host sem a necessidade de informar a porta alternativa. Isto é possível por meio de um redirecionamento de URL no arquivo index.html do subdomínio. Para este caso é necessário primeiramente acessar a hospedagem do seu domínio e criar a estrutura de um subdomínio na hospedagem:
Neste exemplo estamos criando o subdomínio chamado http://dox.ema.net.br. Note que este não é um registro de DNS. Após criar o subdomínio, na estrutura de seu site será criado um diretório chamado DOX (por padrão, o diretório será criado dentro de “/www”). O passo seguinte consiste em acessar o diretório DOX. Geralmente este acesso é feito via FTP. Indicamos o uso do cliente de FTP chamado Filezilla FTP Client:
Dentro do diretório DOX você irá encontrar o arquivo index.html. Ele fará com que ao acessar o site http://dox.ema.net.br o acesso seja redirecionado para outro caminho.
Faça o download do arquivo index.html e edite ele com um editor de texto. A sintaxe a ser utilizada dentro do arquivo index.html para realizar o redirecionamento é a seguinte:
<!DOCTYPE html>
<html class="no-js" lang="pt-br">
<META http-equiv="refresh" content="0;URL=http://endereço_IP_fixo:Porta_Dox">
</html>
No argumento “URL” você deverá informar o seu endereço IP fixo e a porta principal que está sendo utilizada pelo DOX. Como exemplo, se o seu endereço de IP fixo for 256.98.41.76 e porta principal for a 8080, a sintaxe completa ficaria deste modo:
<!DOCTYPE html>
<html class="no-js" lang="pt-br">
<META http-equiv="refresh" content="0;URL=http:// 256.98.41.76:8080">
</html>
Sendo assim, ao acessar o endereço http://dox.ema.net.br a conexão será direcionada para o endereço http://256.98.41.76:8080 fazendo com que o usuário não necessite informar a porta, facilitando o acesso.
- Passo 4 – Acessar o DOX Portal pela rede interna:
Todas as configurações anteriores referem-se a conexão externa para o DOX Portal. Para acessá-lo internamente neste primeiro momento, não será possível utilizar o host http://dox.ema.net.br, pois ele está vinculado ao seu próprio endereço de IP externo. Sendo assim, ao tentar acessá-lo a partir de sua rede interna, não será possível encontrar o caminho.
Para acessar o DOX Portal em sua rede interna, utilizando o host criado em sua hospedagem, você irá precisar de um servidor DNS na sua rede interna. Este servidor fará com que as conexões para o http://dox.ema.net.br originadas de sua rede interna não sejam mais apontadas para o seu endereço IP público, mas sim para o endereço IP do servidor DOX na rede local.
No exemplo que será apresentando a seguir, está sendo utilizado o Servidor de DNS do Windows Server, que atua juntamente com o serviço de Active Directory da Microsoft.
No servidor DNS, crie uma nova zona primária de pesquisa direta com o nome do host utilizado na hospedagem do domínio. Abaixo encontra-se a conclusão do assistente:
Com a nova zona de pesquisa direta criada, é necessário criar dentro dela um novo registro DNS do tipo Host (A). Ao criar um novo registro, é necessário deixar o campo NOME em branco, e informar apenas o Endereço IP. Este deve ser o endereço IP do servidor onde o DOX está instalado. No exemplo abaixo, o endereço IP do servidor DOX é apresentado como 192.168.0.206:
Feito isso, as estações de trabalho da sua rede local precisam estar com os servidores DNS internos definidos em suas configurações de rede. Deste modo, ao tentarem acessar o site http://dox.ema.net.br, o acesso será encaminhado para o endereço IP do servidor na rede local.
Caso você utilize um sistema de proxy em sua rede interna, ele pode não conseguir fazer o redirecionamento para acessar o DOX Portal pela rede interna deste modo. Se ocorrer algum problema, existem duas opções para resolvê-lo:
- A primeira consiste em configurar as opções de internet nas estações de trabalho, informando que o endereço http://dox.ema.net.br não passará pelo proxy.
- A segunda opção é configurar no sistema de proxy o ByPass para o endereço http://dox.ema.net.br.
Configurando o acesso via HTTPS:
O acesso ao DOX Portal via protocolo HTTPS (conexão segura) é definido no ema_configurador. No ema_configurador deve-se utilizar obrigatoriamente a porta principal 443 (porta padrão do protocolo HTTPS) para permitir este acesso.
A configuração é realizada do seguinte modo:
É necessário também marcar a opção Utiliza HTTPS. Na sequência, deve-se informar o caminho do certificado HTTPS do seu domínio. Ele deve estar obrigatoriamente em formato .pem. Este certificado pode ser obtido por meio de sua hospedagem. Caso você não o tenha, você deverá entrar em contato com sua hospedagem e verificar o procedimento para solicitá-lo.
Feito isto, o acesso ao DOX Portal será feito pelo endereço https://dox.seudominio.com.br
Configurar filial e usuário publico
Para que seja possível abrir instâncias de processos no DOX Portal, é necessário configurar uma filial ao usuário logado do colaborador ou definir uma filial pública. Neste caso, se houver uma filial pública definida, não é necessariamente obrigatório configurar uma filial ao usuário logado.
Quando essas configurações não são feitas, o usuário que tentará iniciar uma nova instância de um processo, verá essa mensagem:
Criação de filial:
Acesse Configurações > Matriz / Filial > Novo [F2] e realize o cadastro da nova matriz preenchendo as informações em seu cadastro:
Caso o cliente não tenha uma filial publica oficialmente, pode ser criada uma nova filial por ali com o nome "FILIAL PUBLICA" ou algum outro descritivo.
Criação de Usuário Publico:
Acesse Processos > Colaboradores> Novo [F2] e realize o cadastro do novo usuário preenchendo as informações em seu cadastro. Geralmente é criado por padrão o usuário de nome "PUBLICO".
- Na aba "Identificação" colocar o nome "PUBLICO (NÃO INATIVAR)";
- Na aba "Adicionais" colocar o USER NAME "PUBLICO" e uma senha padrão.
Preencher os outros campos obrigatórios e finalizar o cadastro.
Configuração nos parâmetros:
Para configurar a filial e usuário público, no Dox Estúdio:
- Acessar as Configurações, Parâmetros gerais - DOX;
- Definir nos campos Filial pública e Usuário público, a filial e usuário criados anteriormente:
Caso de uso:
Atualmente é possível configurar a permissão Quem pode iniciar instâncias deste processo para Acesso público em processo BPM.
Dessa forma, mesmo sem o login para a colaboração do processo, o sistema vai entender que quem de fato colaborou com o BPM foi o usuário que configuramos nos parâmetros gerais.
Em processo automáticos também é utilizado o usuário configurado para realizar a "colaboração automática". Isso pode ser consultado no log da instância de negócio no DOX estúdio.
Controle de versão
Vamos abordar um assunto simples, porém que gera algumas dúvidas por parte dos desenvolvedores/modeladores DOX que estão iniciando na ferramenta.
O Sistema DOX trabalha com controle de versão, ou seja, ele possui a finalidade de gerenciar as diferentes versões de um procedimento. O processo de versionamento do software ajuda a documentar inclusões, alterações e exclusões de funcionalidades (Sejam atividades, formulários, eventos, relatórios, etc.).
Com isso, o sistema oferece uma maneira muito inteligente e eficaz de organizar o seu processo. Pode acontecer, por exemplo, de uma versão recém liberada apresentar erros.
O DOX então, permite colocar a versão anterior para colaboração novamente. Por este motivo o versionamento dos processos é essencial em qualquer tipo de projeto, afinal, além das razões citadas acima, a segurança também é maior.
Histórico de operações
Clicando com o botão direito sobre o processo, há uma opção chamada Histórico de operações.
As informações contidas ali são:
- A data e horário onde foi iniciada ou liberada alguma versão do processo.
- O usuário responsável por esta operação.
- Uma observação, que consta qual a versão que foi iniciada ou liberada.
Este assistente permite que eu tenha um controle sobre alguma modificação em relação as versões dos processos.
Duvidas e questionamentos:
Abaixo estão algumas dúvidas que já foram feitas em alguns atendimentos no nosso suporte DOX e que podem ajudar você a entender melhor como funciona o versionamento dos processos:
Tenho um processo de "Conferência" em colaboração que foi iniciado quando a versão 1 estava liberada, porém acabei de liberar a versão 2 para uso. Se eu continuar colaborando com a instância, ela vai seguir com fluxo de modificações da versão 2?
Não, a instância que você está colaborando vai continuar seguindo o fluxo da versão 1, neste exemplo. Todas as modificações realizadas na versão 2 só iram se aplicar a processos que forem iniciados neste versão, após ela ter sido liberada.
Como faço para saber a versão em que tal instância foi iniciada?
No módulo Processo > Processos de negócios (Instâncias), com o mouse sobre a instância desejada, você pode digitar o atalho Ctrl+Shift+D e todos os dados da instância aparecerão.
Procure pelo campo idversao da aba Campos x Dados e lá estará a versão do processo.
OBS: Caso queira fazer uma pesquisa mais complexa sobre aquela instância, na aba SQL desta tela mesma tela, está todas as informações sobre o processo Se necessário modifique na ferramenta de banco de forma à trazer a informação desejada.
Há alguma maneira de eu ver essas informações da instância sem precisar ir na tabela do banco de dados ou ficar procurando com o atalho Ctrl+Shift+D?
Sim, você pode "personalizar" a sua consulta. Desta forma, a informação estará lá, em uma coluna fixa, quando os processos forem listados:
No módulo Processo > Processos de negócios (Instâncias), clique nos três pontos, localizados no canto superior direito da tela e em "Personalizar".
Uma tela de personalização aparecerá. Caso queira que algum campo da aba Campos disponíveis apareça ao listar os processos, clique duas vezes.
O campo escolhido será adicionado para a tela Campos visíveis, onde pode-se configurar:
- Título (Como será mostrado para você na consulta)
- Tamanho que a coluna terá de largura.
Clique em Ok para salvar essa personalização e dando um F5 na consulta do processo, a coluna Id versão mostrará a versão de todos os processos listados:
OBS: Este procedimento funciona em todas as telas de consulta no DOX Estúdio.
Estou na versão 5 de um processo de "Registro de Endereço" liberado. Tenho uma instância que está sendo colaborada, iniciada na versão 2, e tem alguns campos que quero modificar nessa versão 2 antes de finalizar o processo. Se eu iniciar um nova versão do processo, clicar na versão 2, e modificar esses campos, ao liberar e colaborar com a instância novamente, essas modificações que eu fiz serão aplicadas?
Não, pois você pode ter iniciado a versão 2 (A versão antiga), mas ao liberar a versão para uso novamente, você estaria na versão 6 do procedimento. Ou seja, essas modificações estariam presentes apenas nos processos que fossem iniciados na versão 6, a mais recente liberada.
Exemplo mais prático:
Criamos um processo onde há apenas uma atividade com três formulários:
Fluxograma:
E liberamos a versão 1:
Depois de liberada, vamos colaborar com ela no portal:
Vamos verificar a instância dela no estúdio.
Processos > Processos de negócio (instâncias) > Filtrar pelo Cód. Processo com o atalho Ctrl + L e informando o código como na imagem acima.
Na aba Processo da instância, como podemos ver, foi seguido o fluxo da versão 1, com apenas a atividade "Informe dados"
Agora, vamos iniciar uma nova versão deste processo, onde iremos acrescentar outra atividade com os formulários da atividade 1, porém somente leitura.
Quando for escolher a versão base que será copiada, a tela apresentará:
- Versão
- Data e hora que foi iniciado cada versão
- O motivo, caso tenha algum, que é informado campo "Motivo da revisão" mostrado na imagem.
- E por fim, o responsável por esta operação.
Copie os formulários da atividade 1(Informe os dados). para a atividade 2 (Mostrar dados).
Fluxograma:
E liberamos a versão 2. Depois de liberada, vamos colaborar com ela e verificar a instância no estúdio:
Podemos ver que a instância seguiu o fluxo da versão 2, com a atividade "Informe dados" e "mostrar dados". Ou seja, o fluxo sempre será seguido conforme a versão que foi iniciado o processo.
Ema Configurador
Após ter instalado as aplicações (Ema Serviços, Ema DOX Estúdio e Ema DOX Portal), acessar o Ema_Configurador.
Esse é o aplicativo responsável por toda a configuração necessária para que os aplicativos Ema possam ser utilizados. Nele serão configurados todos os micro serviços que serão utilizados, além do acesso ao banco de dados. Ele fica localizado na pasta "C:\Ema Software\Contas ERP\Ema_configurador.exe" ou na área de trabalho do servidor.
Aba servidor
- Porta: 80 é a porta usada por padrão, neste exemplo usamos 9999.
- Utiliza HTTPS: Para saber mais em relação ao uso do HTTPS clique aqui.
- Opções de log: Quando o parâmetro estiver marcado, todos os tempos de consultas SQL do Ema BPM, Ema Servidor e aplicações desktop (DOX, ERP, etc..) serão logados via ema Log no caminho "C:\Ema Software\Contas ERP\log\SQL\TemposDeConsultas.log".
Aba Banco de dados
ORACLE
PARA ESPECIFICAR O CAMINHO, SEMPRE USE O IP DO SERVIDOR DE BANCO DE DADOS
Para conexão Oracle é necessário que seja informado as seguintes informações:
- Caminho: Deve ser informado no seguinte formato "Host(IP):Porta/ServiceName".
- Usuário: Schema criado contendo os dados da Ema.
- Senha: Senha do schema.
Em alguns casos, de acordo com a instalação do Oracle, não é possível realizar a conexão utilizando o ServiceName. Nestes casos deve informar o caminho da mesma forma que é configurada uma conexão TNS, exemplo:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)))
PostgreSQL
Para conexão PostgreSQL é necessário que seja informado as seguintes informações:
- Caminho: Informar apenas o endereço IP do banco de dados.
- Usuário: Schema criado contendo os dados da Ema.
- Senha: Senha do schema.
Firebird
Para conexão Firebird é necessário que seja informado as seguintes informações:
- Caminho: Deve ser informado no seguinte formato "Host:CaminhoBD" ou, se o arquivo estiver local, apenas o caminho.
- Usuário: Usuário do Firebird.
- Senha: Senha do Firebird.
Micro serviços
Na aba Serviços, normalmente marca-se as opções:
- Ema Servidor;
- Ema BPM;
- Ema GED;
- Ema BI;
- Ema relatórios BPM;
- Ema PEX;
- Ema E-mails;
- Ema PEX;
- Em JS Sandbox;
- Ema Lembretes;
- Ema Motor DOX
Somente marcar outras opções se for confirmado que o serviço será usado. Caso contrário, estará consumindo memória desnecessariamente.
Ativar serviços
Para ativar os serviços DOX, temos duas opções: por Aplicação e por Serviço do Windows.
Para testar o ambiente e verificar se está tudo funcionando corretamente, a ativação no modo aplicação pode ser feita, como na imagem abaixo, selecionando o ambiente configurado, clicando em ativar e confirmando em sim. Uma janela do Prompt de Comando irá se abrir e enquanto estiver aberta, os serviços estarão ativos.
Para que os serviços DOX sejam ativados da melhor forma e estável possível, é recomendado criar um serviço de inicialização do ambiente configurado, como na imagem abaixo:
Isso irá criar um serviço do Windows chamado Ema_Start, onde terá que ser ativado além de configurado com o tipo de inicialização automático com o login de Administrador do servidor. Isso irá garantir que quando o servidor seja reiniciado, por exemplo, os serviços irão iniciar automaticamente ao ligar o sistema operacional.
Monitorar serviços
Para monitorar se os micro serviços estão rodando corretamente, no Ema Configurador, acessar a opção como na imagem abaixo ou acessar o endereço 127.0.0.1:8500 em um navegador (recomendado: Google Chrome).
Todos os micro serviços aparecem nessa lista com o seu status. Verde: Online; Laranja: Offline. Aguardar todos ficarem verde. Isso pode demorar alguns minutos.
Enviar e-mail a cada erro gerado no log
Esse tópico serve para explicar como utilizar a ferramenta 'Enviar e-mail a cada erro gerado no log', liberada na versão 12.20.1.588.
Para quê serve esse parâmetro?
Essa função irá notificar por e-mail toda vez que um erro no log for registrado em qualquer parte do sistema, exemplificamos a situação forçando um erro em um processo de teste chamado 'Historias'.
O processo não precisa estar liberado, visto que os e-mails serão enviados mesmo enquanto está em fase de testes.
Foi inserido no processo um conector que tenta puxar dados de uma tabela inexistente, e também tiramos a função de deixar os campos do processo obrigatórios, fazendo assim com que os erros desse processo aumentem.
Assim que nós o testamos, o e-mail veio imediato:
Como ativar?
Para ativar a função, basta seguir o caminho:
- Configurações >
- Técnicos >
- Opções técnicas
- E encontrar o agrupamento Log.
Nos parâmetros do Log, você só precisa marcar o campo "Enviar e-mail a cada erro gerado no log", e preencher o conector de envio e destinatário.
Assim, sua função estará habilitada e pronta para uso. Em casos de erro, confira se o seu provedor de e-mail permite o envio através do DOX.
Enviar vários e-mails para destinatários diferentes
Neste tópico criamos o seguinte BPM:
- Na primeira atividade, ao abrir o processo, o usuário verá listado em uma grade de dados os usuários + seus respectivos e-mails para o envio de uma mensagem automática. Neste exemplo, o usuário final do portal só poderá visualizar os usuários que receberão, mas no DOX é possível criar vários possíveis cenários.
Para baixar o BPM desenvolvido, clique aqui.
* O conector de envio, imersaouniema@emasoftware.com.br não está correto, deve ser mudado na importação para um que você tenha de exemplo.
- Depois de criar um processo simples, crie uma atividade manual.
- Na aba "Eventos", comece criando o evento "Estrutura de repetição - carregar".
No campo SQL de Consulta:
SELECT FANTASIA,
EMAIL
FROM CLIFOREMP
WHERE EMAIL <> 'TESTE@EMA.NET.BR'
AND EMAIL <> '.'
No campo Variável armazenar: Variável do tipo grade de dados que será armazenada o retorno da consulta. Neste exemplo utilizado /*G_DADOS*/.
Logo após crie o evento de Estrutura condicional - Início.
- Altere o campo Origem para Conjunto de dados.
- Na Variável origem informe o variável que foi armazenados os dados.
Assim que configurado o evento de condicional crie o evento de Estrutura de repetição - Retorna valor
- Informe no campo variável origem a qual foi armazenada os dados
- Na coluna campo informe o nome exatamente da coluna do SQL que foi criada no conector
- Na variável destino as variáveis que serão populadas.
Assim que realizado todo o procedimento neste evento crie o evento de Comunicação - E-mail.
- Conta de envio: Aqui será o remetente, a conta de envio responsável por enviar os e-mails. Pode-se ser um conector fixo ou uma variável em especifica.
- No campo Destino informe a variável do e-mail que foi populada no evento anterior ( /*EMAIL*/).
Por fim feche a estrutura condicional usando o evento Fim.
Depois de criado os eventos, passe para a aba "formulários" e crie um formulário do tipo grade de dados, vinculado à variável de grade que já temos.
Ao usar essa opção, colocar no campo "SQL de Consulta" o conector que utilizamos recentemente para buscar os e-mails.
Envio de e-mail no DOX
Monitoramento de envio
Algumas vezes é necessário verificar o envio de algum e-mail específico, por não chegar ao destino ou apenas para garantir que tenha sido enviado corretamente.
Na ferramenta há um recurso para monitorar o serviço de envio de e-mail. Basta acessar a tela de Configurações do Dox Estúdio, e clicar em E-mails, como mostrado na imagem abaixo:
Preenchendo os filtros como necessário e atualizando a consulta, aparecerá os e-mails pendentes, enviados e não enviados por causa de algum erro. O erro detalhado será mostrado na parte de baixo da tela quando o e-mail é selecionado na lista.
OBS: por padrão, somente usuários com permissões de administrador podem visualizar esta funcionalidade.
Desmistificando:
O que ele faz é encaminhar a lista de e-mails que devem ser enviados para o PROVEDOR que ele sim ENVIA O E-MAIL, ou seja, nós encaminhamos a lista configurada direto para o provedor, e ele é responsável por enviar. Se por acaso ele não conseguir enviar por quaisquer motivos, ele vai retorna o erro ali na nossa tela (mais acima) para que o responsável pelos e-mails consiga arrumar o problema ou investigar a causa.
Então se algum erro é retornado ali, o ideal é investigar com o provedor a causa. Já tivemos casos de:
- E-mail configurado errado no conector de e-mail, com nome e senha incorretos;
- Provedor bloquear e-mail por questão de segurança;
- Limitação de números de envio por dia e muitos outros.
- Acesso a apps menos seguros: clique aqui.
Se por acaso, ocorrer algum erro incomum, falar com o serviço de e-mail (PROVEDOR) ou procurar o suporte da Ema para quaisquer dúvidas restantes.
Em qual caso de erro a causa pode ser o sistema DOX?
Bom, os únicos casos que presenciamos em que nossa ferramenta interferiu diretamente no envio foi quando o serviço Ema_email estava desativado. Dessa forma ele não consegue encaminhar lista para o provedor e nada é enviado no fim.
Verifique pelo endereço "http://localhost:8500/ui/#/dc1/services" em seu navegador (diretamente no provedor de produção) ou acesse o ema_configurador para saber se o serviço está marcado.
Se estiver ativo e quiser tirar quaisquer duvidas (micro_swerviço parado ou travado) uma boa opção é reiniciar os serviços e testar o envio novamente. Se mesmo assim não funcionar, solicitar análise do provedor pela conta de envio.
** Em relação aos possíveis erros que podem vir a aparecer nesta tela, CLIQUE AQUI para ser direcionado para um fórum que fala mais sobre os erros mais comuns de SMTP.
Estrutura de tabelas
Abaixo, estarão as principais tabelas e campos em nosso banco de dados. Essas tabelas são imprescindíveis para consulta de informações dos processos.
CRM_PROCEDIMENTO_EVENTO
Tabela responsável por gravar todas as informações dos eventos de sistema presentes na criação do procedimento.
Coluna TIPO:
1= Comunicação - Mensagem 14= Variáveis - Definir valor variável 15= Comunicação - SMS 16= Variáveis - Pegar valor de conector 17= Sincronização - Importar dados de um banco para outro 18= Registro banco dados - SQL - Executar 19= NF-e - Consultar nota fiscal eletrônica 2= Comunicação - E-mail 20= Registro banco dados - SQL - Selecionar 21= Variáveis - Operações matemáticas 22= PEX - Executar função 23= Variáveis - Manipulação de texto 24= Arquivos - Manipular arquivos 25= NF-e - Baixar XML NF-e do e-mail 27= Comunicação - E-mail limpar pasta 28= NF-e - Validar arquivo XML NF-e 29= NF-e - Importar arquivo XML NF-e 30= Agendamento/Temporizador - Criar agendamento 31= Agendamento/Temporizador - Remover agendamento 32= Agendamento/Temporizador - Temporizador de espera 34= Exceção - Gera exceção 35= Exceção - Trata exceção 36= Processo - Iniciar novo processo 37= Processo - Finalizar processo atual 38= Processo - Cancelar processo atual 39= NF-e - Manifestação 40= NF-e - Consultar notas destinadas 41= NF-e - Baixar XML NF-e do SEFAZ 42= Estrutura condicional - Início 43= Estrutura condicional - Fim 44= Estrutura de repetição - Carregar 45= Estrutura de repetição - Descarregar 51= Estrutura de repetição - Retorna valor 52= Arquivos - Carregar arquivo 53= Arquivo XML - Ler Tag/Atributo 54= Processo - Limpar memória servidor 55= Variáveis - Criptografar texto 56= Variáveis - Desencriptografar texto 57= Social - Criar publicação 58= Processo - Alterar informação do processo 59= Senhas - Chamar próxima senha 60= Senhas - Chamar última senha 61= Senhas - Reiniciar senha 62= Senhas - Reservar senha 63= Eventos do sistema - Registrar evento 64= Eventos do sistema - Verificar horário disponível 65= E-mail - Buscar e-mail 66= Sincronização - Importar dados Excel 67= GED - Aprovar publicação 68= GED - Aprovar revisão 69= GED - Reprovar 70= GED - Aprovar exclusão 72= Variáveis - Criptografar senha 73= Variáveis - Criptografia MD5 77= GED - Salvar protocolo 78= Processo - Gerar link do processo 79= Web Service - Requisição 80= Arquivo XML - Ler Tag/Atributo - Repetição 81= GED - Criar pasta 83= NF-e - Gerar DANFE XML 84= Marcadores - Adicionar marcador 85= Marcadores - Remover marcador 86= GED - Exportar documentos 87= Sincronização - Importar dados arquivo texto 88= Arquivo JSON - Ler par 89= Arquivo JSON - Ler par - Repetição 90= GED - Iniciar revisão 91= GED - Salvar arquivo 92= Processo - Exibir mensagem para o usuário 93= Kanban - Definir cor do cartão 94= NF-e - Vincular canhoto de NF de devolução 95= Processo - Criar lembrete 96= Arquivos - Criar arquivo 97= NF-e - Anexar XML 98= Processo - Adicionar comentário 99= GED - Compartilhar 100= Arquivos - Carregar lista de arquivos e pastas 101= GED - Importar arquivo |
CRM_PROCESSO
Grava informações relacionadas as instâncias executadas de cada procedimento.
- IDPROCEDIMENTO: grava o código do procedimento criado. É a coluna "Código" exibida na tela de cadastro/lista de Processos de negócios (BPM);
- IDPROCESSO: grava o código de cada instância executada de um procedimento; Instâncias de processo podem ser consultadas através da tela de consulta processos de negócio (instâncias);
- IDFILIAL: grava o código da filial que iniciou cada processo;
- IDATIVIDADEATUAL: grava o código da atividade em que se encontra cada instância de processo, sendo, por padrão:
- 1: Início;
- 9999: Fim.
- STATUS: grava o status de execução de cada instância, sendo:
- 1: Aberto - processo ainda disponível para colaboração;
- 2: Encerrado - processo com colaboração finalizada/entrou na atividade Fim;
- 3: Cancelado - processo cancelado pelo usuário antes de entrar na atividade Fim.
- IDVERSAO: grava o código da versão executada de cada processo. Refere-se à versão liberada dos processos;
- MOTIVO: grava o motivo do processo;
- DATAHORA: grava a data/hora do momento da execução de determinado processo;
- DATAFIM: calcula a data de finalização do processo baseado no campo Dias vigência (Data atual do sistema + valor informado como vigência).
- DATATERMINO: grava a data de finalização do processo. É alimentado com a data atual do sistema no momento que o processo entra na atividade Fim.
CRM_PROCESSO_ATIVIDADE
Grava informações relacionadas às atividades executadas pelas instâncias de processo.
- IDPROCESSO: grava o código da instância executada para fins de consulta e vínculo posterior em instruções SQL;
- DESCRICAO: grava a descrição/nome definido para a atividade no momento da modelagem do procedimento;
- IDATIVIDADE: grava o código da atividade no procedimento;
- EXECUTOU: retorna S ou N indicando se a atividade foi executada ou não pelo processo;
- DATAHORAINICIO: retorna a data/hora em que o processo entrou em determinada atividade;
- DATAHORAFIM: retorna a data/hora em que o processo saiu de determinada atividade (quando usuário clicou em Próximo);
- IDREPETICAO: retorna o número de vezes em que o processo passou pela atividade;
- TIPOATRIBUICAO: tipo de atribuição/permissão selecionada para a atividade, sendo:
-
- 0: Utilizar permissões configuradas no processo;
- 1: Acesso público;
- 2: Qualquer usuário cadastrado;
- 3: Usuário que iniciou o processo;
- 4: Usuário executor da atividade X;
- 5: Usuários indicados na variável X;
- 6: Papel que iniciou o processo;
- 7: Papéis selecionados;
- 8: Papéis indicados na variável X;
- 9: Papel superior do executor da atividade X;
- 10: Papel superior do usuário indicado na variável X.
CRM_PROCESSO_VARIAVEL
Grava informações relacionadas aos valores armazenados nas variáveis das instâncias executadas dos processos.
- IDVARIAVEL: grava o código da variável criada em determinado processo;
- IDPROCESSO: grava o código da instância de processo;
- DESCRICAO: grava a descrição da variável, é o nome definido para a variável assim que criada no processo;
- VALORATUAL: grava o valor informado no campo pelo usuário após a colaboração com o processo.
Exemplo: um relatório que precisa mostrar o nome de usuário que colaborou com determinado processo, onde o número será informado em um filtro desse relatório. Esse nome de usuário foi configurado em um evento do processo para ser armazenado na variável /*USUARIO*/, código 2. Para retornar esse valor, o comando SQL que deve ser realizado ficaria assim:
SELECT VALORATUAL
FROM CRM_PROCESSO_VARIAVEL
WHERE IDVARIAVEL = 2
AND IDPROCESSO = 0/*IDPROCESSO*/
Onde 0/*IDPROCESSO*/ também é uma variável de processo, que será atualizada sempre com o código da instância executada.
Para realizar buscar em valores de variaveis, recomendamos fortemente que sejam utilizados os pacotes de funções:
CRM_PROCESSO_ATIV_USUARIO
Grava informações relacionadas aos usuários que executaram as atividades dos processos.
- IDPROCESSO: grava o código do processo executado;
- IDATIVIDADE: grava o código da atividade executada pelo usuário;
- IDUSUARIO (FK para a tabela USUARIO): grava o código do usuário que executou a atividade do processo.
CRM_PROCESSO_ATIV_FUNCAO
Grava informações relacionadas aos papéis função vinculados às atividades dos processo.
- IDPROCESSO: grava o código do processo executado;
- IDATIVIDADE: grava o código da atividade;
- IDFUNCAO (FK para tabela BPM_FUNCAO): grava o código do papel função vinculado na atividade.
CRM_PROCESSO_FORMULARIO
Grava informações relacionadas aos formulários existentes nas atividades dos processos executados.
- IDPROCESSO: grava o código do processo executado;
- DESCRICAO: grava a descrição do campo do formulário de processo;
- IDATIVIDADE: grava o código da atividade em que se encontra o campo do formulário;
- IDFORMULARIO: grava o código dos formulários existentes;
- ORDEM: guarda a ordenação dos campos dentro do formulário. Campo Ordem na aba Formulários da tela de Atividade
CRM_PROCESSO_GRADE_VALOR
Grava informações relacionadas aos campos do tipo Grade de Dados presentes nos processo BPM.
- IDGRADE: grava o código da coluna/campo da Grade de Dados;
- IDVALOR: grava a linha onde encontra-se determinado registro de uma grade de dados;
- IDPROCESSO: grava os códigos das instâncias de processo;
- IDATIVIDADE: grava o código da atividade em que se encontra a Grade de Dados;
- IDFORMULARIO: grava o código do campo de grade dentro do formulário;
- RESPOSTA: grava o que foi preenchido nas colunas da grade de dados.
É a partir dessa tabela que serão trazidas as informações quando utilizadas as procedures e funções para retornar valores de grade
Um exemplo de SQL que pode ser utilizado para essa tabela é o seguinte: você precisa saber o que foi preenchido na primeira coluna e primeira linha de uma grade de determinada instância de processo. Nesse caso, o SQL poderia ser feito da seguinte maneira:
SELECT RESPOSTA
FROM CRM_PROCESSO_GRADE_VALOR
WHERE IDPROCESSO = 0/*IDPROCESSO*/
AND IDGRADE = 1
AND IDVALOR = 1
Onde 0/*IDPROCESSO*/ também é uma variável de processo, que será atualizada sempre com o código da instância executada.
Para realizar buscar em valores de grades, recomendamos fortemente que sejam utilizados os pacotes de funções:
CRM_PROCESSO_EVENTO
Grava informações relacionadas aos eventos existentes nos processos executados.
- IDPROCESSO: grava o código do processo que foi executado;
- DESCRICAO: grava a descrição definida para o evento;
- IDATIVIDADE: grava o código da atividade em que o evento se encontra;
- IDEVENTO: grava o código do evento criado;
- MOMENTO: grava o momento de execução do evento, sendo:
- 0: Ao entrar na Atividade;
- 1: Ao sair da atividade;
- 2: Ao anexar.
USUARIO_PAPELFUNCAO
- IDUSUARIO: traz o código do usuário pertencente ao papel-função;
- IDPAPELFUNCAO: traz o código do papel função de cada usuário.
BPM_FUNCAO
Tabela dos papeis funções cadastrados no sistema.
- IDBPMFUNCAO: Código do papel função.
- DESCRICAO: Descrição do papel função cadastrado.
- INATIVO: Se o papel função está ativo ou inativo no sistema.
DEPARTAMENTOS
Tabela dos departamentos cadastrados no sistema.
- IDDEPARTAMENTO: Código do departamento.
- DESCRICAO: Descrição do departamento cadastrado.
- INATIVO: Se o departamento está ativo ou inativo no sistema.
- IDDIRETOR: id do usuário vinculado no campo "Responsável".
- IDGERENTE: id do usuário vinculado no campo "Organizador".
GED_ARQUIVO
Todo arquivo anexado ao DOX, seja por processo, tarefa, contrato, etc. é adicionado à nossa estrutura GED. Nesse tópico apresentaremos as principais tabelas que compõem a estrutura de banco de dados do gerenciador eletrônico de documentos.
É a principal tabela relacionada ao GED. Essa é a tabela responsável por gravar todos os arquivos que são armazenados ao sistema, independente de qual foi a origem.
Nessa tabela temos dois campos em destaque, que são:
- STATUS:
- 1: Criando;
- 2: Aprovado;
- 3: Reprovado;
- 4: Em edição;
- 5: Lixeira;
- 6: Excluído.
- SITUAÇÃO:
- 1: Liberado;
- 2: Aguardando revisão;
- 3: Aguardando aprovação;
- 4: Aguardando exclusão.
GED_ARQUIVO_LOCAL
Outra tabela de extrema importância para a estrutura do GED é a GED_ARQUIVO_LOCAL, que é responsável por armazenar os locais onde os arquivos anexados no sistema poderão ser consultados e visualizados.
É uma tabela "filha" da GED_ARQUIVO. Ou seja, uma vez que o arquivo foi anexado, o mesmo gera um registro nesta tabela, com base na origem* em que foi incluído no sistema, logo, caso for necessário consultar o mesmo anexo em outros locais, seria possível somente registrar o local nesta tabela respeitando o controle de ORIGEM e IDORIGEM do local que será liberado.
Exemplo 1: se for um Anexo de Processo:
WHERE GED_ARQUIVO_LOCAL.ORIGEM = 7
AND GED_ARQUIVO_LOCAL.IDORIGEM = 0/*IDPROCESSO*/
Exemplo 2: Se for um Anexo de Tarefa:
WHERE GED_ARQUIVO_LOCAL.ORIGEM = 5
AND GED_ARQUIVO_LOCAL.IDORIGEM = 0/*IDTAREFA*/
Tipos de ORIGEM:
- 0: Casos de teste;
- 1: CliForEmp;
- 2: Enquete;
- 3: Ideia;
- 4: Instrução técnica;
- 5: Tarefa;
- 6: Procedimento;
- 7: Processo;
- 8: Treinamento;
- 9: Contato;
- 10: Projeto;
- 11: Tela de processo;
- 12: Formulário;
- 13: Pasta cadastrada;
- 14: Nota de entrada;
- 15: Contrato;
- 16: Lançamento financeiro;
- 17: NFS;
- 18: Item;
- 19: Cobrança;
- 20: Pagamento;
- 21: Script.
GED_ARQUIVO_VERSAO
Podemos destacar a tabela GED_ARQUIVO_VERSAO, que é responsável por armazenar as versões dos arquivos anexados no sistema, para controle de histórico de alterações dos arquivos. A relação/legenda dos status dos arquivos do GED é a que segue:
- 1: Criando;
- 2: Aprovado;
- 3: Reprovado;
- 4: Em edição;
- 5: Lixeira;
- 6: Excluído.
GED_PASTA
Tabela do sistema que armazena as informações das pastas cadastradas no GED.
- IDPASTA: Código da pasta cadastrada.
- IDPASTAPAI: Código da pasta pai.
- CLASSIFICAÇÃO: Classificação da pasta cadastrada no sistema.
- DESCRICAO: Descrição/título da pasta.
- OBSERVACAO: Caso tenha alguma observação da pasta criada.
- INATIVO: Se a pasta está inativa ou ativa no sistema (S/N).
- USUARIO: Usuário criador.
- DATAHORA: Data/hora da criação.
- DATAHORAULTIMAATUALIZACAO: Data/hora da ultima edição.
LGPD - Exibir privacidade e cookies
* Essa melhoria está disponível a partir da versão: 12.26.0.595
Esse tópico fala sobre o novo parâmetro disponibilizado: Listagem de cookies ao acessar o portal da empresa, para a nova LGPD.
Primeiro, para realizar a configuração, você deve seguir o caminho: Parâmetros gerais - DOX > O parâmetro é localizado na aba LGPD > Exibir avisos de privacidade e de cookie para os usuários.
Quando marcado, irão ficar visíveis dois campos obrigatórios:
Ambos os campos servem para descrever a política da empresa quanto ao LGPD. Quando marcados, o portal irá exibir um pop up solicitando a confirmação do uso de cookies.
No GIF, evidencia onde ficam localizadas as informações adicionadas nos cookies, junto da mensagem padrão. Vale lembrar que essa informação na qual você faz o aceite dos cookies não é gravada no banco, e sim no próprio navegador.
Então, se você entrar com seu usuário no próprio computador e realizar o aceite, ele não irá aparecer mais. Mas se entrar no computador de outra pessoa a seguir, irá aparecer novamente. Porém, se acessar com a aba anônima, continuará aparecendo mesmo após o aceite.
Abaixo, está grifada novamente a localização das informações no aviso:
No formato mobile:
Para verificar onde se armazena o aceite, basta apertar F12 e seguir o caminho:
Exportar/Importar processos
Para quem utiliza ambiente de homologação e produção e não costuma utilizar o assistente de importação, uma das formas de passar processos BPM entre os dois ambiente é a exportação/importação manual. Assim como nessa base de conhecimento criamos conteúdo e disponibilizamos o arquivo do processo de exemplo para vocês importarem.
Importante ter a noção de que, em nosso sistema DOX é possível exportar/importar não só processos BPM, mas painéis de indicadores, gráficos, relatórios, conectores, etc,
Exportar
Para exportar um processo feito no Ema DOX Estúdio, basta clicar com o botão direito sobre o processo e selecionar a opção "Exportar Processo".
Após isso, o software irá abrir uma janela solicitando a versão desse processo que deseja ser exportada. Como nosso sistema trabalha por versionamento, clique aqui para saber mais a respeito.
Por fim, deve ser informada o local em que esse processo será salvo para que possa ser utilizado posteriormente.
Importar
Agora, para importar este processo para uma outra base, acessar novamente o cadastro de processos BPM, e com o botão direito clicar em "Importar processo". Isso abrirá uma janela para escolher o arquivo.
- Processo em formato DOX: Essa opção é selecionada automaticamente quando importa-se um processo exportado do DOX, como no exemplo acima;
- Processo em formato BPMn: Essa opção deve ser marcada caso o processo que você deseja importar seja um fluxo exportado do Bizagi.
Clicando em próximo, o sistema abrirá uma tela onde serão dadas informações iniciais do processo que está sendo importado.
A próxima tela será a de importação de papéis função. Nela você poderá atribuir o papel função a um existente, ou, se o sistema identificar que aquele papel função já existe na base, ele irá trazer o papel correspondente conforma imagem abaixo:
Para cadastrar o papel função ai pelo assistente, basta usar o atalho Ctrl + F ou no botão "Cadastrar" na parte inferir da tela.
- O botão "Informar em lote" serve para informar um papel função existente para todos os papéis na lista que serão importados;
- O botão "Utilizar configuração original" irá importar os papéis função com a configuração da base de onde o processo foi exportado. No caso da imagem, cadastraria o papel função "administração" com o código 28.
Os atalhos:
Clique em próximo, ele irá mostrar os conectores. Segue sendo a mesma lógica dos papeis funções, caso não exista na base é permitido cadastrar, se já existir ele preencherá automaticamente. Assim como outros campos como variáveis globais, modelos de correspondência etc.
Importante ressaltar que subprocessos / relatórios devem ser importados ANTES do processo, pois o assistente não permite o cadastro por ali, por se tratar de criações mais complexas.
Ao terminar tudo, clique em "Finalizar" e está pronto, acesse o processo e valide tudo por segurança e já pode começar a utilizar.
Gmail - Acesso a app's menos seguros
Para que o dox possa trabalhar com os serviços do gmail e enviar e-mail pela ferramenta, é necessário algumas configurações. Siga os passos abaixo na conta de e-mail origem, ou seja, o responsável por enviar todos os e-mail:
- Acesse o módulo "Conta"
- Vá no módulo "Segurança" > Acesso a app menos seguro
- Clique em "Ativar acesso(não recomendado)"
Observações:
- Recomendamos consultar sempre os requisitos vigentes nos servidores/provedores de serviço de e-mail na data de utilização.
- Antes de subir os serviços do dox, verifique se o micro_serviço do e-mail está ativo.
Ou acesse de forma fácil através do link: https://myaccount.google.com/lesssecureapps
Grupos de usuário
Dentro da estrutura do DOX existem grupos que servem para que permissões sejam concedidas a alguns cadastros, operações e telas dentro da plataforma.
Cadastro do grupo de usuários
Entre esses grupos, se encontra o grupo de Usuários, como mostrado na imagem abaixo.
O grupo de usuário é utilizado para classificar os usuários do sistema, e garantir permissões de acesso de acordo com seus grupos e funções. Por padrão, os grupos de usuários pré-definidos no sistema são
- Administrador
- Suprimentos
- Vendedores
- Serviços
- Financeiro
- Contador
Para criar um novo grupo de usuário, basta clicar em configurações, e no menu de cadastros clicar em grupos de usuário. Ao clicar neste cadastro, uma tela será exibida para que sejam inseridos os dados de Grupos de Usuário.
- Descrição: será informado o nome do Grupo de Usuário que está sendo criado;
- Observação: deve-se informar detalhadamente a descrição do grupo de usuário ou uma informação específica sobre ele, caso necessário;
- Proxy: pode ser selecionado conectores do tipo Proxy, caso a empresa ou grupo específico utilize um proxy para acesso a determinados endereços web.
- Perfil operação CRM: você pode selecionar Fábrica ou Serviço.
Caso o grupo de usuário que está sendo criado trabalhe com a opção "fábrica", a central de Atendimento onde são abertos chamados será baseada em um serviço de atendimento ao consumidor, pedindo informações como Número da Nota emitida para determinado item vendido, CNPJ de onde foi realizada a venda, dentre outros.
A principal característica desta configuração é o seu fluxo muito mais simples e fixo, fazendo com que o usuário execute apenas o necessário. Em alguns casos essa opção pode atuar como uma Ouvidoria dentro da empresa;
Agora, caso seja selecionada a opção Serviço (ITIL) a abertura de chamados pela Central de Atendimento se dará de forma onde será detalhado um fato ocorrido com relação a algum serviço contratado/prestado. Nesta configuração o fluxo é mais dinâmico e flexível, permitindo que o usuário abra uma tela de interação com o chamado que abriu para que forneça informações adicionais, ou acompanhe os detalhes de seu chamado.
- Permite delegar tarefas sem informar Versão (Delegar, Puxar, Alterar Responsável): Este parâmetro possibilita que a tarefa siga o seu fluxo, sem a necessidade do usuário especificar a versão do sistema que está em uso no ambiente de produção do cliente.
- Só permite abrir tarefa para clientes da filial: com esse parâmetro marcado, as filiais poderão apenas abrir tarefas para os próprios clientes, não podendo abrir tarefas para clientes da Matriz, ou de outra filial, por exemplo.
Permissões por grupos de usuário
Para garantir permissões a determinados grupos de usuários dentro do Sistema, basta na lista de Grupos de usuários clicar com o botão direito sobre um grupo, e entrar em Permissões…
Por padrão, o grupo Administrador tem acesso total às permissões do software, e suas permissões não podem ser editadas, porém os demais grupos criados, e até mesmo os pré-definidos podem ser alterados de acordo com a necessidade da empresa.
Como mostrado na imagem abaixo, após clicar em Permissões, uma tela será aberta, e é nela onde as alterações de permissão serão feitas para o grupo de usuários. Como exemplo, estamos editando para o grupo de usuário FATURAMENTO(1), o módulo de Finanças(2), e nesse módulo nós estamos trabalhando com a guia de Operações(3) da Plataforma DOX. Nessa guia, vamos dar acesso às operações com que os usuários pertencentes ao grupo de usuário FATURAMENTO poderão interagir, no caso da imagem, todas as operações(4).
Na área Ação, serão definidas as Ações que podem ser realizadas em determinada tela pelos usuários pertencentes ao Grupo de Usuário que está sendo criado/editado. Uma ação é tudo aquilo que o usuário pode fazer dentro de uma tela de cadastro ou consulta do sistema.
Como exemplo, na imagem foram concedidas apenas as permissões de:
- Descontar Duplicatas;
- Emitir Comprovante;
- Finalizar;
- Visualizar o histórico;
- Rastrear desconto de duplicata;
- Rastrear títulos.
Desse modo, ao entrar na tela de Consulta de Borderôs, clicando com o botão direito em cima de um registro, as únicas ações que ele poderá executar serão as que foram concedidas pela etapa acima.
A partir da aba Filiais são concedidas as permissões com relação ao acesso às informações de determinada Filial. No caso da imagem abaixo, estamos concedendo acesso às informações das Filiais: Matriz, [Nome Filial] e UNI.EMA ao Grupo Suprimentos.
Caso um grupo de usuários possa ter acesso às informações de todas as filiais, basta marcar o parâmetro "Possui acesso às informações de todas as filiais".
Na aba Contas financeiras as permissões são concedidas da mesma maneira, você selecionará a lista de Contas financeiras das quais o grupo de usuário terá acesso e poderá utilizar/interagir.
Na aba Restrições a cadastros podem ser restringidos o acesso a determinados cadastros dentro do sistema.
Por exemplo, na imagem abaixo, estamos definindo que o grupo Suprimentos terá restrições de acesso no cadastro de Transação de pedido(1) ao tipo Pedido para Entrega Futura(2), quando vinculado a Filial UNI.EMA(3).
Desse modo, enquanto este grupo de usuários estiver vinculado a Filial UNI.EMA, nos cadastros de Transações de Pedido, ele terá acesso apenas às Proposta/Orçamento, Pedido de Venda e Pedido de Venda - PalmTop.
Na aba Softwares caso desabilitado algum software para o grupo de usuário, o mesmo não terá acesso posteriormente ao software desabilitado, como mostrado na imagem abaixo.
Agora, na aba Mensagens, será definido se o grupo de usuário poderá enviar, receber e consultar suas mensagens na Central de Notificações, sendo que, caso o parâmetro Central de Notificações esteja desmarcado, os ícones de interação com Mensagens/Correios Internos serão ocultos do menu superior do sistema, como mostrado abaixo.
Ícones de processo
Os ícones facilitam muito na identificação dos processos que precisam ser colaborados. Com o tempo, apenas de olhar para o processo você vai saber que deve colaborar com ele, sem nem precisar ler o seu nome. Também tem a ver com a organização e imagem do portal do cliente.
Veja esse exemplo:
Além de separar os processos por tipo de processos, foi feito um jogo de cores bem interessante com vermelho, que é a cor do slogan/marca desta empresa. No fim, aparência do portal influencia em como os usuários utilizam.
Outro exemplo:
As empresas terão processos diferentes, portais diferentes, mas no fim a organização e cuidado é o mesmo.
Para adicionar ícones em "Processos de Negócios BPM", basta na sua criação/configuração clicar duas vezes sobre o ícone de engrenagem logo ao lado dos campos "Descrição", "Assunto" e "Nome reduzido":
O tipo de extensão mais recomendada para utilização nos ícones dos processos é a JPG, porém também são aceitos ícones com extensões do tipo PNG.
Ao selecionar uma imagem para o processo e clicar em Ok, ele ficará visível na sua central de processos com a imagem que você selecionou.
Caso você faça o procedimento acima e ainda sim a imagem do processo não atualize, acesse Configurações > Gerar imagens necessárias para a Web e clique nessa opção. Atualize o portal e verifique se o ícone mudou.
Dica: existem alguns sites para ícones, este por exemplo é bem utilizado: https://www.flaticon.com/br/
Importar processos do Bizagi
Bizagi Modeler é uma plataforma para modelagem de e automação de processos de negócios. Nosso sistema DOX permite que o arquivo criado lá possa ser importado, facilitando para quem utiliza das duas ferramentas.
Para importar processos do Bizagi, basta exportar o desenho do fluxo para o formato BPMn.
Os passos para importação são os mesmos citados no tópico Exportar/ Importar Processos, porém sem os passos de papéis função e conectores.
Ao finalizar a importação o processo estará pronto para que você inicie a automatização do fluxo importado.
Iniciar instância de processo por URL
Em algumas situações, pode ser necessário iniciar instância de um processo por URL (sem a necessidade do usuário entrar no portal e clicar no ícone do processo ou criação de agendamento no DOX).
Seja colocando um acesso direto a partir de um site, por e-mail ou a partir de outro software. Além disso, existe a possibilidade de iniciar a instância definindo o valor de variáveis pelo próprio URL.
Para iniciar uma instância, utilizamos essa estrutura de URL:
http://portal.ema.net.br/#/processos/iniciar/8
Onde:
- http://portal.ema.net.br: Link do portal configurado;
- 8: Código do procedimento que deseja iniciar uma instância.
Iniciar uma instância pública, sem necessidade de ter usuário logado:
http://portal.ema.net.br/publico#/processos/iniciar/8
Onde:
- publico: Define que está iniciando em modo público, sem usuário logado.
Iniciar uma instância definindo o valor de uma variável pelo URL:
http://portal.ema.net.br/publico#/processos/iniciar/8?NOME=João da Silva
Onde:
- ?: Iniciar definições das variáveis;
- NOME: Descrição da variável sem os caracteres "/*" e "*/";
- João da Silva: Valor que deseja inserir na variável automaticamente.
Iniciar uma instância definindo o valor de mais de uma variável pelo URL:
http://portal.ema.net.br/publico#/processos/iniciar/8?NOME=João da Silva&DATANASCIMENTO=10/03/1990&PROFISSAO=Consultor DOX
Onde:
- &: Delimitador para definir uma próxima variável;
Itens customizados no portal
No Dox Portal, módulo Processos, menu Iniciar, é possível adicionar itens customizados com ícones personalizados que encaminham o usuário à outro portal/site/url definido em uma configuração no servidor.
O conteúdo do arquivo deve ser uma lista (array) de objetos no formato JSON (https://www.json.org), como no seguinte exemplo:
[
{
"descricao": "Google",
"linkTo": "https://google.com",
"icon": "https://www.svgrepo.com/show/217131/google.svg",
"grupo": "Links úteis",
"target": "_blank"
},
{
"descricao": "Atendimento",
"linkTo": "/#/atendimento",
"icon": "icone-tarefas.png",
"grupo": "Favoritos"
}
]
Onde:
- "descricao" = título do item de menu que será exibido;
- "linkTo" = URL de algum site externo ou uma rota do próprio sistema (ex.: "/#/atendimento");
- "icon" = uma URL absoluta apontando para uma imagem disponível na internet ou o nome de uma imagem existente no diretório "~\Contas ERP\www\doxportal\images\icons";
- "grupo" = o nome do agrupamento que deve conter esse item do menu. Se não existir um grupo com o nome informado, o sistema criará um novo abaixo dos grupos preexistentes.
- "target" (opcional) = destino do link a ser aberto. Por padrão, os links serão carregados na própria janela/aba do navegador que está aberta. Para abrir em uma nova janela/guia, informar o target "_blank".
O formato de itens de menu customizados acima descrito serve tanto para o módulo Processos quanto para módulos Atendimento e ERP. Porém, para os dois últimos, o "grupo" não é válido, o item customizado será exibido sempre no agrupamento "Geral".
- Disponível na versão: 12.5+
- Versão homologada: 12.5.2
Kanban
Antes de explicarmos o funcionamento desse recurso no sistema EMA DOX, vamos revisar alguns pontos e explicar primeiramente:
O que é o Kanban?
Bom, vamos começar explicando que o Kanban é mais como um conceito de metodologias ágeis. É um sistema que utiliza cartões de cores / tamanhos diferentes para designar, coordenar tarefas. Funciona para manter a organização de uma operação/fluxo. Assim, é possível saber quantas tarefas foram concluídas, quais ainda estão pendentes ou precisam de alguma atenção.
Expectativas / Vantagens / Objetivos no uso do Kanban:
- Aumentar a eficiência da operação/setor, de forma a manter as tarefas organizadas. É de senso comum que organização é a chave para uma estrutura sólida e eficiente de trabalho.
- Otimizar seus sistemas de movimentação/delegação de tarefas, de forma que todos consigam ver a movimentação de cada tarefa e policiarem suas demandas.
- Gestão visual do que está sendo executada em determinada área. Vamos pensar que, dessa forma, com cartões coloridos (representando alguma classificação pré-definida) o setor consegue entender apenas com uma olhada o que já foi concluído, o que falta para concluir e o que deve ser feito para agilizar o trabalho.
** O Kanban faz parte de uma das técnicas desenvolvidas pelos japoneses da Toyota dentro do modo de produção Just In Time (JIT). Ou seja, o Kanban não é o JIT, mas sim, parte dele.
Em uma grande empresa que trabalha com classificações/prioridades/datas e previsão, o Kanban serve de muita ajuda para manter o fluxo sob controle. Não vamos esquecer que uma gestão visual ajuda em muito para a tomada de decisões, temos por exemplos os painéis de indicadores como prova.
Como funciona no sistema DOX?
Uma das vantagens do nosso Kanban é que pode-se ser feita várias ações envolvendo regras de negócio. É possível gerar relatórios, delegar cartões para uma coluna em especifico, alterar a cor, alterar o responsável, encaminhar com um comentário, trazer informações de e-mail (IMAP) por exemplo, dentre várias outras opções.
Uma funcionalidade muito utilizada é a criação de um processo PAI, um processo BPM normal onde informações serão inseridas, e ao final da colaboração um cartão (card) será criado no Kanban com o que foi colocado no BPM inicialmente. É como se o Kanban fosse uma extensão do processo.
Uma outra opção é a utilização do IMAP, onde um processo automático (com horários agendados, específicos do dia) irá executar e buscar os e-mails na caixa de entrada especificas e trazer para o sistema. Depois, quando as informações já estão em nossa base, o processo automático iria criar um cartão (card) no Kanban com essas informações do e-mail.
Vê como é uma ferramenta útil? Além de ser possível mostrar informações nos cartões podemos estruturar com uma regra de negócio: só pessoas especificas podem ver determinada coluna, ao finalizar um cartão (card) será enviado e-mail para gestores, um documento será colocado no GED para aprovação, um usuário irá receber uma mensagem em especifico etc...
Exemplo
Vamos criar um exemplo da criação de um Kanban onde será possível entender na prática suas utilidades. Assim como na imagem acima iremos criar um quadro simples de "A fazer", "Fazendo" e "Feito".
Acesse o módulo de processos > Kanbans > Novo [F2]:
Na primeira aba, "Geral"
Na tela de criação do Kanban é necessário incluir algumas informações, como
- Tipo do processo: Responsável por agrupar os Kanbans no portal,
- Descrição (ou nome do Kanban) que aparecerá na lista de processos dos usuários que possuam permissão para acessá-lo/visualizá-lo.
- Observação: Sobre o Kanban, essa será utilizada para que o usuário compreenda o objetivo deste procedimento e para qual fim ele deve ser utilizado (isso serve também para a descrição, que deve ser feita de forma clara).
- Menu: Neste campo deve-se selecionar o menu do sistema (DOX Portal) em que este Kanban será visualizado. Estão disponíveis: menu de Processos, Inteligência, e ERP.
Estas são informações base para a melhor identificação do processo. As informações abaixo são para fins de gerenciamento do Kanban.
- Modelador: Diz respeito ao responsável pela automação do processo. É quem configurou o processo, de ponta-a-ponta, para que o mesmo seja utilizado no sistema.
- Dono do processo: É a pessoa que possui o conhecimento sobre a regra de negócio a qual este processo pertence, em alguns casos pode acontecer de uma mesma pessoa ser tanto o modelador quanto o dono do processo, porém isso não se aplica a todos os casos.
Faça como na imagem abaixo:
Na aba segunda aba, "Permissões":
Na aba Permissões são definidas as permissões tanto de utilização quanto de visualização/acesso do Kanban. Primeiro, deve-se configurar os usuários/papéis-função que tem permissão para iniciar instâncias e interagir com os "cards" do Kanban.
Para que os usuários possam visualizar as etapas de seu Kanban, pode-se definir na grade "Quem tem permissão para visualizar esse Kanban?" os grupos de usuário que tem acesso de visualização ao Kanban.
É importante citar que este acesso é apenas de visualização, portanto os grupos aqui inclusos não terão acesso para interagir/iniciar instâncias deste processo.
Na terceira aba, "Atividades"
Para iniciar a automação de um processo do tipo Kanban, a partir desta tela a interação com a automação de um Kanban fica similar a de um processo comum, visto que compartilham da mesma tela.
Clique no botão "lançamento" pois ao clicar nele o sistema irá criar uma atividade padrão de lançamento com formulários e eventos:
Essa atividade lançamento será a primeira que o usuário irá interagir e a que irá criar o cartão (card) para ser encaminhado para as próximas colunas.
No portal ele irá aparecer como o botão "NOVO".
Nesta primeira atividade lançamento o sistema por padrão cria 3 formulários assim como suas variáveis:
- Título - /*TITULO*/ (Texto - Longo)
- Responsável - /*RESPONSÁVEL*/ (Inteiro)
- Descrição - /*DESCRICAO*/ (Texto)
Assim como os eventos:
- Definir valor variável - Definir numero do cartão (Define a variável de sistema /*IDPROCESSO */ para a /*NUMEROCARTAOKANBAN*/)
- Definir valor variável - Definir responsável atual (Define a variável de sistema /*USERID*/ para a /*RESPONSAVEL*/ )
Porém para deixar nosso exemplo mais dinâmico, vamos adicionar mais alguns formulários e eventos. Crie o formulário "Prioridade" para que o usuário escolha entre as opções Baixa, Média e Alta.
- Tipo Objetiva - Botões com a descrição "Qual a prioridade da tarefa"?
- Respostas: Baixa = 1, Média = 2, Alta = 3
- Não esqueça da variável /*PRIORIDADE*/conforme imagem acima. Pode ser do tipo "Texto".
Eventos
Agora, na parte de eventos vamos fazer condicionais para atribuir a cor ao cartão (card) criado. Caso o usuário escolha a opção "Prioridade baixa" ou seja, a variável /*PRIORIDADE*/ está recendo o valor 1, a cor será definida para #8DC7C7.
Olhe o exemplo abaixo:
- Abrindo a estrutura condicional:
- Definindo o valor da variável COR (essa variável é criada automaticamente pelo sistema, não é necessário criar uma nova)
* Importante frisar que nesse campo podem ser definidas cores em código hexadecimal ou as utilizadas por padrão no Delphi.
- Finalizando a estrutura condicional:
De acordo com o exemplo acima, crie outras estruturas semelhantes (só mudando a cor definida) para as outras prioridades de forma que fique assim:
O ultimo evento que iremos criar é para definir a data inicio que o card foi criado. Vamos criar um definir valor variável ao SAIR de forma que, se o usuário prosseguir com a colaboração esse valor fiquei salvo no processo.
* O parâmetro Exibir esta atividade no Kanban: caso desmarcado, a atividade não aparecerá em nenhuma das etapas do Kanban. É utilizado para atividades que fazem apenas a execução de eventos
Conforme você for criando atividades no seu processo, as mesmas aparecerão no seu Kanban para que você possa realizar a organização das etapas, conforme imagem
Essas atividades, a partir do momento em que são criadas tem o mesmo layout e lógica de atividades em processos BPM normais. Ao criar "A fazer", "Fazendo" e "Feito" entre em todas essas atividades e copie os formulários da atividade lançamento, porém deixe com a propriedade "Somente leitura".
Feito isso, acesse a atividade "Fazendo" e crie mais dois formulários obrigatórios:
- Análise - /*ANALISE*/ (Texto - Longo)
- Solução - /*SOLUCAO*/ (Texto - Longo)
Na aba "Eventos" crie um evento de "Definir valor variável" para definir a variável "/*DATAFIM*/" (Data) com a variável de sistema /*DATAATUAL*/. Dessa forma quando sair da coluna "Fazendo" e ir para "Feito" significa que a tarefa está finalizada e precisamos da data para futura referência.
Em seguida acesse a atividade "Feito" e copie os dois novos formulários criados, deixando-os somente leitura (Análise e Solução). Adicione em seguida mais dois formulários:
- Data inicio da tarefa - /*DATAINICIO*/ (Texto - Longo)
- Data fim da tarefa - /*DATAFIM*/ (Texto - Longo)
Desvios
Por fim, depois de realizar tudo isso, acesse cada atividade e crie o desvio correto para cada uma:
Salve tudo, e libere a versão do Kanban.
Lembrando que, este é um exemplo bem simples da utilização do Kanban, para regras mais elaboradas é necessário a personalização.
- Para baixar um exemplo do Kanban pronto, onde é apenas necessário importar em sua base, clique aqui.
Card no portal
Agora que já finalizamos o Kanban e está pronto para uso de forma funciona, podemos falar de alguns detalhes que não foram abordados durante o desenvolvimento do Kanban acima.
Quando um card é criado no portal, ele possui algumas abas onde o usuário pode consultar informações/interagir antes de colaborar com os formulários/eventos.
Elas são:
- Aba "Descrição": Aqui estará o conteúdo da variável que é criada automaticamente /*DESCRICAO*/. Essa variável não pode ser deletada do Kanban, então geralmente é preenchida, senão pelo formulário, por um evento de definir valor variável.
- Aba "Mais informações": Esta aba tem a mesma função da primeira aba: mostrar o valor de determinada variável, a diferença é que nesta é possível configurar quais as variáveis serão mostradas.
Acessando o Kanban, na quarta aba "Variáveis/filtros", é necessário marcar a opção "Exibe Kanban" e colocar um título, caso contrário o valor da variável irá aparecer na aba sem nenhuma apresentação. Lembrando que qualquer modificação feita no Kanban, é necessário liberar a versão e abrir um novo card (em antigos não funcionará a alteração).
Para entender melhor sobre versionamento de processos BPM clique aqui.
- Aba "Comentários": Aqui serão exibidos os comentários que foram enviados durante toda a colaboração daquele card. Os comentários ficam no canto direito do processo, e podem ser cadastrados tanto manualmente, quanto por um evento de sistema.
- Aba "Anexos": Aqui serão exibidos todos os anexos vinculados ao card. Tanto de forma manual quanto por um evento de GED.
- Aba "Tempos": Aqui mostra todos os tempos dos usuários focados no card em questão. Lembrando que, ele não conta o tempo em que um usuário esteve COLABORANDO com a atividade, e sim que esteve com esta primeira tela aberta. No exemplo que fizemos acima, seria uma boa informação para se ter em um painel de indicador por exemplo, onde mostraria o tempo médio que colaborador está obtendo em suas tarefas, etc.
- Aba "Marcadores": Marcadores que podem ser vinculados ao card, importantes pois servem de filtro para procurá-lo futuramente. Pode ser feito esse vinculo de forma manual e por um evento de adicionar marcador.
Aqui é onde é configurado quais marcadores aparecerão neste Kanban.
Filtros
Em relação os filtros de Kanban, sua configuração é feita na aba "Variáveis/Filtros" ali você pode colocar a variável em questão como "Filtro" e até mesmo como "Filtro obrigatório".
Coloca-se um título nele para melhor entendimento do usuário (Geralmente o mesmo nome da variável)
No portal:
** Novidade: Na versão 17.8.0.613, foi adicionado uma melhoria relacionada aos filtros de Kanban, sendo possível realizar uma hierarquia de filtros, onde um determinado filtro FK (filho) mostrará os dados com base no que foi escolhido em outro filtro FK (pai).
Filtro PAI
- No filtro FILIAL, mostrará ao usuário todas as filiais disponíveis no sistema e que o usuário logado tem acesso:
Filtro FILHO
- No filtro Usuário, serão exibidos todos os colaboradores, clientes ou fornecedores vinculados na filial escolhida do filtro FILIAL (Filtro PAI).
Note que no filtro filho não está sendo referenciado o IDFILIAL em nenhum momento. Isso acontece pois com essa melhoria, não é necessário existir um filtro adicional como IDFILIAL = 0/*IDFILIAL*/, apenas referenciar os campos em:
- Cód. filtro pai: Onde é vinculado o filtro PAI no filtro filho.
- Campo filtro pai: Aqui é referenciado o campo que será usado para ligar as duas FK's, o nome do campo em comum nas duas tabelas e será usado para aplicar o filtro.
O campo "Usuário" mudará de acordo com a escolha do campo "Filial":
Link dos processos publicos
Este conteúdo tem como objetivo explicar de forma simples e rápida a criação do link para os processos públicos do seu ambiente.
Siga os passos:
- Vá em Configuração> Parâmetros Gerais - Dox Portal.
- Pegue a URL do portal.
OBS: O usuário publico — mostrado na imagem — é referente ao usuário que estará vinculado na instância de um processo publico como usuário da colaboração. È recomendável que NÃO seja o GERENTE ou qualquer outro colaborador normal. Que seja criado um usuário PUBLICO (NÃO INATIVAR) apenas para isso, assim como a FILIAL.
- E coloquei /publico# no final.
Exemplo:
http://127.0.0.1:9999/publico#
Desta forma, irão aparecer na tela, de acordo com o link, apenas os processos onde a permissão é "Acesso publico".
Logs de processo / serviço
As vezes pode ocorrer no meio do desenvolvimento de um processo alguma falha não esperada, gerando um erro que conflite na execução dos processos. Ou alguma instabilidade nos serviços do sistema. Para que seja verificado, deve-se consultar os logs:
Log de Serviços:
Para identificar o erro ou consultar é possível visualizar o log dos processos e também os erros dos serviços do sistema, dentro da pasta C:\Ema Software\Contas ERP\log\Servicos.
Clicando no .txt irá abrir o log completo e você poderá visualizar o erro se caso existir:
Obs: O Tipo 1 do log são os erros.
Log de Processos:
Caminho: C:\Ema Software\Contas ERP\log\Processos.
Uma observação é que esse TXT de log de processo é o log que é gerado em "Instâncias de negócio". Então se for apagado esse arquivo, o log também vai sumir no estúdio.
Log de erros:
Caminho: C:\Ema Software\Contas ERP\log\Erros.log
Este log de erros é mais genérico, basicamente vai apresentar todos os erros dos serviços em um documento só. Uma outra forma de visualizar esse log é pelo estúdio: Configurações > Utilitários > Log de erros
Micro Serviços
Atualmente nossos sistemas utilizam micro serviços para fazer integrações, gerar logs, enviar e-mails dentre outras funções importante que são usados no dia-a-dia. Segue a lista abaixo para conhecer melhor o que cada micro serviço faz:
Assim que ativar os serviços, você poderá visualizar se estão operantes através do link: http://IP_SERVIDOR:8500
Node | É uma plataforma em que foi desenvolvido o controle de micro serviços. |
Ema_Configurador | Aplicação responsável pela configuração do banco de dados e serviços. |
Ema_API_Portal | Ao ativar o serviço "Ema Servidor", automaticamente serão startados os serviços "Ema_API_Portal" e "Ema_Notificacoes_Portal". |
Ema_Arquivos | Download e upload de arquivos estáticos que servem o Portal. |
Ema_BI | Serviço responsável por obter as informações do Dashboards do BI. |
Ema_BPM | Responsável pela execução dos processos de negócio. Obs: Ao selecionar o serviço "Ema BPM", automaticamente será selecionado o serviço "Ema Servidor" porque o BPM depende do Servidor (e do Portal); |
Ema_BPM_App |
Ao ativar o ambiente com o serviço "Ema BPM" habilitado, automaticamente serão startados os serviços "Ema_Servidor" (mesmo que esteja desmarcado na configuração), "Ema_Pex", "Ema_Arquivos" e "Ema_BPM_App" (front); |
Ema_BPM_Relatorios |
Esse serviço pode ser habilitado no Ema Configurador, inclusive com múltiplas instâncias (o que é aconselhável).
|
Ema_DFe | Serviço responsável por efetuar a manifestação, consulta e download de documentos fiscais eletrônicos nos processos de negócio. |
Ema_Email | Serviço responsável pelo envio de e-mail para o provedor. |
Ema_GED | Serviço responsável por salvar e efetuar download de arquivos em disco rígido. |
Ema_Log | Gera os arquivos de log dos serviços e processos de negócio. |
Ema_MotorDOX | Serviço responsável por executar os processos agendados. |
Ema_Notificacoes | Responsável por todas as notificações, e-mail, correios, mensagens, etc... |
Ema_Parametros | Serviço responsável por retornar arquivos de configuração. |
Ema_Pex | Responsável por executar todos os eventos PEX do Portal. |
Ema_Registro | Serviço responsável por monitorar o registro do cliente. |
Ema_Servidor | Serviço responsável por execuções de regras do Portal e integração do PDV. Obs: Ao ativar o serviço "Ema Servidor", automaticamente serão startados os serviços "Ema_API_Portal" e "Ema_Notificacoes_Portal". |
Ema_VideosVersao | Serviço responsável por buscar novidades da versão do cliente. |
Ema_Sped | Integração com SPED Fiscal gerando um layout contábil para o Governo. |
Ema_AD | Serviço responsável pelo login via Active Directory. |
Ema_SAT | Serviço responsável pela comunicação com aparelhos SAT e envio das informações ao SEFAZ |
Ema_SMS | Serviço responsável pelo envio de SMS. |
Ema_Lembrete | Serviço responsável por notificar os lembretes aos respectivos usuários. |
Fabio | Proxy responsável por controlar as rotas para os micro serviços. |
Ema_Cielo | Serviço responsável por efetuar as transações da Cielo (BPM) |
Ema_RetornoCartao | Permite o acesso as informações da rotina de retorno de cartão no Ema_ERP. |
Verificar porta do micro serviço
- Acesse o gerenciador de tarefas
- Aba "Detalhes"
- Clique com o botão direito sob a coluna
- "Selecionar colunas"
Em seguida procure a coluna "Linha de comando" e marque, clicando em "Ok"
Agora, no final de cada linha estará o endereço do micro serviço (no windows) + a porta utilizada
Outra forma de verificar a porta de cada micro serviço utilizada é pelo http://localhost:8500/.
- Clique sob o micro serviço desejado.
- Conforme imagem abaixo:
Porta Já utilizada por outro processo ou aplicativo
Em situações que a porta está em uso por outro software/aplicativo ou processo, devemos tentar identificar qual o processo primeiro e depois avaliar se é possível alterar a porta ou até mesmo removê-lo do servidor ou computador se necessário, pois pode acabar impactando na comunicação com o banco de dados e gerando não-conformidades.
Para identificarmos podemos usar o comando pelo prompt de comando, ou CMD através do atalho + R e digitando o comando cmd para abrir a tela do terminal de consulta.
Depois na tela do terminal, digitamos o seguinte comando "netstat -aon", este comando irá listar os ip's e portas que estão em uso no Windows, auxiliando a identificar se a porta que precisamos para o banco de dados está livre ou não.
Testar conexão da porta com o PowerShell
Uma outra alternativa para testar a conexão com o servidor e uma porta em específico é usando o PowerShell, para acessar a ferramenta no Windows, vamos fazer o seguinte:
Após abrir o programa vamos digitar a seguinte linha de comando: Test-NetConnection "IP SERVIDOR" -port "PORTA DO SERVIDOR" Vamos substituir o IP servidor pelo endereço de IP do servidor do cliente ou máquina da rede que está instalado o sistema e também substituímos a PORTA DO SERVIDOR, pela porta que queremos testar a conexão conforme exemplo abaixo:
Conforme a imagem, caso a porta esteja liberada e sendo utilizada corretamente, será retornado os dados de conexões e o Acesso como True.
Caso não haja comunicação com a porta será emitido um aviso com a falha da conexão.
Motor BPMS
A tela de Motor BPMs (mais conhecida como Motor DOX) lista todos os agendamentos feitos em processos BPM. É nessa tela que poderão ser consultados quais os processos que possuem agendamento para executar, qual a última data que esse agendamento foi executado, quando será sua próxima execução, e muito mais informações que podem ser visualizadas de acordo com a necessidade do usuário.
Porque é um recurso importante?
Bom, os agendamentos são usados em sua maioria em processos/atividades automáticos. Ou seja, que executam certa ação em que não há necessidade do envolvimento do usuário final, usuário do portal. Por exemplo, vamos supor que o sistema A utilize do sistema DOX porém suas informações estão todas em um banco de terceiro, como o TOTVS por exemplo.
Dado a esta particularidade, é necessário que haja uma "sincronização" de informações. Onde o processo traga lá do banco de terceiro TOTVS as informações para um banco local onde posteriormente essa informação possa ser atualizada, modificada etc. Então o sistema A criou um processo totalmente automático que busque um grande volume de informações para o sistema local.
Porém essa sincronização deve ser feita meio noite de todo dia, para que não afete os usuários que usam o sistema durante o dia. Pensando nessa necessidade, foi possível criar um AGENDAMENTO, onde o próprio sistema iria rodar o processo nos horários configurados.
O motor BPM nada mais é do que o que monitora/controla toda essa movimentação de agendamentos.
Claro que o caso acima do sistema A foi apenas um exemplo, pode ser criado vários cenários onde os agendamentos são de extrema importância. Por exemplo, neste exemplo do evento de temporizador de espera.
Para acessar a tela do Motor BPM, acesse o módulo de processo > Motor BPMS
Para alterar os campos de visualização na tela do Motor BPMS, basta clicar no menu assistente e selecionar a opção "Personalizar".
Desse modo, eles serão adicionados na coluna à direita, que é onde ficam todos os campos exibidos na tela de consulta.
Nessa tela, basta selecionar na coluna à esquerda os campos que você deseja que sejam visualizados e clicar duas vezes sobre eles. É um assistente interessante pois pode haver momentos em que alguma informação daquele agendamento é importante para análise e deve ser deixada na frente por exemplo.
Exemplo:
Assim como foi dito acima sobre processos automáticos, vamos criar um exemplo agora para melhor entendimento sobre o motor. Primeiro de tudo, sempre verificar se o micro serviço que roda o motor está ativo:
Depois de ativado, vamos para a configuração do processo. Assim como foi criado/desenvolvido o processo de "Registro de despesa" (clicando aqui), é criado um temporizador e isso adiciona um novo registro na fila do motor.
Edite o processo de "Registro de Despesa", e vá para a aba "Agendamento"
Clicando em "Novo", vamos configurar um agendamento para este procedimento. Ou seja, o motor irá iniciar uma instância de forma automática de acordo com a nossa configuração de data/horário.
Neste exemplo, criamos um agendamento de 15 em 15 minutos, para iniciar ao meio dia de 11/03/2022. Depois de 5 execuções esse agendamento irá se finalizar e não executar novamente.
Depois de finalizado a criação, clique em "Ok", salve e libere o processo. Acesse a fila do motor novamente e olhe o novo registro adicionado.
Como a primeira atividade do nosso processo é manual, o sistema irá abrir a instância e a pessoa com permissão poderá acessar para prosseguir com a colaboração de formulários/eventos. Se fosse um processo inteiramente automático, o sistema passaria por todas as atividades, executando o que foi desenvolvido, e finalizaria o processo de acordo com o fluxo.
Uma boa prática: Um tempo mínimo para as próximas execuções, use 15 de 15 minutos, pois pode causar lentidões ou "pesar" o sistema.
Papel função
Aqui será explicado definição de papel e função e onde eles são utilizados no sistema DOX, além de deixar claro a sua importância nos negócios da sua empresa.
Definição de papel/função.
Muitos conhecem função como sendo uma área funcional, um grupo de pessoas, um cargo ou um departamento. Em outras palavras, função refere-se ao propósito natural de algo ou o dever de uma pessoa.
O papel é um conjunto de responsabilidade, atividades e autoridades concedido a um indivíduo ou time, pode-se ter múltiplos papéis. Pode ser definido simplesmente como um papel desempenhado por alguém em uma situação particular
Exemplo:
- Função: Gestor financeiro.
- Papel: Dentro da empresa, os papéis que um Gestor financeiro desempenha são: recrutador, contas a pagar, aprovador de compras, etc...
O cadastro de papéis função é muito utilizado quando fala-se de processos de negócio BPM, pois em BPM não cita-se as pessoas dos processos e sim os papéis função envolvidos, porquê pessoas mudam de empresa, saem de férias, e, os processos não podem ficar dependendo de pessoas.
Vamos considerar o seguinte cenário:
- Você tem um processo de solicitação de férias, onde é necessário a aprovação do Gestor Financeiro, Rafael. O processo, no entanto, está com a permissão configurada para aceitar apenas a colaboração do USUARIO Rafael indicado na variável do processo, não do PAPEL FUNÇÃO Gestor Financeiro.
Vamos considerar agora que o Rafael acabou mudando de empresa.
- Como vai ficar o processo?
- Será necessário o desenvolvedor/modelador DOX ir em todos os processos e mudar a permissão do USUÁRIO Rafael indicado na variável para o usuário do novo Gestor financeiro?
Com os papéis funções utilizados de forma correta, esse problema não aconteceria. Não seria necessário ir em todos os processos e mudar manualmente a configuração de permissão.
O desenvolvedor apenas iria até o cadastro do colaborador e vincularia o Papel de Gestor financeiro no novo usuário. Desse modo, nenhum processo sofreria alteração com isso. E além de poupar tempo, é uma forma muito mais organizada de manter o seu BPM, pois como foi citado anteriormente, não é recomendável os processos ficarem dependendo de pessoas.
Módulo Papéis(Função)
Foram criadas algumas funcionalidades no cadastro de papeis funções, para que as empresa consigam detalhar o CHA (competências, habilidades, e atitudes) de cada papel função, deixando o conhecimento explícito na plataforma dox, onde cada colaborador poderá saber o que precisa estudar ou desenvolver no seu perfil para chegar até determinado cargo da empresa.
Cadastro de papel função
Acesse o módulo de processos > Papéis (Funções) > Novo [F2]
Assim que clicar em Papeis (Funções) irá abrir a tela para listador todos os papeis/funções, criar novos ou editar os já cadastrados.
Para que o papel função seja cadastrado, o sistema solicita apenas a descrição como obrigatório. Porém, como o papel função dependendo do ramo da empresa, é algo importante, o RH preenche todos os campos de perfil e CHA por exemplo.
Parâmetros gerais - Documentos
Configurações > Parâmetros gerais - Documentos:
Para utilizar os recursos do GED em nossa plataforma, é necessário que sejam configurados alguns parâmetros. Dentre eles, os principais são:
- Utiliza GED.
- Usa estrutura do GED.
Dessa maneira o armazenamento de anexos de processos e qualquer tipo de arquivo serão armazenados dentro da estrutura do GED.
- Modo de Armazenamento: é recomendado que seja utilizado Disco Rígido, desse modo serão evitados problemas com performance e tamanho excessivo do banco de dados.
- Caminho: deve ser informado o diretório onde os documentos serão salvos.
- Compactar arquivo: Você deve informar se deseja ou não que o sistema compacte os arquivos antes de salva
Permissão:
- Inserir somente documento de extensões cadastradas: No GED só será permitido documentos onde a extenção está cadastrada em nosso sistema (Organização >Documentos > Extensões):
- Tamanho máximo (Em megabytes): Tamanho máximo de documento permitido no nosso sistema. Caso esse tamanho seja excedido, o sistema mostrará uma mensagem para o usuário, ou apontará erro no log de processo BPM,
Parâmetros Gerais - DOX
Para o DOX Portal funcionar corretamente é necessário que sejam configurados alguns campos para melhor aproveitamento dos recursos disponíveis. Leia atentamente as instruções abaixo para entender melhor esse recurso.
Na aba Geral
Essa aba contém algumas configurações que vão impactar no uso dos recursos do Dox Portal.
- Filial pública: A filial que estiver vinculada a este campo será considerada a filial publica no estúdio, ou seja, quando o processo de negócio for iniciado por um usuário não logado, a filial vinculada será esta.
- Usuário publico: Usuário padrão que será registrado nos processos quando estes forem automáticos ou colaborados por um usuário não logado.
- Modelo de e-mail: modelo de e-mail padrão.
- Conector de e-mail: Conector de e-mail padrão.
- URL do portal: Esse campo tem como objetivo padronizar o acesso externo ao portal Dox.
Para funcionar o portal, você deve configurar o endereço externo (padrão) de acesso ao portal Dox da sua empresa. Caso você já você possua um domínio ou subdomínio registrado em seu site, poderá informá-lo aqui. O da Ema, por exemplo, é http://portal.ema.net.br.
Esse será o link padrão usando dentro dos processos, dessa forma, mantenha ele sempre atualizado.
* Caso esteja configurando uma base de testes, você poderá informar simplesmente http://localhost (ou o endereço do servidor de testes) + a porta definida para a conexão no Ema Configurador. Por padrão, essa porta é a 80, mas pode ser definida no Ema Configurador qualquer outra porta de acesso, desde que esta esteja liberada.
Veja a URL no portal:
Página inicial por tipo de pessoa:
Neste caso, os tipos de usuários Clientes, Fornecedores e Colaboradores verão sempre o módulo de processos ao acessar e logar no portal. Essa configuração pode ser mudada conforme o modelador desejar.
Na aba Permissões
Módulos permitidos por tipo de pessoa. Aqui controla quais são os módulos cada tipo de usuário tem permissão para acessar. Ex: Fornecedores tem acesso apenas ao módulo de inteligência no Portal.
** Interessante ressaltar o campo "Permite visualizar painéis de indicadores, cubos e funis disponíveis em outros módulos", disponível a partir da versão 17.3.
Este parâmetro permite que o usuário no portal possa acessar os itens do módulo de inteligência, sem o módulo estar de fato habilitado.
Na aba "Visual"
Essa aba contém apenas as configurações visuais do seu portal Dox . Você consegue configurar mais de uma visualização para cada endereço de portal, além da visualização Padrão.
- Título: Campo descritivo para informação e organização dos registros da grade;
- Domínio: Campo descritivo para determinar e separa as cores e imagens por domínio (endereços externos);
- Cor: Cor padrão para tela funda tela de login e barra superior;
- Imagem para página de login: Imagem que aparece apenas na tela de login do portal Dox;
- Imagem para as demais páginas: Imagem que aparecer na barra superior do portal.
- Visual "Padrão" Esse registro já vem junto com a instalação do sistema, você poderá alterar as configurações de Cor, Imagem para página de login e Imagem para as demais páginas mas você não deve excluir esse registro. * As informações de Titulo e Domínio não pode ser alteradas e por isso estão somente leitura.
- Nova visualização Para criar uma nova visualização basta clicar no botão Novo e informar os campos Titulo, Domínio, Cor, Imagem para página de login e Imagem para as demais páginas.
Por padrão Você irá definir a cor primária que identifica a sua empresa, a imagem principal que aparecerá nas telas de login e carregamento do Portal, e também a imagem que ficará fixa no cabeçalho da página. Desse modo o Portal será personalizado para que tenha a cara da sua empresa.
Na aba LGPD
Aqui é onde será configurado toda a parte de avisos de privacidades e de cookie para os usuários.
Para saber configurar, clique aqui.
Parâmetros gerais - Tecnicos
Um dos parâmetros de configuração do dox que se encontra em Configurações > Técnicos. É responsável por configurações básicas do sistema tais como formato da letra, se é deixar todas elas é maiúsculo, normal ou minúsculo além de outras configurações.
Neste tópico será apenas para apresentar a tela de configurações.
Aba Geral
Permissão para acessar conector
Ao conceder e restringir permissões, deve-se ter atenção ao tipo de colaborador que terá acesso á determinadas funcionalidades do Dox. Um conector por exemplo, não pode ser visualizado por aquele que não seja o seu criador, a não ser que seja concedida a permissão.
Nessa situação, o usuário que não é administrador não terá acesso ao conector criado por outro usuário, e aqui será mostrado como conceder essa permissão.
Quando for clicado no conector para visualizá-lo, o DOX mostrará a seguinte mensagem:
Para o criador ou administrador conceder a visualização sobre este conector ele deve clicar com o botão direito sobre ele e acessar a opção "Liberar edição para outro usuário" e procurar pelo usuário desejado, aquele que irá ter a permissão para editar.
Caso o usuário que você deseja liberar não apareça na lista, deve-se consultar o cadastro do colaborador dele, e marcar a opção "Técnico". Depois de marcado, tentar novamente.
Permissão para visualizar painéis de indicadores
* Para saber mais sobre painéis de indicadores em geral, no ambiente de inteligência: clique aqui.
Em algumas situações, alguns clientes tem problemas na visualização de painéis de indicadores. isto acontece porque a liberação de painéis é feita através de grupo de usuários, e muitas vezes eles não estão devidamente vinculados. Veja abaixo como é feito este vinculo no DOX:
Configurando permissão do grupo de usuário:
Acessando as configurações do painel de indicadores desejado, na aba Permissões, veja os grupos de usuários vinculados. Isso significa que, o usuário que estiver neste grupo vai poder visualizar este painel de indicador.
Configurando grupo NO usuário / colaborador:
No módulo de Processos > Colaboradores, clicando duas vezes em determinado colaborador, na aba Adicionais podemos ver a qual grupo ele pertence. Para trocar, basta desvincular do grupo atual e selecionar outro desejado:
Configurando permissão ao menu / módulo de inteligência:
Temos que garantir que o usuário tenha permissão de visualizar o módulo configurado para acessar o painel (Ex :Dox Portal > Inteligência). Na configuração do painel, perceba o campo Menu, onde este painel será mostrado.
Nas Configurações do DOX Estúdio, em Parâmetros Gerais - Dox na aba Permissões, estará as configurações de liberação de visualização do portal. O módulo vinculado no painel, tem que estar marcado como permitido para o tipo do usuário desejado.
Processos de negócio (Instâncias)
Quando iniciamos ou colaboramos com alguma instância de processo, é possível não executar alguma ação esperada ou ocorrer erros causados por alguma configuração realizada de modo errado. Para verificar situações como essas, podemos consultar o log do processo a fim de encontrar o causador do problema.
Acessando DOX Estúdio, módulo de processo > Processos de negócio (Instâncias)
Agora, precisamos procurar pela instância onde ocorreu o erro utilizando os campos do filtro na parte superior. É possível procurar quando essa instancia foi iniciada, o status (se está aberta, fechada ou cancelada), o usuário que iniciou, etc,
Outra forma de buscar por uma informação em especifico é Ctrl + L, onde você escolhe qual o campo da tabela e coloca o parâmetro para fazer a busca.
Encontrando a instância, clicamos com o botão direito acima dela, e acessamos a opção "Propriedades".
Nessa opção, podemos ver o fluxograma, que mostra qual o caminho percorrido marcada em verde claro e onde o processo se encontra atualmente, marcado pelo verde mais forte.
Para acessar o log, clicamos na opção Log na parte inferior da tela, e procuramos por algum erro causador do problema, seja usando a barra de rolagem ou utilizando a pesquisa e os filtros. O log está ordenado da informação mais antiga para a mais recente.
Aqui é possível utilizar algumas opções para filtrar os dados quando o log é muito grande. Na parte superior da tela é possível filtrar pela linha, tipo do log (erro ou informação), atividades que estão presentes no procedimento ou evento. Por ultimo tem um campo de pesquisa para a descrição.
Outra aba que é importante, ao lado da aba "log", é a aba "Variáveis". Ali é possível ver todas as variáveis do processo, bem como seu valor atual.
Clicando com o botão direito em cima de uma variável, aparece a opção "Rastrear alterações", essa opção mostrará todos os momentos em que o valor dessa variável mudou.
Processos descontinuados
Quando há usuários do DOX abrindo processos por curiosidade ou não dando continuidade, alguns clientes têm dúvida se existe alguma forma de fazer uma varredura/limpeza desses processos descontinuados.
Atualmente temos o campo "Dias de vigência":
Com isso o sistema vai encerrar o processo automaticamente após os dias informados, no exemplo foi colocado um. Mas poderia ser 90 dias ou mais.
O único detalhe é que os dias em vigência não consideram em qual atividade o processo está, ele vai encerrar depois de 90 dias, mesmo que esteja em uma atividade de aprovação.
Sugestão: criar um evento "Criar Agendamento" ao entrar e um evento "Remover Agendamento" ao sair da primeira ou segunda atividade, para que mova para o fim depois de 1 hora ou 1 dia ou 10 dias (Clique aqui para visualizar um exemplo detalhado).
Em resumo, se o usuário ficar na primeira ou segunda atividade e não der andamento depois de x tempo o processo vai para o fim. Se o usuário chegar nas atividades seguintes, então o agendamento é removido e o processo passa a ser controlado pelos dias de vigência. Esse agendamento teria que ser configurado para cada processo, pois as regras podem ser diferentes para cada um.
Para limpar os processo que foram abertos e que precisam ser cancelados, acesse as instâncias dos processos:
Filtros
- Período: "Todos";
- Status: "Aberto";
- Processo: escolha o que você quer listar;
- Seleciona o processo que você quer cancelar na lista;
- Clique com o botão direito do mouse e depois em Cancelar.
Registro de software
O registro dos softwares Ema é diferenciado por cada tipo de produto (ERP, DOX, PDV, etc..) e são controlados por quantidade de instâncias abertas, ou seja, se você utilizar 2 programas Ema ERP, serão computadas duas licenças em nossos servidores.
Como faço para saber a quantidade de licenças contratadas?
- Acesse na parte superior do seu aplicativo o ícone de engrenagem Configurações.
- Na coluna cadastros, selecione Usuários conectados.
- Na tela, serão mostrados todos os usuários conectados no momento no sistema.
- Será mostrado ao lado de cada usuário o produto usado no momento.
- No topo da página será mostrado o total de usuários listados.
- O usuário GERENTE utilizado pelos colaboradores Ema Software, não entra na contagem.
- Caso você não possua permissão para acessar este recurso, solicite ao responsável em sua empresa.
Referência: Usuários conectados no registro, logoff usuários.
O acesso a esta função requer liberação do administrador de seu sistema.
Como liberar o sistema/chave temporária?
Referência: Chave temporária, liberar sistema, liberação temporária, liberar registro.
- Entre em contato com nosso departamento financeiro e solicite a chave temporária
- Abra o sistema e vá até: canto superior esquerdo (ícone verde) > Informações -> Registro de software
- Insira a chave enviada e clique em Ok
- Seu status do sistema será: Liberado temporariamente, neste momento o sistema poderá ser usado completamente
Qual o endereço do registro?
- services.ema.net.br:80
Este endereço deve ser liberado no firewall
Verificando possíveis problemas com o registro das aplicações
Abaixo, temos algumas mensagens que podemos nos deparar ao tentar acessar as aplicações da ema, caso haja algum problema relacionado ao registro do software e suas licenças adquirida, bem como algumas orientações para identificar ou solucionar o problema:
Meu sistema excedeu o número de licenças |
|
Meu sistema está com registro de software com restrições |
|
Registro não encontrado |
|
Incompatibilidade no número do documento. |
|
Requisitos de uso DOX
O sistema DOX Estúdio / DOX Portal necessita de um servidor com sistema operacional Windows para poder funcionar. O banco de dados do sistema geralmente está localizado no mesmo ambiente, porém ele pode ser instalado separadamente em um servidor com sistema operacional Linux (sendo esta configuração realizada pelo próprio cliente, pois na Ema não damos suporte ao Linux).
O DOX só permite a inicialização de 1(uma) conexão com o banco de dados por servidor. No caso, não é possível executar no mesmo sistema operacional mais de 1(um) servidor de aplicação DOX, conectando em bancos de dados distintos.
Abaixo seguem as indicações de configuração para servidores e estação de trabalho que irão utilizar o DOX.
Configuração de hardware para servidor
Aqui está uma configuração de servidor indicada/dimensionada para um cenário com até 2 licenças de DOX Estúdio e até 50 licenças de DOX Portal:
- 4x CPUs (plataforma de servidor)
- 8GB de Memória RAM DDR4
- 100GB de disco SSD*
- Sistema operacional: Windows Server 2016, Windows Server 2019 ou Windows Server 2022.
- NodeJs: v16.16.0
*O servidor pode necessitar de mais espaço em disco, é algo que irá depender da projeção de armazenamento a ser utilizada pelo sistema.
Estações de trabalho
Para estações de trabalho que irão executar o DOX Estúdio, indicamos o uso das seguintes versões de sistemas operacionais:
- Windows 10 Pro ou Windows 11 Pro.
Banco de dados compatível:
Banco de dados PostgreSQL
- Versão PostgreSQL 10.4 ou 14.9 (x64)
- Oracle 12
Não deverá conter:
Aplicativos de terceiros, como:
- Outros bancos de dados de softwares terceiros.
- Aplicativos/plugins de internet banking.
Internet
Para que a aplicação funcione corretamente é obrigatório o computador onde estarão rodando os micro serviços possuir acesso a internet.
Tipos de ambiente (Homologação / Produção)
Tipos de ambiente
- Homologação: Este é o ambiente de teste/desenvolvimento do cliente. Onde serão feitos os processos BPM, relatórios, paineis, gráficos, etc. Em homologação é onde esses serão devidamente testados e modificados, sem correr o risco do usuário final colaborar ou interagir, atrapalhando no desenvolvimento.
- Produção: Ambiente onde tudo o que foi testado em homologação poderá ser colaborado pelo usuário final.
Ao configurar uma conexão pelo Ema Configurador, o usuário tem a opção de informar se a conexão que está sendo configurada será de produção ou homologação. Essa seleção deve ser feita na aba "servidor", no ema_configurador
Assistente de publicação:
Módulo de processos > Assistente de publicação.
Você deve informar no campo “URL de produção” o link de acesso ao Portal de produção da sua empresa.
Se a base que estamos utilizando neste exemplo fosse a base utilizada como base de produção da Ema, o link que informaríamos para este campo seria https://portal.ema.net.br pois é esse o endereço de produção da Ema na Web, onde estão disponíveis para uso todos os processos já liberados e testados.
- Período: é o período de liberação/alteração do recurso.
- Assim que algum dos recursos citados acima forem alterados, eles aparecerão nessa tela para que seja feita a publicação no ambiente de produção definido na URL configurada, ou descarte das alterações.
Ex:
Para exemplificar essa operação, temos o processo DOX Portal - Novo usuário pronto para liberação/descarte nesta tela. Clicando na caixa de seleção do processo você poderá dizer o que deseja fazer com o mesmo (se irá fazer a publicação ou descarte).
- Publicar: utilizando a opção de Publicar, o processo será publicado em base de produção com as últimas alterações realizadas na versão liberada.
- Descartar alterações: quando utilizada essa opção, o sistema irá fazer uma verificação pela última versão liberada do processo e descartar a versão atual. Agora, caso não sejam encontradas versões publicadas, as alterações realizadas em todo o processo serão descartadas e ele será removido da lista de processos, portanto deve-se prestar atenção ao descartar alterações de processos não publicados.
- Alterar motivo revisão: altera o campo “Motivo” da lista de processos/recursos prontos para publicação, como exemplificado na imagem
- Seleção: apenas para selecionar/desfazer seleção de todos os registros.
Considerações:
- Para que processos apareçam na tela de Assistente de publicação os mesmos precisam ter sua versão liberada para uso (Botão direito no processo - Liberar versão para uso);
- Caso o processo dependa de recursos como conectores, protocolos/relatórios, modelos de correspondência, entre outros, e os mesmos apareçam nesta tela, recomendamos que publiquem antes de realizar a publicação do processo em si;
- Mesmo com a implementação de um ambiente do tipo homologação, isso não quer dizer que em ambientes de produção os usuários não terão acesso para editar processos, modelos, conectores, etc. Para que isso aconteça deve-se mexer nas permissões de acesso dos grupos de usuário na base de produção;
- Ao descartar alterações de processos não publicados em base de produção o mesmo será removido da lista de processos, pois entende-se que aquele processo não será utilizado.
Guia para Emissão e Configuração de Certificados SSL no Portal Ema
O objetivo deste documento é orientar clientes da Ema Sistemas na emissão e configuração de certificados SSL para uso em domínios próprios no Portal Ema.
A utilização do HTTPS (HTTP sobre SSL/TLS) garante uma camada adicional de segurança na comunicação entre o navegador e o servidor, protegendo os dados transmitidos por meio de criptografia.
✅ Etapas para emissão e configuração do certificado SSL
1. Registrar um domínio próprio
O primeiro passo é garantir que o cliente possua um domínio registrado em seu nome, como suaempresa.com.br
. Esse domínio servirá de base para criação do endereço de acesso ao Portal Ema, por exemplo: dox.suaempresa.com.br
Se o cliente ainda não possui um domínio, é necessário registrar um através de sites como o Registro.br ou provedores de hospedagem (KingHost, GoDaddy, HostGator, etc.). Nós da Ema não realizamos o registro para o cliente, mas podemos instruí-lo a como fazer.
💡 O registro de domínio é um serviço pago.
2. Hospedar o domínio
Após o registro, o domínio deve estar vinculado a um serviço de hospedagem com suporte à emissão de certificados SSL. Indicamos serviços como KingHost ou similares, que já oferecem emissão de certificados SSL do tipo que o sistema exige.
💡 A hospedagem do domínio também é um serviço pago.
3. Criar o subdomínio e emitir o certificado SSL
Com o domínio hospedado:
-
Crie o subdomínio que será utilizado no acesso ao Portal Ema (ex:
dox.suaempresa.com.br
). -
Solicite no serviço de hospedagem a emissão do certificado SSL para este subdomínio, garantindo que o formato gerado seja compatível com o sistema da Ema:
.PEM
ou.CRT
. - Caso a hospedagem não ofereça a emissão do certificado SSL, será necessário buscar uma certificadora terceirizada especializada nesse serviço. Essa alternativa exige atenção redobrada, pois envolve um processo mais técnico e pode demandar etapas adicionais de validação e configuração.
A emissão pode levar até 1 dia útil, a depender do provedor de hospedagem.
4. Configurar o certificado no Ema Configurador
Com o certificado em mãos, siga os passos abaixo com apoio do Suporte da Ema para integrá-lo ao sistema:
-
Abra o Ema Configurador e edite o registro da conexão.
- Defina a porta principal como 443 (HTTPS padrão). Portas alternativas também são permitidas, desde que especificadas corretamente no endereço de conexão.
- Marque a opção Utiliza HTTPS.
- Nos campos Certificado e Arq. Senha procure e informe o certificado no formato .PEM ou .CRT.
-
Caso o cliente esteja executando o sistema anteriormente com uma conexão HTTP, altere o caminho de conexão no arquivo:
C:\Ema Software\Contas ERP\Ema_Conexao_Servidor.ini
, substituindo o protocolo dehttp
parahttps
e ajustando a porta.
5. Testar a inicialização do sistema com SSL
Caso os microserviços do sistema não iniciem, execute o seguinte teste manual:
-
Abra o terminal do Windows (Prompt de Comando).
-
Execute:
C:\Ema Software\Contas ERP\fabio.exe" -cfg fabio.properties
Esse comando tenta inicializar o serviço com o certificado SSL configurado e mostrará mensagens de erro úteis para diagnóstico.
🔧 Se o sistema estiver online, pare os serviços pelo
Ema_Start
antes de testar.
ℹ️ Informações importantes
-
Clientes que contratam o Cloud Server da Ema: o domínio fornecido para acesso ao cloud não pode ser usado para emissão de certificados SSL. O cliente deve possuir um domínio próprio.
-
Opção gratuita com Let’s Encrypt: também é possível emitir certificados gratuitamente com o Let’s Encrypt. Essa opção exige conhecimento técnico em Linux, que o cliente renove o certificado a cada 90 dias e nos envie os arquivos atualizados antes do vencimento para garantir a continuidade do acesso seguro.
❓ FAQ — Perguntas frequentes
Quem é responsável por emitir o certificado SSL?
O cliente da Ema é o responsável por emitir o certificado SSL.
Quais formatos de certificados são compatíveis com o Portal Ema?
.PEM
,.CRT
e, quando necessário,.KEY
(arquivo de senha).
Como emitir o certificado SSL?
Recomendamos verificar se o serviço de hospedagem do domínio já oferece essa funcionalidade. Caso contrário, o cliente pode utilizar uma certificadora externa ou o Let’s Encrypt. Siga os passos citados anteriormente.
Qual porta devo informar no Ema Configurador?
A porta padrão é 443, mas é possível utilizar portas alternativas. Nesse caso, informe a porta que deseja utilizar no Ema Configurador e adicione a porta ao final do endereço de conexão.
O sistema redireciona HTTP para HTTPS automaticamente?
Não. Para isso, recomendamos utilizar o serviço de redirecionamento HTTP do IIS (Windows Server). Basta instalar a função IIS, adicionar o recurso de redirecionamento e configurar a URL de destino em HTTPS.
⚠️ Atenção: Problemas com certificados podem impedir a inicialização do sistema
-
Caso o certificado no formato .PEM esteja corrompido ou com estrutura inválida, o microserviço responsável pela comunicação segura, o Fabio, não será iniciado.
-
É essencial garantir que o arquivo contenha a chave privada correta, seja embutida no
.PEM
ou fornecida separadamente como arquivo.KEY
. A seguir um exemplo de como a chave privada deve estar configurada no arquivo:
✅ Estrutura esperada dos arquivos de certificado
Ao utilizar um certificado no formato .PEM
, o conteúdo do arquivo deve seguir o padrão esperado, contendo o certificado público e a chave privada. Caso opte por usar arquivos separados (.CRT
e .KEY
), configure-os da seguinte forma no Ema Configurador:
-
Arquivo do certificado: informe o
.CRT
-
Arquivo de senha (chave privada): informe o
.KEY
Após essa configuração, salve as alterações e reinicie os serviços. Abaixo um exemplo de como o certificado .PEM deve ser configurado no Ema Configurador:
🔄 Configuração da chave RSA para compatibilidade com o Node.js
Em determinadas situações, especialmente ao atualizar o certificado, pode ser necessário configurar a chave RSA para que os serviços desenvolvidos em Node.js funcionem corretamente.
📌 Recomendamos executar este procedimento sempre que um novo certificado for gerado.
Com o arquivo .KEY
em mãos, execute o comando abaixo no Terminal do Windows, utilizando o OpenSSL: openssl pkey -in arquivo-key.pem -out arquivo-rsa-key.pem -traditional
Esse comando converte a chave privada para o formato tradicional RSA exigido por alguns serviços internos.
🌐 Importante sobre acesso externo
Se a porta padrão (443) for alterada para uma porta alternativa, é fundamental garantir que essa nova porta esteja liberada para acesso externo.
Para mais detalhes, consulte nossa documentação específica: Como configurar o acesso externo ao Portal DOX.
Validar estrutura do banco de dados
Validar estrutura de banco de dados é uma funcionalidade do Ema DOX Estúdio, que verifica se as tabelas do sistema estão configuradas de forma correta. Isso verifica se está faltando campos e tabelas, se está existe algum campo que não era para existir, valida os tipos de dados dos campos, o tamanho dos campos, etc.
Para isso, acessar as Configurações do DOX Estúdio, Utilitários e clicar em Validar estrutura banco de dados.
Para iniciar a execução da validação, clicar no botão Executar validação. Isso irá gerar um relatório de erros definido pelos filtros selecionados, como mostrado abaixo. Neste relatório, irá conter informações do objeto que o erro está presente, e o erro descrito.
Nós também temos o recurso de "Executar comandos" que seriam os comandos de correção para os erros apresentados.
Validar processo
Uma das funções importantes ao liberar processos BPM em produção é o "Validar processo". Como o próprio título é descritivo, ele vai passar por todo o processo tentando encontrar erros ou possíveis falhas que o desenvolvedor do processo tenha deixado passar e avisará antes da total liberação do processo. Para que se tenha certeza que todos os erros sejam arrumados.
Para validar diretamente sem liberar o processo, basta clicar com o botão direito em cima do BPM que deseja validar e ir em Validar Processo(CTRL + F9).
Após isso, o sistema iniciará a validação, procurando por eventos, campos, variáveis que contenham algum problema.
Agora, quando o usuário libera a versão do processo sem testar com o validador, o próprio sistema roda automaticamente e avisa quais os problemas com duas opções:
- Liberar a versão, mesmo contendo erros
- Ver relatório de erros
*** Estas funções funcionam da maneira descrita acima a partir da versão 12.3 +
Vincular certificado NF-e no DOX Estudio
Quando os eventos de consulta, download e manifestação de notas fiscais eletrônicas são usados na ferramenta, precisamos vincular o certificado instalado no servidor à filial cadastrada no DOX Estúdio.
Neste caso, acessamos as Configurações do DOX > Matriz/Filial > Visualizar [F3].
Para que seja possível acessar a tela de cadastro da filial, é obrigatório que o usuário esteja locado na mesma filial.
Acessando o cadastro, na aba NF-e, irá aparecer o campo para preenchimento do número de série, caso:
- A 'Versão leiaute' for 2.0 ou 3.10.
- A 'Versão leiature' for 4.00 E o 'Tipo certificado' for A3.
Então, no campo Nº de série do certificado, basta clicar no botão assistente e selecionar o certificado instalado no servidor.
*** É recomendado fazer este procedimento acessando o DOX Estúdio direto pelo servidor dos serviços.
Colaborando/Alterando atividades dos processos por WebService
Com a liberação da nova versão (Refactor) do DOX, a colaboração dos processos e alguns outros recursos passaram a ser realizadas por meio de chamadas via WebServices.
Por conta disso, vou demostrar como configurar eventos no Dox para alterar a atividade das suas instâncias, da mesma forma que ocorre quando você abre uma instância no Dox Estúdio e define uma atividade manualmente.
Regras para alterar a atividade (via WebServices) de um processo:
- O processo não pode estar sendo colaborado por outro usuário.
- O processo não pode estar cancelado ou finalizado.
- As regras de atribuições das atividades que você vai mover, também vale para o webservices. Ou seja, o usuário que está executando os eventos de webservices precisa ter acesso aquela atividade para a qual você vai mover.
- A atividade onde está sendo utilizado os eventos de Webservice precisam ser do tipo MANUAL, pois atualmente é necessário que o HASHSESSAO esteja autenticado por um usuário válido e logado no portal.
Pré requisitos: Versão 12.0 ou superior
Processo simples
Primeiramente vamos criar um processo simples com uma atividade e 1 evento, para testar a configuração do evento antes de prosseguir com o resto do desenvolvimento.
Quantidade | Descrição |
1 | Conector do tipo "Web Services (Rest)" |
1 |
Processo com:
|
1 - Conector
- Descrição: WebServices EMA - BPMSERVER
- Tipo: Web Services (REST)
- Endereço URL: substitua 127.0.0.1 pelo IP do servidor onde está instalado o Dox.
- Protocolo de segurança: TLS
- Autenticação: Nenhum
- Usuário: manter como está
- Senha: manter como está
Caso o Dox esteja usando uma porta diferente de 80 ou 443, coloque a portal após o seu IP.
-
-
- Exemplo: 192.168.0.100:8888
-
2 - Aba "processos"
- Tipo: Escolha um da sua lista de tipo;
- Descrição: Colaborar por WebService
- Assunto: Colaborar por WebService
- Nome Reduzido: Colaborar por WebService
3 - Aba "Permissões"
- "Qualquer usuário cadastrado"
4 - Aba "Atividade"
- Crie uma atividade Manual chamada "Informar MD5 e Código da Atividade"
5 - Formulários
Edite a atividade "Informar MD5 e Código da Atividade":
Mantenha a aba "Atribuição", mantenha como está.
Na aba "Formulário", crie 2 formulários:
- Primeiro:
- Tipo: Dissertativa
- Título: MD5
- Armazenar em: /*MD5PROCESSOMOVER*/ (texto)
- Tipo de dados: Texto
- Obrigatório: Sim
- Visível: Sim
- Largura do container: 33%
- Largura do elemento: Padrão
- Segundo:
- Tipo: Dissertativa
- Título: Código da nova atividade
- Armazenar em: /*IDATIVIDADENOVA*/ (inteiro)
- Tipo de dados: Inteiro
- Obrigatório: Sim
- Visível: Sim
- Largura do container: 67%
- Largura do elemento: Padrão
Essa informações serão usadas no evento de Webservices para mover o processo que você deseja.
6 - Eventos
Na aba "Eventos", crie um evento de "Web Service - Requisição" com as configurações:
- Descrição: WS - Requisição PATCH ao BPMSERVER
- Momento da execução: Ao sair da atividade
- Atualizar status da execução no Portal: Marque se desejar (Opcional)
- Serviço: Use a "lupa" para selecionar o código do conector criado na etapa 01 do passo 1.
- Recurso: /api/instancias/execucao//*MD5PROCESSOMOVER*//desvio//*IDATIVIDADENOVA*/
Aqui usamos as variáveis criadas para os formulários, verifique se os nomes delas estão iguais as que você criou.
- Método: Patch
Na aba "Requisição" adicione uma única linha:
- Tipo: Header
- Nome: Authorization
- Valor: Bearer /*HASHSESSAO*/
Usamos a tag Bearer antes da /*HASHSESSAO*/ para autenticar na API do Dox, esse configuração é essencial para o funcionamento do evento.
- Corpo: Movido via evento Web Services pelo processo /*IDPROCESSO*/.
Você pode alterar o texto da forma que achar melhor. A informação digitada nesse campo será alimentada no LOG do processo que você moveu.
- Timeout: 60 segundos (caso for necessário, pode alterar)
Na aba "Resposta"
- Cabeçalho (Header): deixar em branco
- Corpo (Body): application/json
- Utilizar codificação UTF-8: Marcar
- Armazenar em: /*JSON.RETORNO*/ (Texto longo)
- Exceção:
- Armazenar em: /*JSON.EXCECAO*/ (Texto longo)
7 - Validar processo
Para finalizar o desenvolvimento do BPM, valide o processo para garantir que não tenha nenhum erro. Se houver, corrija como solicitado no assistente.
Exemplo de Funcionamento:
Conforme a imagem a seguir, o processo acima vai executar um evento Web Services ao sair da atividade, que vai mover um processo de uma atividade para outra.
Vamos testar!
Comece pegando o código MD5 da instância de um processo, para isso navegue até Processos > Instâncias de negócio > Listar o processo desejado > CTRL + SHIFT + D
Depois você vai precisar saber o código da atividade para qual você vai mover o seu processo, no exemplo o código é 3. Agora, basta inserir nos formulários feitos e clicar em confirmar:
Analisando o LOG da instâncias #867 verifique se o Retorno da requisição foi "HTTP/1.1 204 No Content" se sim, o processo foi movido com sucesso.
O Web Service da Ema vai retorna "204 No Content" sempre que ele executar a chamada sem erros. Porém essa informação não é alimentado nas variáveis /*JSON.RETORNO*/ ou /*JSON.EXECAO*/. Em resumo, se as variáveis não tiverem os valores atualizados após o retorno do Web Services, então tudo ocorreu com sucesso.
Analisando o LOG do processo com MD5 1F44DD21E9254498BB28B69065D86D60, que foi movido pelo nosso web service, a mensagem que aparece no log é:
Atenção!
** Lembrando que, ao utilizar dos eventos de webservice para mover atividades, é necessário que seja configurado em atividades do tipo MANUAL. Caso seja necessário utilizar em atividades AUTOMÁTICAS, entrar em contato com a Ema software e solicitar uma orientação de sua funcionalidade.
Enviar anexos selecionados por e-mail
Neste tópico será mostrado como criar um processo de enviar para o e-mail configurado os anexos que o usuário escolher.
Clique aqui para baixar o processo deste exemplo
Neste exemplo quando o usuário incluir anexos e informar o destinatário, na próxima atividade teremos a opção para escolher os anexos para enviar com um formulário para seleção de anexo. Esta função é usada no evento de Comunicação - E-mail com a opção Anexar: anexos selecionados.
Neste procedimento há duas atividades:
- "Informe os dados para o envio";
- "Selecionar arquivos e enviar e-mail".
Na primeira atividade há três formulários:
- “E-mail destino”, onde será informado o e-mail destinatário dos anexos (/*DESTINO*/);
- “Assunto” que será abordado no e-mail e o formulário (/*ASSUNTO*/);
- “Importe os arquivos”, onde será importado os anexos que deseja enviar (ANEXOS).
Na segunda atividade, há um formulário do tipo "Seleção de anexos" vinculado à uma variável do tipo Texto.
Nessa segunda atividade, há o evento para enviar o e-mail ao sair da atividade, pegando os dados que informamos ao longo da colaboração do processo.
Configure o campo "Conta de envio" como achar melhor, utilizando um conector ou uma variável com valor padrão fixo.
Chamar variáveis no modelo de correspondência
Quando há um evento de envio de e-mail em um processo e usamos um modelo de correspondência, na maioria dos casos, precisamos mostrar valores de variáveis do processo no corpo do e-mail, para que o destinatário possa visualizar informações digitadas/selecionadas pelo usuário no processo.
* Em anexo um processo de exemplo. Basta verificar o evento de envio de e-mail, os campos "conta de envio" e "destino". É necessário testar o conector, altere como achar necessário.
Na configuração do construtor deve-se chamar as variáveis pela descrição (ex: 0/*IDPROCESSO*/ para tipo inteiro e '/*TEXTO*/' para os outros tipos), fazendo uma consulta SQL. O nome da tabela VERSAODB é usada pois sempre retornará apenas uma linha, dessa maneira, basta colocar valores que quer mostrar no resultado da consulta antes do FROM.
Fazendo a consulta, basta clicar em Executar para que o sistema valide os campos da consulta e apareça na lista de campos na parte de baixo.
SELECT 0/*IDPROCESSO*/ AS IDPROCESSO,
'/*NOMEUSUARIO*/' AS RESPONSAVEL,
'/*DATA*/' AS DATA,
'/*LOCAL*/' AS LOCAL,
'/*ASSUNTO*/' AS ASSUNTO,
'/*PAUTA*/' AS PAUTA
FROM VERSAODB
Na aba Corpo, na lista ao lado direito, são exibidos os campos da consulta. Ao fazer um duplo clique com o mouse acima de algum campo dessa lista, irá posicioná-lo onde estiver o cursor na caixa de texto do corpo do e-mail.
No corpo do E-mail recebido:
Gerando link para colaborar por e-mail
O evento de gerar link do processo é bastante utilizado em processos de negócio que enviam solicitações em e-mails. Seja relacionado a alguma informação que é necessário validar, ou alguém em especifico para dar continuidade ao fluxo do processo.
No exemplo de hoje iremos criar um processo que na primeira atividade será onde o usuário irá colocar todas as informações da nova reunião:
Depois disso, será recebido no e-mail o link deste processo para que o responsável acesse e aprove a reunião cadastrada.
Vamos a criação do processo!
- Crie um BPM com os seguintes formulários na primeira atividade "Reunião":
- Responsável (/*NOMEUSUARIO*/) - Texto
- Assunto (/*ASSUNTO*/) - Texto
- Data (/*DATA*/) - Data
- Local (/*LOCAL*/) - Texto
- Pauta (/*PAUTA*/) - Texto Longo
- Crie um evento de gerar link do processo AO ENTRAR
- Salve o processo e vamos criar nosso modelo de correspondência para vincular no evento de enviar e-mail (Módulo de processos > Modelos de correspondência).
Caso não saiba como criar um modelo, clique aqui para dar uma olhada em relação a este recurso.
-
- Na aba "Construtor" vamos criar nosso SQL para buscar os dados do processo que criamos:
SELECT 0/*IDPROCESSO*/ AS IDPROCESSO,
'/*NOMEUSUARIO*/' AS RESPONSAVEL,
'/*DATA*/' AS DATA,
'/*LOCAL*/' AS LOCAL,
'/*ASSUNTO*/' AS ASSUNTO,
'/*PAUTA*/' AS PAUTA,
'/*LINK*/' AS LINK
FROM VERSAODB
* Em seguida clique em "executar"
-
- Na aba "Corpo" crie um modelo para que o destinatário receba no e-mail. Com o recurso do HTML, podemos fazer um link personalizado (ex: [url=]Clique aqui[/url]).
<P><A href="/*NOMECAMPO='LINK'*/">Clique aqui</A> para colaborar com o processo.</P>
- Voltando ao processo que estamos criando "Reunião".
- Crie um evento de comunicação - e-mail AO SAIR
- Conta de envio: Vincule um conector de e-mail que será responsável por ser o remetente.
- Destino: Você pode escolher um conector ou variável para guardar o e-mail destinatário.
- Modelo de e-mail: vincule o modelo criado acima, com o link do processo.
- Assunto: Novo registro de reunião!
Agora, vamos a criação da segunda atividade, "Aprovar reunião"!
- Na aba formulários, acesse o assistente no canto inferior esquerdo e utilize a opção "Copiar campos" > "Copiar do processo atual"
Com isso o sistema irá trazer todos os formulários e variáveis da primeira atividade. Agora vamos adicionar mais um botão para a aprovação:
- "Aprovar reunião?" - /*APROVAR*/ (Objetiva - Botões)
Por fim, salve e finalize a criação do procedimento.
Libere a versão para uso e teste seu funcionamento. Depois da primeira atividade, você receberá no e-mail o que foi configurado no modelo de correspondência. Assim que o usuário abrir o e-mail e clicar no link inserido, irá para a página de colaboração do processo:
Enviando e-mail se o checkbox estiver selecionado na grade
Vamos apresentar uma situação envolvendo grade de dados e envio de e-mail. Já existem outros conteúdos sobre grade e estrutura condicional, porém estamos apresentando este com uma situação em específico.
Ao entrar no processo vai ser carregado uma grade de dados contendo os registros da empresa:
- Coluna de check para selecionar o registro desejado;
- Nome do funcionário;
- E-mail do funcionário.
Mais em baixo vai haver um campo de "convidados" onde poderão ser colocados manualmente os e-mails que receberão e que não estão na lista da empresa (separados por ponto e virgula).
- Crie um processo com uma atividade.
- Crie um formulário de grade de dados (Variável /*G_DADOS*/) com as seguintes colunas:
- CHECK - Tipo "Verdadeiro/falso";
- NOME - Tipo "Texto";
- EMAIL - Tipo "Texto".
- Crie um formulário dissertativo "Convidados" (Variável /*EMAIL_CONVIDADOS*/).
- Crie um evento ao ENTRAR de "Estrutura de repetição - Carregar" para trazer o nome e e-mail dos funcionários.
- Atribuir o valor do conector para a variável /*G_DADOS*/.
- Nesse processo de exemplo apenas foi feito um SELECT na tabela do sistema CLIFOREMP.
SELECT FANTASIA AS NOME,
EMAIL
FROM CLIFOREMP
WHERE INATIVO = 'N'
- Crie um evento ao SAIR "Comunicação - Email" que envia o e-mail para os convidados informados no formulário.
- No campo "destino" do evento colocar a variável do formulário /*EMAIL_CONVIDADOS*/.
*** Neste exemplo não foi criado nenhum modelo de e-mail. Personalize como desejar.
- Crie um evento ao SAIR "Estrutura condicional - Inicio" que percorre a grade de dados dos funcionários.
- Origem "Conjunto de dados".
- Crie um evento ao SAIR "Estrutura de repetição - Retorna valor" que atribui o valor das colunas da grade para suas respectivas variáveis. Note que fizemos o mesmo procedimento com a coluna do CHECK.
- Crie um evento ao SAIR "Estrutura condicional - Inicio" que valida se a variável /*CHECK*/ está marcada.
Como a coluna da grade é verdadeiro/falso, sua validação boolean é S = marcado, e N = Não marcado.
- Crie um evento ao SAIR "Comunicação - E-mail" que vai enviar o e-mail para o funcionário da empresa que foi selecionado na grade.
- Crie um evento ao SAIR "Estrutura condicional - Fim" para fechar a validação se o check está marcado.
- Crie um evento ao SAIR "Estrutura condicional - Fim" para fechar a estrutura que percorre a grade.
** Não esquecer de verificar se os conectores de e-mail estão devidamente configurados para o envio.
Mostrando relatório na grade de dados
Aqui vamos demonstrar como trazer um relatório gerado para a grade de dados, de acordo com as informações da instância atual.
Para saber mais sobre relatório com informações de uma grade: clique aqui
Atividade 1
Primeiro crie um formulário do tipo grade de dados:
- Descrição: "Dados"
- Variável: /*G_DADOS*/" - tipo: “Grade de dados”
Na grade, crie as seguintes colunas:
- Descrição: “FANTASIA” - Tipo: “Texto”
- Descrição: “EMAIL” - Tipo: “Texto”
- Descrição: “DEPARTAMENTO” - Tipo: “Texto”
OBS: É nesta grade que será carregada as informações que irão constar no protocolo.
Eventos:
1 - Variáveis - Definir valor variável
- Definir o valor da variável /*IDPROCESSO*/, de acordo com a variável do sistema.
2 - Estrutura de repetição - Carregar
- Variável armazenar: ”/*G_DADOS*/”
- Definir o evento ao entrar com o seguinte SQL:
SELECT C.FANTASIA,
C.EMAIL,
D.DESCRICAO AS DEPARTAMENTO
FROM CLIFOREMP C
JOIN DEPARTAMENTOS D ON (C.IDDEPARTAMENTO = D.IDDEPARTAMENTO)
WHERE C.EMAIL <> '.'
AND C.INATIVO = 'N'
AND C.TIPOCLIFOREMP = 2
ORDER BY C.FANTASIA
3 - GED - Salvar protocolo
Definir ao sair, colocando o “Tipo de documento” e o “Protocolo” desejado.
Crie as seguintes variáveis:
- /*IDARQUIVO*/
- /*IDVERSAO*/
E vincule-as nos respectivos campos do evento. Com este evento, o sistema irá salvar o relatório na instância atual.
Atividade 2
Crie um formulário do tipo grade para armazenar/apresentar o protocolo
- Descrição: “Relatório”
- Variável: “/*G_RELATORIO*/” - Tipo: “Grade de dados”
Crie a coluna da grade:
- Descrição: “IDARQUIVO” - Tipo “Arquivo”
Informar o tipo de documento correspondente
Eventos:
1 - Estrutura de repetição - Carregar
- Evento ao sair com o seguinte SQL de consulta:
SELECT IDARQUIVO
FROM GED_ARQUIVO
WHERE IDORIGEM = 0/*IDPROCESSO*/
Variável armazenar: “/*G_RELATORIO*/”
Aqui ele vai pegar todos os arquivos (no caso, o relatório) que estão salvos na instância e mostrar na grade.
Inserindo dados na grade (varias linhas) e mostrando em outra atividade
Neste exemplo iremos utilizar os eventos do sistema para inserir várias linhas na grade de dados em uma atividade e na próxima atividade trazer em uma grade somente leitura com todos os dados que já foram inseridos.
Crie um processo com duas atividades:
- Inserir dados
- Mostrar dados
Atividade 1 - Inserir dados:
- Crie um formulário do tipo grade de dados, com uma variável /*DADOSGRADE*/ também do tipo grade de dados;
- Configure as colunas desse formulário com NOME e ENDERECO;
Configure ambos os campos com o tamanho e título que achar mais adequado
Agora, iremos para os eventos ao sair dessa atividade.
Para que possamos percorrer a grade de dados, por ser mais de uma linha que será inserida, vamos utilizar primeiro o evento de Estrutura Condicional - Início.
- Este evento tem que estar com o campo “Origem” como “Conjunto de dados”, dessa forma ele vai percorrer a grade inteira, linha por linha;
- Não esqueça também de colocar no campo “Variável Origem”, a variável da grade que criamos /*DADOSGRADE*/;
É extremamente importante que a variável colocada no evento, ali em "Variável origem" seja do tipo GRADE DE DADOS, caso contrário, apresentará erro no log do processo.
Próximo evento, Estrutura de repetição - Retorna valor.
Este evento é responsável por indicar para as colunas da grade suas respectivas variáveis. Ou seja, o que for escrito na coluna NOME da grade, vai ser setado na variável /*NOME*/.
- Colocar a “Variável Origem” com a variável que criamos mais cedo;
- Dar um TAB e utilizar o assistente para carregar os campos;
Próximo evento, Registro banco de dados - SQL - Executar
- Informar no “SQL de execução”, o conector com o SQL responsável por inserir os valores das variáveis da colunas na tabela do banco;
Marque o comando
E por fim, feche a estrutura com um evento de Estrutura condicional - Fim
Estrutura de eventos que criamos:
Atividade 2 - Mostrar dados
- Copie o formulário da grade da atividade 1 e deixe somente leitura.
Nos eventos:
- Estrutura de repetição - Carregar (AO ENTRAR), é com este evento que será carregado o valor do SQL para a grade.
- Em “SQL de consulta”, vincular o conector SQL que busca todos os dados da tabela que inserimos os valores da grade;
- Colocar a “Variável Origem” com a variável da grade /*DADOSGRADE*/;
Por fim, estrutura de repetição - Descarregar (AO SAIR).
Como sabemos, o COMMIT no banco de dados da grade funciona sempre ao clicar no botão “Salvar” ou em “Próximo”. Então, se carregarmos a grade de dados nessa atividade e clicarmos em “Próximo” ele vai inserir todos os valores da grade no banco novamente.
Então, em situações onde não queremos salvar novamente os dados carregados, como nesse caso que é apenas para o usuário visualizar o que já tem na tabela, temos que descarregar a grade de dados ao sair.
- No campo “Variável Origem” informe a variável da grade /*DADOSGRADE*/.
Estrutura de eventos que criamos:
Na primeira atividade inserimos várias linhas, e na segunda atividade ele mostra todos os dados que estão na tabela:
Grade com campo FK - Filtro com dados de outra coluna
Neste tópico veremos como criar uma grade de dados com dois campos FK's sendo que ao selecionar um dado da primeira FK, a segunda FK irá trazer os dados correspondentes à primeira escolha.
Para acessar o BPM deste exemplo clique aqui.
Criação do conector FK
Antes que criar o BPM, iremos começar com os conectores Fk's, em:
- Módulo de Processos.
- Conectores.
- Novo (F2).
- Tipo Foreign Key
Aqui iremos criar a primeira FK, onde o usuário irá selecionar o FORNECEDOR :
No campo "Filtros adicionais" pode estar sendo adicionado o seguinte comando, se necessário:
IDCLIFOREMP IN (SELECT IDCLIFOREMP FROM FORNECEDOR WHERE IDTIPOFORNECEDOR = 1)
Agora, vamos para a criação da segunda FK, onde será trazido as NFE's correspondentes ao do fornecedor selecionado na primeira FK.
No campo "Filtros adicionais" insira o ID que esteja usando porém na variável do filtro é obrigatório ser com o nome "GRADE". É um pré-fixo que deve ter, neste exemplo foi usado a seguinte forma : IDCLIFOREMP = 0/*GRADE[FORNECEDOR]*/.
GRADE que é o pré-fixo necessário para funcionar e entre [colchetes] você irá informa o titulo do campo da grade que terá o ID do fornecedor por exemplo.
Criação do BPM
- Crie um processo simples
- Uma atividade manual
- Crie um formulário de grade vinculado a uma variável (/*G_DADOS*/)
- Crie as colunas dessa grade de acordo com as configurações abaixo:
Coluna FORNECEDOR:
Neste campo terá o nome a qual vinculemos na FK de NFE, o campo NOME será informado lá na FK para trazer os dados da mesma linha selecionada.
Após inserir os dados e configurar os tamanhos, marque a campo "Origem de outra tabela" e selecione a FK de fornecedor conforme a imagem a baixo:
Coluna NFE:
Configure como o campo anterior os tamanhos e logo após isso marque a opção de "Origem de outra tabela" e selecione a FK de NFE que criamos mais cedo, contendo o filtro que colocamos: IDCLIFOREMP = 0/*GRADE[FORNECEDOR]*/
Após ter feito todas essas configurações é só liberar a versão e testar.
Simulação no portal:
Versão homologada: 17.1.0.605
Utilizando bloco de correspondência
Para enviar uma lista dinâmica (basicamente uma tabela/grade de dados) por e-mail, é necessário utilizar o bloco de correspondência vinculado ao modelo de correspondência, que por sua vez estará vinculado ao processo.
Neste exemplo, criamos um processo simples com uma atividade que, quando o usuário confirmar e clicar em "próximo", as informações da grade preenchidas serão enviadas para o e-mail configurado.
No processo BPM:
No e-mail:
Criação do processo
Crie os requisitos informados abaixo:
- 1 Atividade;
- 1 Formulário de grade de dados, com colunas:
- Nome (Texto)
- Sobrenome (Texto)
- Idade (Inteiro)
- 1 Evento de "Definir valor variável" ao entrar na atividade;
- 1 Evento de "Comunicação - E-mail"
Ao sair da atividade. Este evento vai enviar as informações do processo para o e-mail configurado no campo "Destino".
Conforme imagem acima, é necessário vincular um modelo de e-mail no evento para que as informações sejam mostrados no e-mail de forma personalizada.
Criação do modelo / bloco de correspondência
Acesse:
- Módulo processo
- Blocos de correspondência
- Novo [F2]
Crie e vincule no campo "conector" um SQL que busca as informações da grade do processo. Não esqueça de utilizar a PKG de seu banco (neste exemplo é postgreSQL).
SELECT PKG_EMA.RETORNA_COLUNA_GRADE_TEXTO(X.IDPROCESSO, X.IDATIVIDADE, X.IDFORMULARIO, 2, X.IDVALOR) AS NOME,
PKG_EMA.RETORNA_COLUNA_GRADE_TEXTO(X.IDPROCESSO, X.IDATIVIDADE, X.IDFORMULARIO, 2, X.IDVALOR) AS SOBRENOME,
PKG_EMA.RETORNA_COLUNA_GRADE_INT (X.IDPROCESSO, X.IDATIVIDADE, X.IDFORMULARIO, 3, X.IDVALOR) AS IDADE
FROM CRM_PROCESSO_GRADE_VALOR X
WHERE IDPROCESSO = 0/*IDPROCESSO*/
AND IDATIVIDADE = 02/*IDATIVIDADE*/
AND IDFORMULARIO = 01/*IDFORMULARIO*/
AND IDREPETICAO = (SELECT MAX(IDREPETICAO)
FROM CRM_PROCESSO_GRADE_VALOR
WHERE IDPROCESSO = X.IDPROCESSO
AND IDATIVIDADE = X.IDATIVIDADE)
AND IDGRADE = 1
ORDER BY IDVALOR
Depois de concluído a criação, é necessário acessar o MODELO de correspondência para vincular ao nosso bloco recém-criado.
Acesse:
- Módulo processo
- Modelos de correspondência
- Novo [F2]
Na aba "Construtor", busque o IDPROCESSO de forma que o modelo consiga puxar as informações. O '/*IDPROCESSO*/' com aspas é quando esta variável é do tipo TEXTO. Caso seja inteiro, é apenas necessário incluir um zero na frente sem aspas.
SELECT '/*IDPROCESSO*/' AS IDPROCESSO
FROM VERSAODB
Na aba "Corpo" é onde pode-se criar o modelo personalizado. Referencie o bloco que criamos, e faça sua personalização da forma como desejar.
Lentidão do sistema - Alguns passos para ajudar na análise
Já houveram atendimentos feito pelo nosso suporte onde foi relatado lentidão na hora de consular alguma informação ou quando algum processo está sendo executado. Em casos assim, temos algumas dicas sobre analisar e perguntas que podem te ajudar para entender o problema.
Ao colaborar com os processos, ele demora a executar?
É sempre bom conferir se o processo não tem algum SQL pesado ou sessão travada no banco. Pode acontecer de o banco demorar a executar e consequentemente o sistema ficar lento. Nisso, deve-se consultar esses SQL's e arrumá-los/personalizá-los de acordo.
- Conteúdo sobre sessões ativas no banco PostgreSQL: Clique aqui (Na coluna "query" dessa consulta, é possível ver o comando SQL.)
- Conteúdo sobre os SQL's que mais consomem o banco de dados no banco Oracle: Clique aqui
Verificar se os micro serviços da ema estão ativos, assim como bancos de terceiro, conexões de ambientes externos, etc...
- Conteúdo sobre os micro serviços: Clique aqui
Verificar os logs dos serviços (principalmente Ema_BPM), pois é possível ver se ocorreu algum erro durante a execução dos processos.
- Conteúdo sobre os Log's dos serviços: Clique aqui
Verificar como está o consumo de memória e processamento do servidor.
Em alguns casos, o servidor não foi operado para processar o sistema da ema e banco de dados de forma correta, o que pode gerar problemas de performance.
- Mais informações sobre performance: Clique aqui
Verificar a atividade do Firewall e Antivírus.
Pode ocorrer de algum desses programas derrubarem os micro serviços da ema, o que causaria a lentidão e outros problemas.
- Mais informações sobre performance: Clique aqui
Na ema, não temos suporte de infraestrutura ou banco de dados, por isso verifique esses pontos abaixo e solicite assistência ao T.I. da sua empresa.
- A lentidão acontece para todos os usuários ou em uma operação específica?
- Existe um período do dia que o sistema está melhor ou pior?
- A quanto tempo o incidente está acontecendo?
- Avalie a possibilidade de reiniciar o servidor.
Imagem no formulário FK (Foreign key)
** O recurso explicado abaixo foi disponibilizado na versão 17.6.0.611 do DOX Estúdio/Portal, certifique-se de ter a versão devidamente instalada e configurada em seu ambiente.
A lógica da FK para mostrar as imagens é semelhante ao da grade de dados, porém com algumas configurações diferentes. Abaixo, iremos mostrar um exemplo prático do funcionamento.
**Atenção: Deve-se ter cuidado para não colocar imagens que excedem o limite do dispositivo.
Como configurar imagem de uma pasta local do computador?
Antes de configurar o procedimento e as atividades, crie a seguinte tabela abaixo:
CREATE TABLE IMAGENS_PNG (
ID INTEGER,
DESCRICAO VARCHAR (150));
Repare que, no campo "descricao" foi inserido o nome do arquivo juntamente com a extensão.
Com o mesmo script acima, crie outras tabelas para outros tipos de extensões (se preferir):
- IMAGENS_GIF
- IMAGENS_JPG
- IMAGENS_WEBP
- IMAGENS_SVG
Feito isso, vamos agora criar uma PASTA no computador local (servidor), onde as imagens que queremos colocar na FK estarão armazenadas. Aqui é importante frisarmos que, o nome do arquivo é essencial para que o recurso funcione, pois o sistema irá puxar sempre a DESCRIÇÃO/NOME do arquivo, sem exceções.
- Criamos a pasta "fk_imagem".
Agora, acesse o DOX Estúdio e crie um conector do tipo "FK" (Foreign Key), para buscar o valores das tabelas que criamos mais cedo. Se outras tabelas foram criadas, não esqueça de cadastrar um conector correspondente.
Feito isso, crie o procedimento e o formulário de FK:
- Tipo "Dissertativa".
- Variável do tipo "Consulta - FK", trazendo o conector que criamos acima.
Ou se preferir deixar a variável do tipo "Texto", acessar a segunda aba "Propriedades" e vincular o conector por lá.
Na aba "Propriedades", foi criado o parâmetro "Exibir imagem em cada item", que permite criar a pequena miniatura da imagem ao lado de cada descrição da consulta FK.
- Origem: Utilizado "Caminho" ou "GED" como a origem das imagens que serão apresentadas. Neste exemplo, iremos buscar as imagens do computador local, então pode ser usado o "Caminho".
- Diretório: Pasta/Local onde estão armazenadas as imagens.
- Campo nome arquivo: É o campo referenciado na FK onde o sistema deve buscar a descrição da imagem.
- Extensão padrão: Caso a descrição da imagem não possua uma extensão especifica, o sistema irá atribuir a extensão padrão como sendo a extensão de todas as imagens.
Utilizando a opção de origem "GED", basta informar a pasta, mantendo a configuração da FK. Lembrando que o arquivo tem que existir no GED com a mesma descrição na tabela.
Gerar pedidos importados - PEX
O objetivo aqui demonstrar como colocar executar um agendamento que gera os pedidos importados (PALMTOP_PEDIDO) em pedidos (PEDIDO) do ERP.
1 - Criar uma função PEX com o código fonte abaixo:
procedure GerarPedidosPalmTop;
var
loCDS: TlibCDS;
loGeraPalmTopPedido: TGeraPalmTopPedido;
begin
loCDS := nil;
loGeraPalmTopPedido := nil;
try
loCDS := of_CriaCDSporSQL('SELECT IDIMPORTACAO FROM PALMTOP_PEDIDO WHERE STATUS = 1 AND IMPORTADO = ''N''');
if loCDS.of_TemDados then
begin
loGeraPalmTopPedido := TGeraPalmTopPedido.Create;
while not loCDS.of_FimDS do
begin
loGeraPalmTopPedido.Adiciona(loCDS.GetInt(['IDIMPORTACAO']));
loCDS.of_ProxReg;
end;
loGeraPalmTopPedido.Gerar;
end;
finally
loCDS.Free;
loGeraPalmTopPedido.Free;
end;
end;
2 - No Ema Configurador, marcar o serviço Ema Motor ERP
3 - Reiniciar os serviços
4 - No Ema ERP, criar um agendamento do processo "Execução de função PEX". Na aba "Periodicidade", configurar quando deseja que seja a geração automática e na aba "Configurações", informar o código da função PEX criada e a chamada da função "GerarPedidosPalmTop".
Realizado os procedimentos descritos acima, o software já irá começar a executar os agendamentos conforme configuração.