# Estrutura de tabelas Abaixo, estarão as principais tabelas e campos em nosso banco de dados. Essas tabelas são imprescindíveis para consulta de informações dos processos. ##### **CRM\_PROCEDIMENTO\_EVENTO** Tabela responsável por gravar todas as informações dos eventos de sistema presentes na criação do procedimento. Coluna TIPO:
​​1= Comunicação - Mensagem 14= Variáveis - Definir valor variável 15= Comunicação - SMS 16= Variáveis - Pegar valor de conector 17= Sincronização - Importar dados de um banco para outro 18= Registro banco dados - SQL - Executar 19= NF-e - Consultar nota fiscal eletrônica 2= Comunicação - E-mail 20= Registro banco dados - SQL - Selecionar 21= Variáveis - Operações matemáticas 22= PEX - Executar função 23= Variáveis - Manipulação de texto 24= Arquivos - Manipular arquivos 25= NF-e - Baixar XML NF-e do e-mail 27= Comunicação - E-mail limpar pasta 28= NF-e - Validar arquivo XML NF-e 29= NF-e - Importar arquivo XML NF-e 30= Agendamento/Temporizador - Criar agendamento 31= Agendamento/Temporizador - Remover agendamento 32= Agendamento/Temporizador - Temporizador de espera 34= Exceção - Gera exceção 35= Exceção - Trata exceção 36= Processo - Iniciar novo processo 37= Processo - Finalizar processo atual 38= Processo - Cancelar processo atual 39= NF-e - Manifestação 40= NF-e - Consultar notas destinadas 41= NF-e - Baixar XML NF-e do SEFAZ 42= Estrutura condicional - Início 43= Estrutura condicional - Fim 44= Estrutura de repetição - Carregar 45= Estrutura de repetição - Descarregar 51= Estrutura de repetição - Retorna valor 52= Arquivos - Carregar arquivo 53= Arquivo XML - Ler Tag/Atributo 54= Processo - Limpar memória servidor 55= Variáveis - Criptografar texto 56= Variáveis - Desencriptografar texto 57= Social - Criar publicação 58= Processo - Alterar informação do processo 59= Senhas - Chamar próxima senha 60= Senhas - Chamar última senha 61= Senhas - Reiniciar senha 62= Senhas - Reservar senha 63= Eventos do sistema - Registrar evento 64= Eventos do sistema - Verificar horário disponível 65= E-mail - Buscar e-mail 66= Sincronização - Importar dados Excel 67= GED - Aprovar publicação 68= GED - Aprovar revisão 69= GED - Reprovar 70= GED - Aprovar exclusão 72= Variáveis - Criptografar senha 73= Variáveis - Criptografia MD5 77= GED - Salvar protocolo 78= Processo - Gerar link do processo 79= Web Service - Requisição 80= Arquivo XML - Ler Tag/Atributo - Repetição 81= GED - Criar pasta 83= NF-e - Gerar DANFE XML 84= Marcadores - Adicionar marcador 85= Marcadores - Remover marcador 86= GED - Exportar documentos 87= Sincronização - Importar dados arquivo texto 88= Arquivo JSON - Ler par 89= Arquivo JSON - Ler par - Repetição 90= GED - Iniciar revisão 91= GED - Salvar arquivo 92= Processo - Exibir mensagem para o usuário 93= Kanban - Definir cor do cartão 94= NF-e - Vincular canhoto de NF de devolução 95= Processo - Criar lembrete 96= Arquivos - Criar arquivo 97= NF-e - Anexar XML 98= Processo - Adicionar comentário 99= GED - Compartilhar 100= Arquivos - Carregar lista de arquivos e pastas 101= GED - Importar arquivo
##### **CRM\_PROCESSO** Grava informações relacionadas as instâncias executadas de cada procedimento. - **IDPROCEDIMENTO**: grava o código do procedimento criado. É a coluna "**Código**" exibida na tela de cadastro/lista de **Processos de negócios (BPM)**; - **IDPROCESSO**: grava o código de cada instância executada de um procedimento; Instâncias de processo podem ser consultadas através da tela de consulta **processos de negócio (instâncias)**; - **IDFILIAL**: grava o código da filial que iniciou cada processo; - **IDATIVIDADEATUAL**: grava o código da atividade em que se encontra cada instância de processo, sendo, por padrão: - **1**: Início; - **9999**: Fim. - **STATUS**: grava o status de execução de cada instância, sendo: - **1**: **Aberto** - processo ainda disponível para colaboração; - **2**: **Encerrado** - processo com colaboração finalizada/entrou na atividade **Fim**; - **3**: **Cancelado** - processo cancelado pelo usuário antes de entrar na atividade **Fim**. - **IDVERSAO**: grava o código da versão executada de cada processo. Refere-se à versão liberada dos processos; - **MOTIVO**: grava o motivo do processo; - **DATAHORA**: grava a data/hora do momento da execução de determinado processo; - **DATAFIM**: calcula a data de finalização do processo baseado no campo **Dias vigência** (Data atual do sistema + valor informado como vigência). - **DATATERMINO**: grava a data de finalização do processo. É alimentado com a data atual do sistema no momento que o processo entra na atividade **Fim**. ##### **CRM\_PROCESSO\_ATIVIDADE** Grava informações relacionadas às atividades executadas pelas instâncias de processo. - **IDPROCESSO**: grava o código da instância executada para fins de consulta e vínculo posterior em **instruções SQL**; - **DESCRICAO**: grava a descrição/nome definido para a atividade no momento da modelagem do procedimento; - **IDATIVIDADE**: grava o código da atividade no procedimento; - **EXECUTOU**: retorna **S** ou **N** indicando se a atividade foi executada ou não pelo processo; - **DATAHORAINICIO**: retorna a data/hora em que o processo entrou em determinada atividade; - **DATAHORAFIM**: retorna a data/hora em que o processo saiu de determinada atividade (quando usuário clicou em **Próximo**); - **IDREPETICAO**: retorna o número de vezes em que o processo passou pela atividade; - **TIPOATRIBUICAO**: tipo de **atribuição/permissão** selecionada para a atividade, sendo: - - 0: Utilizar permissões configuradas no processo; - **1**: Acesso público; - **2**: Qualquer usuário cadastrado; - **3**: Usuário que iniciou o processo; - **4**: Usuário executor da atividade X; - **5**: Usuários indicados na variável X; - **6**: Papel que iniciou o processo; - **7**: Papéis selecionados; - **8**: Papéis indicados na variável X; - **9**: Papel superior do executor da atividade X; - **10**: Papel superior do usuário indicado na variável X. ##### **CRM\_PROCESSO\_VARIAVEL** Grava informações relacionadas aos valores armazenados nas variáveis das instâncias executadas dos processos. - **IDVARIAVEL**: grava o código da variável criada em determinado processo; - **IDPROCESSO**: grava o código da instância de processo; - **DESCRICAO**: grava a descrição da variável, é o nome definido para a variável assim que criada no processo; - **VALORATUAL**: grava o valor informado no campo pelo usuário após a colaboração com o processo. **Exemplo:** um relatório que precisa mostrar o nome de usuário que colaborou com determinado processo, onde o número será informado em um filtro desse relatório. Esse nome de usuário foi configurado em um evento do processo para ser armazenado na variável /\*USUARIO\*/, código 2. Para retornar esse valor, o comando SQL que deve ser realizado ficaria assim: ```SQL 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: - [**Firebird**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-package-firebird "Pacote de Funções DOX (Package) - Firebird") - [**Oracle**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-package-oracle "Pacote de Funções DOX (Package) - Oracle") - [**PostgreSQL**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-schema-postgresql "Pacote de Funções DOX (Schema) - PostgreSQL") ##### **CRM\_PROCESSO\_ATIV\_USUARIO** Grava informações relacionadas aos usuários que executaram as atividades dos processos. - **IDPROCESSO**: grava o código do processo executado; - **IDATIVIDADE**: grava o código da atividade executada pelo usuário; - **IDUSUARIO** (**FK** para a tabela **USUARIO**): grava o código do usuário que executou a atividade do processo. ##### **CRM\_PROCESSO\_ATIV\_FUNCAO** Grava informações relacionadas aos papéis função vinculados às atividades dos processo. - **IDPROCESSO**: grava o código do processo executado; - **IDATIVIDADE**: grava o código da atividade; - **IDFUNCAO** (**FK** para tabela **BPM\_FUNCAO**): grava o código do papel função vinculado na atividade. ##### **CRM\_PROCESSO\_FORMULARIO** Grava informações relacionadas aos formulários existentes nas atividades dos processos executados. - **IDPROCESSO**: grava o código do processo executado; - **DESCRICAO**: grava a descrição do campo do formulário de processo; - **IDATIVIDADE**: grava o código da atividade em que se encontra o campo do formulário; - **IDFORMULARIO**: grava o código dos formulários existentes; - **ORDEM**: guarda a ordenação dos campos dentro do formulário. Campo **Ordem** na aba **Formulários** da tela de **Atividade** ##### **CRM\_PROCESSO\_GRADE\_VALOR** Grava informações relacionadas aos campos do tipo Grade de Dados presentes nos processo BPM. - **IDGRADE**: grava o código da coluna/campo da **Grade de Dados**; - **IDVALOR**: grava a linha onde encontra-se determinado registro de uma grade de dados; - **IDPROCESSO**: grava os códigos das instâncias de processo; - **IDATIVIDADE**: grava o código da atividade em que se encontra a **Grade de Dados**; - **IDFORMULARIO**: grava o código do campo de grade dentro do formulário; - **RESPOSTA**: grava o que foi preenchido nas colunas da grade de dados. É a partir dessa tabela que serão trazidas as informações quando utilizadas as procedures e funções para retornar valores de grade Um **exemplo** de SQL que pode ser utilizado para essa tabela é o seguinte: você precisa saber o que foi preenchido na primeira coluna e primeira linha de uma grade de determinada instância de processo. Nesse caso, o **SQL** poderia ser feito da seguinte maneira: ```SQL 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: - [**Firebird**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-package-firebird "Pacote de Funções DOX (Package) - Firebird") - [**Oracle**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-package-oracle "Pacote de Funções DOX (Package) - Oracle") - [**PostgreSQL**](http://kb.ema.net.br/books/configuracoes-outros/page/pacote-de-funcoes-dox-schema-postgresql "Pacote de Funções DOX (Schema) - PostgreSQL") ##### **CRM\_PROCESSO\_EVENTO** Grava informações relacionadas aos eventos existentes nos processos executados. - **IDPROCESSO**: grava o código do processo que foi executado; - **DESCRICAO**: grava a descrição definida para o evento; - **IDATIVIDADE**: grava o código da atividade em que o evento se encontra; - **IDEVENTO**: grava o código do evento criado; - **MOMENTO**: grava o momento de execução do evento, sendo: - 0: Ao entrar na Atividade; - **1**: Ao sair da atividade; - **2**: Ao anexar. ##### **USUARIO\_PAPELFUNCAO** - **IDUSUARIO**: traz o código do usuário pertencente ao papel-função; - **IDPAPELFUNCAO**: traz o código do papel função de cada usuário. ##### **BPM\_FUNCAO** Tabela dos papeis funções cadastrados no sistema. - **IDBPMFUNCAO:** Código do papel função. - **DESCRICAO:** Descrição do papel função cadastrado. - **INATIVO:** Se o papel função está ativo ou inativo no sistema. ##### **DEPARTAMENTOS** Tabela dos departamentos cadastrados no sistema. - **IDDEPARTAMENTO:** Código do departamento. - **DESCRICAO:** Descrição do departamento cadastrado. - **INATIVO:** Se o departamento está ativo ou inativo no sistema. - **IDDIRETOR:** id do usuário vinculado no campo "Responsável". - **IDGERENTE:** id do usuário vinculado no campo "Organizador". ##### **GED\_ARQUIVO** Todo arquivo anexado ao **DOX**, seja por processo, tarefa, contrato, etc. é adicionado à nossa estrutura **GED**. Nesse tópico apresentaremos as principais tabelas que compõem a estrutura de banco de dados do gerenciador eletrônico de documentos. É a principal tabela relacionada ao GED. Essa é a tabela responsável por gravar todos os arquivos que são armazenados ao sistema, independente de qual foi a origem. Nessa tabela temos dois campos em destaque, que são: - **STATUS**: - **1**: Criando; - **2**: Aprovado; - **3**: Reprovado; - **4**: Em edição; - **5**: Lixeira; - **6**: Excluído. - **SITUAÇÃO**: - **1**: Liberado; - **2**: Aguardando revisão; - **3**: Aguardando aprovação; - **4**: Aguardando exclusão. ##### **GED\_ARQUIVO\_LOCAL** Outra tabela de extrema importância para a estrutura do **GED** é a **GED\_ARQUIVO\_LOCAL**, que é responsável por armazenar os locais onde os arquivos anexados no sistema poderão ser consultados e visualizados. É uma tabela "filha" da **GED\_ARQUIVO**. Ou seja, uma vez que o arquivo foi anexado, o mesmo gera um registro nesta tabela, com base na origem\* em que foi incluído no sistema, logo, caso for necessário consultar o mesmo anexo em outros locais, seria possível somente registrar o local nesta tabela respeitando o controle de **ORIGEM** e **IDORIGEM** do local que será liberado. **Exemplo 1**: se for um **Anexo de Processo**: ```SQL WHERE GED_ARQUIVO_LOCAL.ORIGEM = 7 AND GED_ARQUIVO_LOCAL.IDORIGEM = 0/*IDPROCESSO*/ ``` **Exemplo 2**: Se for um **Anexo de Tarefa**: ```SQL WHERE GED_ARQUIVO_LOCAL.ORIGEM = 5 AND GED_ARQUIVO_LOCAL.IDORIGEM = 0/*IDTAREFA*/ ``` **Tipos de ORIGEM:** - 0: Casos de teste; - **1**: CliForEmp; - **2**: Enquete; - **3**: Ideia; - **4**: Instrução técnica; - **5**: Tarefa; - **6**: Procedimento; - **7**: Processo; - **8**: Treinamento; - **9**: Contato; - **10**: Projeto; - **11**: Tela de processo; - **12**: Formulário; - **13**: Pasta cadastrada; - **14**: Nota de entrada; - **15**: Contrato; - **16**: Lançamento financeiro; - **17**: NFS; - **18**: Item; - **19**: Cobrança; - **20**: Pagamento; - **21**: Script. ##### **GED\_ARQUIVO\_VERSAO** Podemos destacar a tabela **GED\_ARQUIVO\_VERSAO**, que é responsável por armazenar as versões dos arquivos anexados no sistema, para controle de histórico de alterações dos arquivos. A relação/legenda dos status dos arquivos do **GED** é a que segue: - **1**: Criando; - **2**: Aprovado; - **3**: Reprovado; - **4**: Em edição; - **5**: Lixeira; - **6**: Excluído. ##### **GED\_PASTA** Tabela do sistema que armazena as informações das pastas cadastradas no GED. - **IDPASTA**: Código da pasta cadastrada. - **IDPASTAPAI**: Código da pasta pai. - **CLASSIFICAÇÃO**: Classificação da pasta cadastrada no sistema. - **DESCRICAO**: Descrição/título da pasta. - **OBSERVACAO**: Caso tenha alguma observação da pasta criada. - **INATIVO**: Se a pasta está inativa ou ativa no sistema (S/N). - **USUARIO**: Usuário criador. - **DATAHORA**: Data/hora da criação. - **DATAHORAULTIMAATUALIZACAO**: Data/hora da ultima edição.