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

** 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. 

image-1640177776219.png

image-1640177863854.png

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: 

image-1640177960150.png

Quando a tela do grupo Financeiro aparecer, procure pela lista, ou digite nos campos Acesso e Ação o texto "colaborador" conforme abaixo:

image-1640178077786.png

Marque no checkbox as operações de IncluirAlterar 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.

image-1647024965153.png

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.

image-1647025015538.png

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. 

image-1647025147621.png

Na segunda aba "Filiais" é onde se coloca as filiais que aquele grupo tem permissão: 

image-1647025255879.png

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)

image-1648474648038.png

Listar todos os cadastrados e clicar com o botão direito sobre o procedimento especifico, clicando em "Anexos".

image-1648474694780.png

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. 

image-1648475119046.png

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. 

image-1648475169950.png

Assim sempre que uma instancia for iniciada, os anexos serão levados.

image-1648475587849.jpg

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:

image-1648475656278.jpg

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: 

image-1638457721188.png

Caso não esteja com o tipo ambiente: Homologação, altere e salve, logo após reinicie o serviço Ema_Start.

Somente usuários com o grupo de Administrador pode atribuir a permissão para outros grupos. (Usuário Gerente)

image-1638457762961.png

image-1638457823013.png

Clicando em "Ok" no canto inferior direito, vá no modulo de processos e selecione em Operações  o assistente de publicação,

image-1638457855104.png

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:

Dentre outras opções de filtros.

image-1638457897284.png

image-1638457950180.png

image-1638458004230.png

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.

image-1638458041211.png

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. 

image-1638458202588.png

Em seguida mostrará uma mensagem de confirmação da publicação.

image-1638458332747.png

Observações:

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!

image-1638452026979.png

E no módulo Técnicos, você pode fazer um tratamento quanto à sensibilidade de caracteres em pesquisas como "Consulta rápida", conforme o print:

image-1638452064565.png

Atalhos

 

 

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: 

image-1638452317174.png

Na aba Campos x dados, você pode conferir todos os dados retornados da linha selecionada:

image-1638452363129.png

Na aba SQL, você pode visualizar o SQL de consulta dos dados atuais trazidos na tela de consulta.

image-1638452398887.png

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:

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. 

image-1670504200219.gif

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: 

image-1670529127633.png

2 - PRODUTOS_EMA

CREATE TABLE PRODUTOS_EMA (
IDPRODUTO INTEGER NOT NULL PRIMARY KEY,
DESCRICAO VARCHAR (100));

Insira alguns dados manualmente, conforme: 

image-1670529153538.png

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. 

image-1682361724982.png

Criado as tabelas e pastas locais, vamos iniciar o procedimento. Na primeira atividade, crie duas grades de dados: 

Na primeira grade MODULOS, crie as colunas de acordo com os campos da tabela modulos_erp:

image-1670506849809.png

Na subdivisão "Origem"

image-1682358841588.png

* 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: 

image-1670507439504.png

image-1682358781746.png

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.

image-1670508457102.png

Crie um conector para puxar os produto da tabela produtos_ema, com o seguinte SQL:

SELECT IDPRODUTO,
       DESCRICAO
  FROM PRODUTOS_EMA

image-1670508629829.png

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: 

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:

image-1647027126382.gif

Criando as Fk's:

No modulo de Processos >  Conectores > Novo(F2)

image-1647027212785.png

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:

image-1647027319311.png

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.

image-1647027407244.png

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:

image-1647027570456.png

Coloque as permissões como achar melhor, e crie uma atividade com dois campos de filtro. 

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:

image-1647027790453.png

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.

image-1647027897268.png

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:

image-1647027940669.png

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".

image-1645193447325.png

Para a criação/Edição/Inativação: 

image-1645193573190.png

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.

image-1645193507329.png

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:

image-1645193724055.png

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:

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:

image-1645194636231.png

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. 

image-1638550289878.png

Siga os passos abaixo:

image-1638551073713.png

image-1638551103719.png

É 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:

image-1638551186954.png

Exemplo no portal:

image-1638551219977.gif

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:

image-1638551311156.png

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:

image-1638551378814.png

Em seguida ele abrirá uma tela para colocar as informações de link.

OBS: Para ver a URL completa no e-mail, basta clicar no campo no canto direito da tela e coloca no texto.

image-1638551441827.png

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:

image-1638551476010.png

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: 

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:

image-1640183514992.png

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.

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:

image-1640183660737.png

É 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:

image-1640183758038.png

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.

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:

image-1640183890182.png

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:

image-1640183950196.png

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.

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:

image-1640184148972.png

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:

image-1640184193838.png

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: 

  1. 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.
  2. 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:

image-1640184590325.png

É 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:

image-1640172928968.png

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: 

image-1640173178617.png

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". 

Preencher os outros campos obrigatórios e finalizar o cadastro. 

image-1640176283823.png

image-1640176530996.png

Configuração nos parâmetros:

Para configurar a filial e usuário público, no Dox Estúdio:

image-1640176726290.png

image-1640176796093.png

Caso de uso: 

Atualmente é possível configurar a permissão Quem pode iniciar instâncias deste processo para Acesso público em processo BPM. 

image-1640172903688.png

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.

image-1638562381206.png

As informações contidas ali são:

image-1638562424743.png

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.

image-1638562578387.png

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".

image-1638562640463.png

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:

image-1638562699024.png

image-1638562731755.png

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:

image-1638562765676.png

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:

image-1638562935219.png

Fluxograma:

image-1638562983142.png

E liberamos a versão 1:

image-1638563010966.png

Depois de liberada, vamos colaborar com ela no portal:

image-1638563241686.png

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"

image-1638563352562.png

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á:

image-1638563974838.png

Copie os formulários da atividade 1(Informe os dados). para a atividade 2 (Mostrar dados).

image-1638564017855.png

Fluxograma:

image-1638564084647.png

E liberamos a versão 2. Depois de liberada, vamos colaborar com ela e verificar a instância no estúdio:

image-1638564159724.png

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. 

image-1638564194695.png

 

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.

image-1638552906172.png

Aba servidor

image-1638553443104.png

image-1638553637492.png

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:

image-1638553817549.png

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:

image-1638553992267.png

Firebird

Para conexão Firebird é necessário que seja informado as seguintes informações:

image-1638554109813.png

image-1638554180770.png

Micro serviços

Na aba Serviços, normalmente marca-se as opções:

Somente marcar outras opções se for confirmado que o serviço será usado. Caso contrário, estará consumindo memória desnecessariamente.

image-1638555963339.png

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.

image-1638556057325.png

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: 

image-1638556141155.png

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.

image-1638556199258.png

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).

image-1638556268117.png

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.

image-1638556366315.png

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'.

image-1638552149097.png

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.

image-1638552202335.png

Assim que nós o testamos, o e-mail veio imediato:

image-1638552310186.png

Como ativar?

Para ativar a função, basta seguir o caminho:

image-1638552373874.png

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.

image-1638552484168.png

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: 

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.

image-1648488566679.png

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. 

image-1648488927454.png

Assim que configurado o evento de condicional crie o evento de Estrutura de repetição - Retorna valor

image-1648489147595.png

Assim que realizado todo o procedimento neste evento crie o evento de Comunicação -  E-mail.

image-1648489308042.png

Por fim feche a estrutura condicional usando o evento Fim.

image-1648489994722.png

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. 

image-1648490805920.png

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:

image-1640180456670.png

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.

image-1640180701474.png

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: 

 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. 

image-1640181696498.png

** 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.

CRM_PROCESSO_ATIVIDADE

Grava informações relacionadas às atividades executadas pelas instâncias de processo.

CRM_PROCESSO_VARIAVEL

Grava informações relacionadas aos valores armazenados nas variáveis das instâncias executadas dos processos.

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.

CRM_PROCESSO_ATIV_FUNCAO

Grava informações relacionadas aos papéis função vinculados às atividades dos processo.

CRM_PROCESSO_FORMULARIO

Grava informações relacionadas aos formulários existentes nas atividades dos processos executados.

CRM_PROCESSO_GRADE_VALOR

Grava informações relacionadas aos campos do tipo Grade de Dados presentes nos processo BPM.

É 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.

USUARIO_PAPELFUNCAO
BPM_FUNCAO

Tabela dos papeis funções cadastrados no sistema.

DEPARTAMENTOS

Tabela dos departamentos cadastrados no sistema. 

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:

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:

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:

GED_PASTA

Tabela do sistema que armazena as informações das pastas cadastradas no GED.

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.

image-1638560633175.png

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.

image-1638560673564.png

Quando marcado, irão ficar visíveis dois campos obrigatórios:

image-1638560705678.png

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.

image-1638560738267.gif

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:

image-1638560780874.png

image-1638560819408.png

No formato mobile: 

image-1638560846345.gif

Para verificar onde se armazena o aceite, basta apertar F12 e seguir o caminho:

image-1638560984339.png

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".

image-1647008731783.png

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.

image-1647008832649.png

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. 

image-1647008980467.png

image-1647009008050.png

Clicando em próximo, o sistema abrirá uma tela onde serão dadas informações iniciais do processo que está sendo importado.

image-1647009126127.png

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:

image-1647009263535.png

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.

Os atalhos: 

image-1647009635665.png

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:

image-1638565671888.png

image-1638565736163.png

image-1638565778343.png

Observações:

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.

image-1638388871229.png

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

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.

image-1638388961926.png

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.

image-1638389113670.png

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…

image-1638392464552.png

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).

image-1638392776805.png

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.

image-1638392826876.png

Como exemplo, na imagem foram concedidas apenas as permissões de:

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.

image-1638392920043.png

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".

image-1638393110946.png

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).

image-1638393180625.png

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çamentoPedido 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.

image-1638393258448.png

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.

image-1638393299040.png

Í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: 

image-1647010146960.png

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: 

image-1647010320301.png

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":

image-1647010545545.png

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.

image-1647010599238.png

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.

image-1647010730350.png

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.

image-1647007189509.png

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.

image-1647007302941.png

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:

Iniciar uma instância pública, sem necessidade de ter usuário logado:

http://portal.ema.net.br/publico#/processos/iniciar/8

Onde:

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 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:

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.

image-1638530573566.png

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"
  }
]

image-1638530626994.png

Onde:

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".

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:

** 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.

image-1645205147620.jpg

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]:

image-1645214563396.png

Na primeira aba, "Geral"

Na tela de criação do Kanban é necessário incluir algumas informações, como 

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.

Faça como na imagem abaixo: 

image-1645214719593.png

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.

image-1645215337099.png

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: 

image-1645215613943.png

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". 

image-1645215733681.png

Nesta primeira atividade lançamento o sistema por padrão cria 3 formulários assim como suas variáveis: 

Assim como os eventos: 

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.

image-1645216838329.png

image-1645216850852.png

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: 

image-1645217310810.png

image-1645217409672.png

* Importante frisar que nesse campo podem ser definidas cores em código hexadecimal ou as utilizadas por padrão no Delphi.

image-1645217449472.png

De acordo com o exemplo acima, crie outras estruturas semelhantes (só mudando a cor definida) para as outras prioridades de forma que fique assim: 

image-1645217726006.png

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. 

image-1645217912367.png

* 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

image-1646934681468.png

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".

image-1646934892197.png

Feito isso, acesse a atividade "Fazendo" e crie mais dois formulários obrigatórios: 

image-1646935175880.png

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. 

image-1646936052303.png

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: 

Desvios

Por fim, depois de realizar tudo isso, acesse cada atividade e crie o desvio correto para cada uma: 

image-1646936247474.png

image-1646936400269.png

Salve tudo, e libere a versão do Kanban. 

image-1646936416410.png

Lembrando que, este é um exemplo bem simples da utilização do Kanban, para regras mais elaboradas é necessário a personalização. 

image-1649158224373.gif

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.

image-1646997056248.png

Elas são: 

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.

image-1646941341874.png

image-1646942823491.png

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)

image-1646943071038.png

No portal:

image-1646943301670.png

** 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: 

image-1676653758710.png

Filtro FILHO

- No filtro Usuário, serão exibidos todos os colaboradores, clientes ou fornecedores vinculados na filial escolhida do filtro FILIAL (Filtro PAI). 

image-1676654059287.png

 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: 

image-1676654700593.png

O campo "Usuário" mudará de acordo com a escolha do campo "Filial":

image-1676655014106.png

image-1676655090476.png

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:

image-1638549300832.png

image-1638549410858.png

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.

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".

image-1638549522625.png

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.

image-1638453345567.png

Clicando no .txt irá abrir o log completo e você poderá visualizar o erro se caso existir: 

image-1638453423958.png

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.

image-1638453882961.png

image-1638453946186.png

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

image-1638454473114.png

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).
Uma vez habilitado, esse serviço responderá a todos os eventos de impressão de protocolo e DANFE gerados por processos.


Obs: Caso o novo "Ema Relatórios BPM" não seja habilitado no Ema Configurador, os protocolos de processos e DANFEs continuarão sendo gerados pelo Ema Servidor.

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 

image-1661777760642.png

Em seguida procure a coluna "Linha de comando" e marque, clicando em "Ok"

image-1661777825155.png

Agora, no final de cada linha estará o endereço do micro serviço (no windows) + a porta utilizada

image-1661777998787.png

Outra forma de verificar a porta de cada micro serviço utilizada é pelo http://localhost:8500/.

image-1661778117541.png

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 image-1718111333499.png+ R e digitando o comando cmd para abrir a tela do terminal de consulta.

image-1718111382888.png

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:

Abrir o menu iniciar -> pesquisar por PowerShell e executar o programa:

image-1738083867237.png

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:

image-1738084020594.png

 

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

image-1646945501286.png

image-1646946249712.png

Para alterar os campos de visualização na tela do Motor BPMS, basta clicar no menu assistente e selecionar a opção "Personalizar". 

image-1647000576298.png

Desse modo, eles serão adicionados na coluna à direita, que é onde ficam todos os campos exibidos na tela de consulta.

image-1647000680157.png

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: 

image-1647001055536.png

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"

image-1647005346941.png

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.

image-1647005793990.png

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.

image-1647006187612.png

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:

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:

Vamos considerar agora que o Rafael acabou mudando de empresa.

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]

image-1647024515100.png

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. 

image-1647024623716.png

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:

image-1638447023005.png

Para utilizar os recursos do GED em nossa plataforma, é necessário que sejam configurados alguns parâmetros. Dentre eles, os principais são: 

Dessa maneira o armazenamento de anexos de processos e qualquer tipo de arquivo serão armazenados dentro da estrutura do GED.

Permissão: 

image-1638446968070.png

image-1638447263887.png

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.

image-1638444041635.png

Na aba Geral

Essa aba contém algumas configurações que vão impactar no uso dos recursos do Dox Portal.

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.

image-1638444239698.png

Veja a URL no portal:

image-1638444860893.png

Página inicial por tipo de pessoa: 

image-1638445002173.png

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. 

image-1659101568810.png

** 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.

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.

image-1638457341435.png

Neste tópico será apenas para apresentar a tela de configurações. 

Aba Geral

image-1638457377151.png

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:

image-1640178703128.png

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. 

image-1640178809283.png

image-1640178877760.png

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. 

image-1640178991693.png

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. 

image-1640179342305.png

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: 

image-1640179450640.png

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.

image-1640179590068.png

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.

image-1640179649079.png

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)

image-1647019418562.png

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.

image-1647020120486.png

Encontrando a instância, clicamos com o botão direito acima dela, e acessamos a opção "Propriedades".

image-1647019691021.png

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.

image-1647019894869.png

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.

image-1647019937717.png

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. 

image-1647020678314.png

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":

image-1647352317268.png

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

image-1647366645932.png

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? 

image-1640004406978.png

image-1640004429686.png

Qual a quantidade de usuários conectados?

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.

image-1640004478282.png

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
  • Referência 1: "Quantidade de licenças por aplicativo excedida"
Esta mensagem diz respeito o limite de licenças de seu software específico, onde é tratado seu licenciamento na modalidade: por Software.
  • Referência 2: "Quantidade de licenças excedida"
Esta mensagem diz respeito o limite total de licenças de seus softwares, onde é tratado seu licenciamento na modalidade: Geral.
  • Referência 3: "Verificamos que o número de usuários cadastrados em seu sistema é maior que o número de licenças nominais contratadas! Em caso de dúvidas entre em contato com o administrador do sistema."
Esta mensagem diz respeito o limite total de licenças de seus softwares, onde é tratado seu licenciamento na modalidade: Nominal.
Meu sistema está com registro de software com restrições
  • Referência: "A licença de uso do software está parcialmente expirada, A licença de uso do software está expirada."
Esta mensagem diz respeito a alguma restrição em nosso sistema, entre em contato com nosso departamento comercial através de nosso telefone 48-3461-2900 em horário comercial.
Registro não encontrado
  • Referência 1: "Servidor de registro não encontrado".
  1. Seu micro serviço de registro local em seu servidor não está funcionando
  2. Monitore seus serviços
  3. Feche o registro e abra novamente
  4. Solicite atendimento em nosso portal
  • Referência 2: "Não foi possível obter os dados de registro do software"
  1. Seu micro serviço de registro local em seu servidor não está conseguindo conectar na internet
  2. Verifique a porta utilizada
  3. Verifique seu antivírus/Firewall
  4. Verifique sua internet ou se é possível acessar o portal 
  •  Referência 3: "Registro não localizado (CHAVE INFORMADA)"
  1. A chave informada não é valida ou faz parte de um contrato inativo
  2. Solicite atendimento em nosso portal
  • Referência 4: "Licença de uso do aplicativo não encontrada"
  1. O software que você está tentando acessar não possui permissão em seu contrato
  2. Entre em contato com nosso departamento de CS através de nosso telefone 48-3461-2900 em horário comercial
  •  Referência 5: "Registro não foi carregado"
  1. O Ema Registro já abriu, mas ainda não carregou os dados do registro.
  2. Aguarda uns segundos e tenta novamente.
  3. Você pode ter um bloqueio na porta configurada
  4. Avalie se o micro serviço Ema_Registro (ERP, DOX) na pasta log da instalação do sistema
Incompatibilidade no número do documento. 
  • Referência 1: "Foi encontrada uma incompatibilidade no número do documento utilizado para o registro do software".
  1. Sua chave de registro possui incompatibilidades.
  2. Seus dados de cadastro em nosso sistema podem estar incompletos.
  3. Entre em contato com nosso departamento de CS através de nosso telefone 48-3461-2900 em horário comercial.

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:

*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:

Banco de dados compatível: 

Banco de dados PostgreSQL

Não deverá conter: 

Aplicativos de terceiros, como:

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

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

image-1638448324571.png

Assistente de publicação: 

Módulo de processos > Assistente de publicação.

image-1638448958471.png

image-1638448986027.png

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.

Ex:

image-1638449310660.png

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).

image-1638449734065.png

Considerações: 

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:

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:


5. Testar a inicialização do sistema com SSL

Caso os microserviços do sistema não iniciem, execute o seguinte teste manual:

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

❓ 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.

image-1742932114974.png

⚠️ Atenção: Problemas com certificados podem impedir a inicialização do sistema

image-1720472651195.png

✅ 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:

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:

image-1638542379892.png

 

🔄 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.

image.png

🌐 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údioUtilitários e clicar em Validar estrutura banco de dados.

image-1638450736224.png

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.  

image-1638451618549.png

image-1638451694092.png

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).

image-1647025536735.png

Após isso, o sistema iniciará a validação, procurando por eventos, campos, variáveis que contenham algum problema.

image-1647025600018.png

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: 

image-1647025785748.png

*** 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. 

image-1640179899493.png

Acessando o cadastro, na aba NF-e, irá aparecer o campo para preenchimento do número de série, caso:

Então, no campo Nº de série do certificado, basta clicar no botão assistente e selecionar o certificado instalado no servidor.

image-1640180038431.png

*** É 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:

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. 

image-1648756147424.png

O que você vai precisar 
Quantidade Descrição
1 Conector do tipo "Web Services (Rest)"
1

Processo com: 

  • 1 Atividade manual
  • 1 Evento BPM 
1 - Conector
Crie o conector de "Web Services (Rest)" apontando para o seu servidor DOX:

Caso o Dox esteja usando uma porta diferente de 80 ou 443, coloque a portal após o seu IP.

image-1648755824499.png

2 - Aba "processos"
Crie um processo com 1 com as configurações a seguir:

image-1648756020503.png

3 - Aba "Permissões"

image-1648756039263.png

4 - Aba "Atividade"

image-1648756119152.png

5 - Formulários

Edite a atividade "Informar MD5 e Código da Atividade":

image-1648756629816.png

Mantenha a aba "Atribuição", mantenha como está.

Na aba "Formulário", crie 2 formulários:

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:

Aqui usamos as variáveis criadas para os formulários, verifique se os nomes delas estão iguais as que você criou.

Na aba "Requisição" adicione uma única linha:

Usamos a tag Bearer antes da /*HASHSESSAO*/ para autenticar na API do Dox, esse configuração é essencial para o funcionamento do evento.

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.

image-1648756933509.png

 

Na aba "Resposta"

image-1661189561903.png

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.

image-1648757907241.png

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.

image-1648757979550.png

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

image-1648758259472.png

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:

image-1648818847007.png

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.

image-1648818937899.png

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 é: 

image-1648819300033.png

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.

image-1649681385374.png


Neste procedimento há duas atividades:

image-1649688270698.png

Na primeira atividade há três formulários: 

image-1649681748954.png

Na segunda atividade, há um formulário do tipo "Seleção de anexos" vinculado à uma variável do tipo Texto.

image-1649681891839.png

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.

image-1649682035936.png

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.

image-1650660733937.png

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.

image-1650660899481.png

No corpo do E-mail recebido: 

image-1650893727597.png

 

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: 

image-1650896632526.png

Depois disso, será recebido no e-mail o link deste processo para que o responsável acesse e aprove a reunião cadastrada. 

image-1650897149515.png

Vamos a criação do processo! 

image-1650897468959.png

image-1650897574986.png

Caso não saiba como criar um modelo, clique aqui para dar uma olhada em relação a este recurso. 

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"

image-1650898118684.png

<P><A href="/*NOMECAMPO='LINK'*/">Clique aqui</A> para colaborar com o processo.</P>

image-1650898027220.png

image-1650918654623.png

Agora, vamos a criação da segunda atividade, "Aprovar reunião"! 

image-1650919019418.png

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: 

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: 

image-1650919692207.png

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:

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).

image-1650920697591.png

image-1650920849941.png

SELECT FANTASIA AS NOME,
       EMAIL
  FROM CLIFOREMP 
 WHERE INATIVO = 'N'

image-1650921071903.png

*** Neste exemplo não foi criado nenhum modelo de e-mail. Personalize como desejar.

image-1650921138233.png

image-1650921228126.png

Como a coluna da grade é verdadeiro/falso, sua validação boolean é S = marcado, e N = Não marcado.

image-1650921295480.png

image-1650921345566.png

image-1650921385139.png

** 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:

image-1651599046924.png

Na grade, crie as seguintes colunas:

image-1651599103618.png

OBS: É nesta grade que será carregada as informações que irão constar no protocolo.

Eventos:

1 -  Variáveis - Definir valor variável

image-1651599348728.png

2 -  Estrutura de repetição - Carregar

image-1651599380062.png

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:

E vincule-as nos respectivos campos do evento. Com este evento, o sistema irá salvar o relatório na instância atual.

image-1651600417613.png

Atividade 2

Crie um formulário do tipo grade para armazenar/apresentar o protocolo

image-1651600663996.png

Crie a coluna da grade:

Informar o tipo de documento correspondente

image-1651600756468.png

Eventos:

1 - Estrutura de repetição - Carregar

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.

image-1651600793476.png

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:

Atividade 1 - Inserir dados:

image-1652121299316.png

Configure ambos os campos com o tamanho e título que achar mais adequado

image-1652121320919.png

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.

É 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.

image-1652121384478.png

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*/.

image-1652121425822.png

Próximo evento, Registro banco de dados - SQL - Executar

image-1652121476996.png

Marque o comando

E por fim, feche a estrutura com um evento de Estrutura condicional - Fim

image-1652121504777.png

Estrutura de eventos que criamos:

image-1652121524711.png

Atividade 2 - Mostrar dados

Nos eventos:

image-1652121595342.png

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.

image-1652121690502.png

Estrutura de eventos que criamos:

image-1652121713438.png

Na primeira atividade inserimos várias linhas, e na segunda atividade ele mostra todos os dados que estão na tabela:

image-1652121777557.gif

 

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: 

Aqui iremos criar a primeira FK, onde o usuário irá selecionar o FORNECEDOR :

image-1652187617146.png

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.

image-1652187892308.png

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

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:

image-1652188421828.png

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]*/

image-1652188545986.png

Após ter feito todas essas configurações é só liberar a versão e testar.

Simulação no portal: 

image-1652188645396.gif

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:

image-1656708712627.png

No e-mail:

image-1656708935555.png

Criação do processo 

Crie os requisitos informados abaixo:

image-1656709890692.png

image-1656710004328.png

Ao sair da atividade. Este evento vai enviar as informações do processo para o e-mail configurado no campo "Destino".

image-1656710053627.png

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:

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). 

image-1656936756895.png

image-1656936708346.png

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:

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. 

image-1656937540252.png

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.

Verificar se os micro serviços da ema estão ativos, assim como bancos de terceiro, conexões de ambientes externos, etc...

Verificar os logs dos serviços (principalmente Ema_BPM), pois é possível ver se ocorreu algum erro durante a execução dos processos.

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.

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.

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.

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. 

image-1671123929758.gif

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. 

image-1671544539610.png

Com o mesmo script acima, crie outras tabelas para outros tipos de extensões (se preferir):

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.

image-1671544195888.png

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. 

image-1671136110688.png

Feito isso, crie o procedimento e o formulário de FK: 

image-1671544852898.png

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. 

image-1671554160404.png

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. 

image-1671558945488.png

 

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

Captura de tela 2024-03-07 152634.png

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".

Captura de tela 2024-03-07 153019.png

 

Realizado os procedimentos descritos acima, o software já irá começar a executar os agendamentos conforme configuração.