| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | dicionario |
|---|
|
Para possibilitar a geração automática dos eventos, foram realizadas as seguintes alterações no dicionário de dados:
1) Tabela evento-trib-dfe, criado novo o campo para identificar se evento foi criado a partir do cenário: | Field Name | Data Type | Format | Label | Column Label | Descripton/Help Text | Mandatory | | log-tp-gerac | Logical | YES/NO | Gerado cenário | Gerado cenário | Gerado cenário | NO |
Criados novos índices: | Index Name | Field Name | | log-gerac-auto | log-gerac-auto | | log-tp-gerac | log-tp-gerac |
2) Criado novas tabelas para permitir a geração automática:
Tabela cenario-evento-trib: | Database | Table Name | Label | Description | | mgind | cenario-evento-trib | Cenários Eventos Tributos | Cadastro de cenários para automatização da geração dos eventos |
| Field Name | Data Type | Format | Label | Column Label | Descripton/Help Text | Mandatory | Observação | | num-id-cenario | Decimal | >>>>>>>>>9 | Código cenário | Cenário | Código do cenário | YES | Número sequencial (autoincremento) | | cod-evento | Character | x(8) | Evento | Evento | Código do evento | YES | Exemplo: 112110, 211110, 211130 | | modulo-orig-info | Character | x(5) | Módulo origem | Módulo | Módulo origem da informação | YES | Exemplo: MOF, MRE, MFT | | status-cenario | Logical | YES/NO | Status | Status | Cenário ativo ou inativo | YES | YES - Ativo / NO - Inativo |
| Índice primário |
| | idx-cen-evento | num-id-cenario |
|
| | Índice secundário |
| | idx-cen-evento-2 | cod-evento | modulo-orig-info | status |
Tabela cenario-regras-evento-trib: | Database | Table Name | Label | Description | | mgind | cenario-regras-evento-trib | Regras cenários eventos tributos | Cadastro das regras de cenários para automatização da geração dos eventos |
| Field Name | Data Type | Format | Label | Column Label | Descripton/Help Text | Mandatory | Observação | | num-id-cenario | Decimal | >>>>>>>>>9 | Cenário | Cenário | Código do cenário | YES | Código do registro "pai" | | num-id-regra | Decimal | >>>>>>>>>9 | Regra | Sequência | Sequência da regra | YES | Número sequencial (autoincremento) | | data-inicial | Date | dd/mm/aaaa | Data inicial | Dt Inicial | Data inicial de validade da regra | YES |
| | data-final | Date | dd/mm/aaaa | Data final | Dt Final | Data final de validade da regra | NO |
| | cod-estabel | Character | x(5) | Estabelecimento | Cod Estab | Código do estabelecimento | NO |
| | cod-emitente | Integer | >>>>>>>>9 | Emitente | Emitente | Emitente do documento. Cliente ou Fornecedor | NO |
| | cod-fin-nfe | Integer | >9 | Finalidade NFe | Fin. NFe | Finalidade de emissão da NF-e | NO |
| | cod-tipo-nf-cred-deb | Integer | 99 | Tipo NF Cred/Deb | Tp NF Cred/Deb | Tipo de nota fiscal de crédito e débito | NO |
| | nat-operacao | Character | x(6) | Nat. operação | Nat. Oper. | Natureza de operação | NO |
| | it-codigo | Character | x(16) | Item | Item | Código do Item | NO |
| | cod-cclass-trib | Character | x(9) | Código classificação tributária | Cod. Class. Trib. | Código Classificação Tributária | NO |
| | cod-cred-pres | Character | x(10) | Código crédito presumido | Cod. Cred. Press | Código Crédito Presumido | NO |
| | cod-class-fisc | Character | 9999.99.99 | Classificação fiscal | Classif. Fiscal | Classificação Fiscal (NCM) | NO |
| | cod-nbs | Character | x(20) | Código NBS | Cód. NBS | Código NBS | NO |
| | cod-cta-pat | Character | x(18) | Conta patrimonial | Conta Patrimonial | Código Conta Patrimonial | NO |
| | cod-mod-dfe | Character | x(5) | Modelo do documento fiscal eletrônico | Modelo DFe | Código do modelo do documento fiscal eletrônico | NO |
| | envio-auto | Logical | YES/NO | Envia automanticamente | Envio Auto | Enviar evento automaticamente | YES | INITIAL NO |
| Índice primário |
| | idx-cen-regra | num-id-cenario | num-id-regra |
|
| | Índice secundário |
| | idx-regra-validade | data-inicial | data-final | | idx-regra-estab | cod-estabel | | idx-regra-EMIT | cod-emitente | | idx-regra-ativo | cod-cta-pat | | idx-regra-doc | cod-fin-nfe | cod-tipo-nf-cred-deb | nat-operacao | | idx-regra-item | it-código | cod-cclass-trib | cod-cred-pres | cod-class-fisc | cod-nbs |
Tabela hist-evento-trib: | Database | Table Name | Label | Description | | mgind | hist-evento-trib | Histórico Eventos Tributos | Histórico de alterações cadastrais de cenários e regras dos eventos |
| Field Name | Data Type | Format | Label | Column Label | Descripton/Help Text | Mandatory | Observação | | dat-alteracao | Date | 99/99/9999 | Data Alteração | Data Alteração | Data da Alteração | YES |
| | cod-hora-alter | Character | 99:99:99 | Hora Alteração | Hora Alteração | Hora da Alteração | YES |
| | cod-evento | Character | x(8) | Evento | Evento | Código do evento | YES | Exemplo: 112110, 211110, 211130 | | nome-tabela | Character | x(30) | Nome Tabela | Nome Tabela | Nome da tabela alterada | YES |
| | cod-campo | Character | x(30) | Field Name Campo | Field Name Campo | Field Name do Campo | YES |
| | cod-usuario | Character | x(20) | Código Usuário | Código Usuário | Código do usuário logado | YES |
| | num-id-cenario | Character | x(20) | Código cenário | Código cenário | Código cenário | YES |
| | num-id-regra | Character | x(20) | Código sequência regra | Código sequência regra | Código sequência regra | NO |
| | cod-label-campo | Character | x(50) | Label Campo | Label Campo | Label do Campo | NO |
| | cod-conteudo-ini | Character | x(300) | Conteúdo Inicial | Conteúdo Inicial | Conteúdo inicial do campo, antes da alteração | NO |
| | cod-conteudo-fin | Character | x(300) | Conteúdo Final | Conteúdo Final | Conteúdo final do campo, após a alteração | NO |
|
| Índice primário |
| | idx-hist-1 | dat-alteracao | cod-hora-alter | num-id-cenario | num-id-regra | cod-campo |
|
| | Índice secundário |
| | idx-hist-2 | nome-tabela | cod-usuario |
Tabela agenda-evento-trib: | Database | Table Name | Label | Description | | mgind | agenda-evento-trib | Agendamento Eventos Tributos | Gestão dos agendamentos para geração automática dos Eventos |
| Field Name | Data Type | Format | Label | Column Label | Descripton/Help Text | Mandatory | Observação | | cod-evento | Character | x(8) | Evento | Evento | Código do evento | YES | Exemplo: 112110, 211110, 211130 | | dt-cria-agenda | Date | dd/mm/aaaa | Data agendamento | Data agendamento | Data em que foi realizado o agendamento | NO |
| | cod-hora-agenda | Character | 99:99:99 | Hora agendamento | Hora agendamento | Hora em que foi realizado o agendamento | NO |
| | cod-estabel | Character | x(5) | Estabelecimento | Cod Estab | Código do estabelecimento | YES |
| | periodo-execucao | Integer | >9 | Período | Período | Período dos documentos | NO | 1 - Dia anterior, 2 - Últimos 7 dias, 3 - Mês anterior (fechado), 4 - Hoje, 5 - Mês atual (até hoje) | | num-ped-hoje | Integer | >>>>>>>>>9 | Número Pedido | Pedido | Número Pedido | YES | Número do pedido que será gerado na data de hoje. | | num-ped-hoje-id | Character | x(50) | Número Pedido ID | Pedido ID | Número Pedido ID | YES |
| | num-ped-recorrente | Integer | >>>>>>>>>9 | Número Pedido Recorrência | Ped. Recor. | Número Pedido Recorrência | NO |
| | num-ped-recorrente-id | Character | x(50) | Número Pedido Recorrência ID | Ped. Reco. ID | Número Pedido Recorrência ID | NO |
|
| Índice primário |
| | idx-agend-event | cod-evento, cod-estabel |
|
| | Índice secundário | Campos | | idx-agend-estab | cod-estabel | | idx-pedido | num-ped-hoje | | idx-pedido-id | num-ped-hoje-id | | idx-recorrencia | num-ped-recorrente | | idx-recorrencia-id | num-ped-recorrente-id |
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | cenarios |
|---|
|
Cenários Automatização Eventos (html.mcd.cenarioEventoTributos)
Foi desenvolvido o programa que permite cadastrar os cenários e regras que serão utilizados para a geração automática dos eventos. A solução oferece autonomia na parametrização da busca de documentos eletrônicos, permitindo ajustes conforme o tipo de evento e as particularidades de cada estabelecimento.
1) Listagem: Na listagem é apresentado a lista de todos os cenários que foram inseridos na base, contendo as ações de Editar ou Duplicar um cenário já existente. 
2) Botão Remover: Ao selecionar algum registro na listagem, o botão Remover é habilitado, e se acionado será apresentada uma lista para conferência dos registros para exclusão. Caso selecionado Sim, os registros são excluídos do sistema e a listagem é atualizada. Caso selecionado Não, nenhuma alteração é realizada e o usuário retorna para a listagem dos registros.
3) Botão Histórico: Ainda na listagem, é possível visualizar o histórico de atividade como inclusão, edição e exclusão nos cenários. Para isto, basta acionar o botão Histórico e será apresentado a lista do histórico de atividade em cenários. É possível também filtrar as atividades por meio do botão Busca avançada, filtrando por data inicial e final da alteração, usuário e cenário. 

4) Inclusão e Edição: É possível realizar a inclusão de cenários através do botão Novo cenário, a partir da listagem. Este botão irá redirecionar o usuário para a tela de inclusão de cenários:
Quanto a tela de inclusão, existem alguns comportamentos a serem destacados: - Cenário: o campo Cenário é um campo de sequência para controle interno dos cenários, portanto, não pode ser alterado e é carregado automaticamente ao abrir a tela;
- Evento: o campo Evento possui, no momento, a possibilidade de incluir três eventos: 211110, 211128 e 211130. O campo Módulo origem é carregado conforme o evento escolhido.
- Módulo origem: o campo Módulo origem determina quais são os parâmetros para inclusão e listagem das regras. No momento, apenas três módulos estão disponíveis: Ativo Fixo, Obrigações Fiscais e Recebimento.
- Status: o campo Status indica se o cenário está ativo ou não. Só é possível cadastrar um cenário ativo por evento e não é possível ter mais de um cenário ativo com o mesmo evento para diferentes módulos.
| Informações |
|---|
|
Status do cenário Pode ser cadastrado mais de um cenário para o mesmo evento, desde que esteja com o Status Inativo, pois apenas um cenário pode estar com o Status ativo. Caso tente cadastrar um novo cenário, para um evento que já possui cenário ativo, ocorrerá mensagem de erro em tela "Não é permitido cadastrar um cenário ativo para um mesmo evento com outro módulo de configurado", ou "Já existe um cenário cadastrado para o mesmo evento e módulo de origem com status ativo". O cenário que será considerado na geração dos eventos será o cenário com Status ativo. |
O formulário de edição apresenta os mesmos campos que o formulário de inclusão, porém os campos Evento e Módulo origem não podem ser alterados. O formulário de edição pode ser acessado a partir do ícone de lápis presente nos registros da listagem principal. 
4.1) Cadastro/Manutenção de regras: Para cada cenário pode existe várias regras, pois o sistema oferece autonomia na configuração de buscas de documentos eletrônicos, adaptando-se às necessidades de cada evento e estabelecimento.
4.1.1) Listagem: As colunas da listagem de regras são alteradas conforme o módulo que foi selecionado: - Módulos Recebimento, Faturamento e Obrigações Fiscais: Regra, Data Inicial, Data Final, Estabelecimento, Emitente, Natureza de Operação e Item.
- Módulo Ativo Fixo: Regra, Data Inicial, Data Final, Estabelecimento e Conta Patrimonial.

4.1.2) Inclusão e Edição: Os campos do formulário de inclusão e edição de regras também são condicionados pelo módulo de origem escolhido: - Módulos Recebimento, Faturamento e Obrigações Fiscais: Regra, Data Inicial, Data Final, Estabelecimento, Emitente, Finalidade NF-e, Tipo de nota fiscal de crédito e débito, Natureza de Operação, Item, Código Classificação Tributária, Código Crédito Presumido, Classificação Fiscal (NCM) e Código NBS.
- Módulo Ativo Fixo: Regra, Data Inicial, Data Final, Estabelecimento e Conta Patrimonial.

Quanto a tela de inclusão e edição de regras, existem alguns comportamentos a serem destacados: - O campo Regra é utilizado para controle interno e não pode ser alterado. Seu valor é calculado automaticamente pelo sistema.
- O campo Tipo de Nota Fiscal de Crédito e Débito só será habilitado caso a Finalidade NF-e escolhida seja NF-e Nota de Crédito ou NF-e Nota de Débito. As opções do campo são apresentadas conforme o tipo que foi escolhido.
- A edição de regra tem o mesmo comportamento da inclusão, com a diferença de que o campo Data Inicial ficará desabilitado. A edição pode ser acessada pelo ícone de lápis presente na listagem de regras.

| Informações |
|---|
|
Regra genérica Caso o usuário cadastre uma regra genérica, isto é, com os campos marcados com a opção Todos, será exibido um alerta "Atenção! Não é recomendado criar regras genéricas, pois podem gerar eventos para todos os documentos", no entanto a inclusão irá ocorrer normalmente. |
4.1.3) Botão Remover: Ao selecionar algum registro na listagem, o botão Remover é habilitado, e se acionado será apresentada uma lista para conferência dos registros para exclusão. Caso selecionado Sim, os registros são excluídos do sistema e a listagem é atualizada. Caso selecionado Não, nenhuma alteração é realizada e o usuário retorna para a listagem dos registros.
| Informações |
|---|
|
Salvar inclusão ou edição de regras A efetivação do salvamento das regras no sistema irá ocorrer somente ao clicar no botão Salvar presente acima do formulário de cenários no canto superior direito da página. Enquanto isso, qualquer regra adicionada ou alterada não foi efetivada no sistema. |
4.1.4) Botão Histórico: É possível visualizar um histórico de atividade nas regras dos cenários por meio do botão Histórico. Ao acionar o botão, é apresentada uma tela com a atividade nas regras dos cenários de automatização de eventos. 
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | agendador |
|---|
| Agendar Geração Automática de Eventos (html.mcd.agendadorEventoTributos)
Foi desenvolvido um programa que permite o agendamento da geração automática dos eventos, seguindo os cenários e regras pré-definidos. Vale ressaltar que o sistema processa apenas as regras do cenários com status Ativo. Ao final de cada execução, será gerado um relatório em Excel para conferência dos documentos eletrônicos e eventos processados.
1) Listagem: Na listagem é apresentado a lista de todos os agendamentos do tipo Oficial, contendo a ação de eliminar o agendamento. 
2) Botão Novo Agendamento: O agendamento oferece dois tipos de execução, e para cada tipo de execução, os parâmetros da tela se adaptam:
Prévia: - Esta opção não efetiva a criação os eventos e deve ser usada para conferencia e validação, dos documentos eletrônicos encontrados e dos eventos gerados.
- A geração prévia não cria o agendamento na listagem da tela principal. Quando o geração é solicitada pelo botão Gerar Agendamento RPW será apresentado uma mensagem em tela informando o numero do pedido, exemplo "Prévia gerada com sucesso! Acompanhe o pedido 272836 no programa Monitor de Pedidos";
- O campo Evento possui, no momento, a possibilidade de geração para três eventos: 211110, 211128 e 211130;
- A Data Inicial e Data Final é o período em que os documentos eletrônicos serão buscados para geração do evento. A data inicial e final deve ser no máximo um período de 1 mês, do contrário ocorrerá a mensagem de erro "O intervalo entre a Data Inicial e Data Final não pode ser superior a 1 mês".

Oficial: - Esta opção efetiva a criação dos eventos em lote;
- A geração oficial cria o agendamento na listagem da tela principal;
- O campo Evento possui, no momento, a possibilidade de geração para três eventos: 211110, 211128 e 211130;
- O campo Periodicidade é o período em que os documentos eletrônicos serão buscados para a geração do evento. As opção são:
- Dia anterior: É a data de ontem, exemplo: Hoje é 23/03/2026, para essa opção será a data de 22/03/2026 até 22/03/2026;
- Últimos 7 dias: É o período de 7 dias atrás, exemplo: Hoje é 23/03/2026, para essa opção será a data de 16/03/2026 até 22/03/2026;
- Mês anterior (fechado): É o período do mês anterior, exemplo: Hoje é 23/03/2026, para essa opção será a data de 01/02/2026 até 28/02/2026;
- Hoje: É a data de hoje, exemplo: Hoje é 23/03/2026, para essa opção será a data de 23/03/2026 até 23/03/2026;
- Mês atual (Até hoje): Será o mês atual até da data de hoje, exemplo: Hoje é 23/03/2026, para essa opção será a data de 01/03/2026 até 23/03/2026.

3) Botão Atualizar: Cada registro de agendamento na listagem há um um Status, podendo ser: - Aguardando: Significa que a geração ainda está em espera na fila do RPW, ou processando a geração;
- Falha: Significa que ocorreu erro durante a geração dos eventos;
- Concluído: Significa que o processamento foi concluído.
Quando o agendamento está com o Status Aguardando na listagem, o botão Atualizar pode ser acionado para conferência do Status do pedido, e se o pedido já foi processado o status é atualizado na listagem, podendo ficar como Falha ou Concluído.
4) Botão Monitor de Pedidos: Esse botão é um facilitador para a consultar os pedidos agendados no programa Monitor Pedidos Execução (HTML). O monitor será aberto já com o filtro aplicado, buscando pelo programa gerador dos eventos que é "cdGeraEventosAuto", posicionando assim a listagem com os pedidos gerados a partir do programa Agendar Geração Automática de Eventos.
5) Relatório excel Após cada pedido processado, será será gerado no diretório SPOOL do servidor RPW um relatório excel com o nome "ConfDoctosEventosAuto+Ano+Mês+Dia+_+Hora+Min+Segundo". Exemplo: ConfDoctosEventosAuto20260316_111101.xls
Image Added
Como o processamento para geração dos eventos funcionará? - Ao iniciar o processamento o produto irá buscar o cenário ativo e regras, de acordo com os parâmetros informados em tela.
- Mandará as regras para a API do módulo responsável. O módulo responsável é o que foi informando durante o cadastro de cenário para o Evento em questão;
- A API do módulo responsável, ou API da área, irá buscar todos os documentos e itens do documentos, se for necessário dependendo do evento, para a geração dos eventos;
- Se o tipo de geração for oficial, a criação dos eventos será efetivada na base, podendo ser consultados no programa Evento Tributos (html.mcd.eventoTributos);
- Será gerado a planilha de conferência no diretório SPOOL do servidor RPW, contendo a listagem de erro, documentos, itens do documento, eventos e parâmetros.
O relatório irá conter as abas: - Inconsistências: Irá apresentar essa aba apenas se ocorrer alguma inconsistência durante o processamento, listando os erros encontrados;
- Documentos: Irá apresentar essa aba apenas se encontrar os documentos eletrônicos, para a geração dos eventos, listando todos os documentos encontrados de acordo com as regras configuradas no programa Cenários Automatização Eventos (html.mcd.cenarioEventoTributos);
- Itens do Docto: Irá apresentar essa aba apenas se encontrar os itens dos documentos eletrônicos, para a geração dos eventos que são pelos itens da nota, listando todos os itens encontrados de acordo com as regras configuradas no programa Cenários Automatização Eventos (html.mcd.cenarioEventoTributos);
- Eventos: Irá apresentar essa aba apenas se gerar os Eventos, de acordos com os documentos e itens do documentos (se houver conforme evento), listando todos os eventos gerados.
- Parâmetros: Essa aba sempre será apresentada, listando os parâmetros informados para o agendamento e geração dos eventos.
Principais mensagens de erro apresentadas no relatório: - Se não encontrar cenário cadastrado de acordo com os parâmetros informados em tela, irá gerar a mensagem de erro 58214 e abortará a geração;
- Se não encontrar regras para o cenário encontrado de acordo com os parâmetros informados em tela, irá gerar a mensagem de erro 58215 e abortará a geração;
- Se não encontrar a API das áreas, irá gerar a mensagem de erro 58216 e abortará a geração;
- Se não encontrar documentos conforme regras cadastradas para o cenário, irá gerar a mensagem de erro 58217 e abortará a geração.
| Informações |
|---|
|
Inconsistências Poderá ser apresentado outras mensagens de inconsistências, e todas as mensagens serão listadas na aba Inconsistências da planilha, garantindo a segurança da geração dos eventos em lote durante o processamento. |
ConfDoctosEventosAuto20260316_111101 |
|