01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:

Cenários Automatização Eventos - html.mcd.cenarioEventoTributos

Agendador Evento Tributos - html.mcd.agendadorEventoTributos

País:Brasil
Requisito/Story/Issue (informe o requisito relacionado) :

DBACKRTDTS-6700, DBACKRTDTS-6715, DBACKRTDTS-6716, DBACKRTDTS-6717, DBACKRTDTS-6718, DBACKRTDTS-6726, DBACKRTDTS-6729


02. SITUAÇÃO/REQUISITO

Embora o programa Evento Tributos (html.mcd.eventoTributos) permita a gestão individual por documento, a implementação da geração em lote é fundamental para escalar a operação. Essa evolução mitiga o risco de erros manuais e garante a conformidade fiscal em larga escala, tornando o processo de entrega significativamente mais ágil e seguro.

03. SOLUÇÃO

Para viabilizar a geração em lote, a solução foi estruturada em duas frentes: o Cenário Automatização Eventos (html.mcd.cenarioEventoTributos), que centraliza a inteligência das regras e cenários fiscais, e o Agendador Evento Tributos (html.mcd.agendadorEventoTributos), que garante a execução programada e automática desses processos.

Essa arquitetura é suportada por uma atualização no banco de dados (novos campos, índices e tabelas), assegurando rastreabilidade e performance.

A nova estrutura garante que a geração em lote seja feita de forma ágil, segura e totalmente alinhada às exigências da Reforma Tributária.



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 NameData TypeFormatLabelColumn LabelDescripton/Help TextMandatory
log-tp-geracLogicalYES/NOGerado cenárioGerado cenárioGerado cenárioNO


Criados novos índices: 

Index NameField Name
log-gerac-autolog-gerac-auto
log-tp-geraclog-tp-gerac


2) Criado nova tabelas para permitir a geração automática:


Tabela cenario-evento-trib:

DatabaseTable NameLabelDescription
mgindcenario-evento-tribCenários Eventos TributosCadastro de cenários para automatização da geração dos eventos
Field NameData TypeFormatLabelColumn LabelDescripton/Help TextMandatoryObservação
num-id-cenarioDecimal>>>>>>>>>9Código cenárioCenárioCódigo do cenárioYESNúmero sequencial (autoincremento)
cod-eventoCharacterx(8)EventoEventoCódigo do eventoYESExemplo: 112110, 211110, 211130
modulo-orig-infoCharacterx(5)Módulo origemMóduloMódulo origem da informaçãoYESExemplo: MOF, MRE, MFT
status-cenarioLogicalYES/NOStatusStatusCenário ativo ou inativoYESYES - Ativo / NO - Inativo
Índice primário
idx-cen-eventonum-id-cenario


Índice secundário
idx-cen-evento-2cod-evento | modulo-orig-info | status


Tabela cenario-regras-evento-trib: 

DatabaseTable NameLabelDescription
mgindcenario-regras-evento-tribRegras cenários eventos tributosCadastro das regras de cenários para automatização da geração dos eventos
Field NameData TypeFormatLabelColumn LabelDescripton/Help TextMandatoryObservação
num-id-cenarioDecimal>>>>>>>>>9CenárioCenárioCódigo do cenárioYESCódigo do registro "pai"
num-id-regraDecimal>>>>>>>>>9RegraSequênciaSequência da regraYESNúmero sequencial (autoincremento)
data-inicialDatedd/mm/aaaaData inicialDt InicialData inicial de validade da regraYES
data-finalDatedd/mm/aaaaData finalDt FinalData final de validade da regraNO
cod-estabelCharacterx(5)EstabelecimentoCod EstabCódigo do estabelecimentoNO
cod-emitenteInteger>>>>>>>>9EmitenteEmitenteEmitente do documento. Cliente ou FornecedorNO
cod-fin-nfeInteger>9Finalidade NFeFin. NFeFinalidade de emissão da NF-eNO
cod-tipo-nf-cred-debInteger99Tipo NF Cred/DebTp NF Cred/DebTipo de nota fiscal de crédito e débitoNO
nat-operacaoCharacterx(6)Nat. operaçãoNat. Oper.Natureza de operaçãoNO
it-codigoCharacterx(16)ItemItemCódigo do ItemNO
cod-cclass-tribCharacterx(9)Código classificação tributáriaCod. Class. Trib.Código Classificação TributáriaNO
cod-cred-presCharacterx(10)Código crédito presumidoCod. Cred. PressCódigo Crédito PresumidoNO
cod-class-fiscCharacter9999.99.99Classificação fiscalClassif. FiscalClassificação Fiscal (NCM)NO
cod-nbsCharacterx(20)Código NBSCód. NBSCódigo NBSNO
cod-cta-patCharacterx(18)Conta patrimonialConta PatrimonialCódigo Conta PatrimonialNO
cod-mod-dfeCharacterx(5)Modelo do documento fiscal eletrônicoModelo DFeCódigo do modelo do documento fiscal eletrônicoNO
envio-autoLogicalYES/NOEnvia automanticamenteEnvio AutoEnviar evento automaticamenteYESINITIAL NO
Índice primário
idx-cen-regra

num-id-cenario | num-id-regra



Índice secundário
idx-regra-validadedata-inicial | data-final
idx-regra-estabcod-estabel
idx-regra-EMITcod-emitente
idx-regra-ativocod-cta-pat
idx-regra-doccod-fin-nfe | cod-tipo-nf-cred-deb | nat-operacao
idx-regra-itemit-código | cod-cclass-trib | cod-cred-pres | cod-class-fisc | cod-nbs


Tabela hist-evento-trib: 

DatabaseTable NameLabelDescription
mgindhist-evento-tribHistórico Eventos TributosHistórico de alterações cadastrais de cenários e regras dos eventos
Field NameData TypeFormatLabelColumn LabelDescripton/Help TextMandatoryObservação
dat-alteracaoDate99/99/9999Data AlteraçãoData AlteraçãoData da AlteraçãoYES
cod-hora-alterCharacter99:99:99Hora AlteraçãoHora AlteraçãoHora da AlteraçãoYES
cod-eventoCharacterx(8)EventoEventoCódigo do eventoYESExemplo: 112110, 211110, 211130
nome-tabelaCharacterx(30)Nome TabelaNome TabelaNome da tabela alteradaYES
cod-campoCharacterx(30)Field Name CampoField Name CampoField Name do CampoYES
cod-usuarioCharacterx(20)Código UsuárioCódigo UsuárioCódigo do usuário logadoYES
num-id-cenarioCharacterx(20)Código cenárioCódigo cenárioCódigo cenárioYES
num-id-regraCharacterx(20)Código sequência regraCódigo sequência regraCódigo sequência regraNO
cod-label-campoCharacterx(50)Label CampoLabel CampoLabel do CampoNO
cod-conteudo-iniCharacterx(300)Conteúdo InicialConteúdo InicialConteúdo inicial do campo, antes da alteraçãoNO
cod-conteudo-finCharacterx(300)Conteúdo FinalConteúdo FinalConteúdo final do campo, após a alteraçãoNO
Índice primário
idx-hist-1

dat-alteracao | cod-hora-alter | num-id-cenario | num-id-regra | cod-campo



Índice secundário
idx-hist-2nome-tabela | cod-usuario


Tabela agenda-evento-trib:

DatabaseTable NameLabelDescription
mgindagenda-evento-tribAgendamento Eventos TributosGestão dos agendamentos para geração automática dos Eventos
Field NameData TypeFormatLabelColumn LabelDescripton/Help TextMandatoryObservação
cod-eventoCharacterx(8)EventoEventoCódigo do eventoYESExemplo: 112110, 211110, 211130
dt-cria-agendaDatedd/mm/aaaaData agendamentoData agendamentoData em que foi realizado o agendamentoNO
cod-hora-agendaCharacter99:99:99Hora agendamentoHora agendamentoHora em que foi realizado o agendamentoNO
cod-estabelCharacterx(5)EstabelecimentoCod EstabCódigo do estabelecimentoYES
periodo-execucaoInteger>9PeríodoPeríodoPeríodo dos documentosNO1 - Dia anterior, 2 - Últimos 7 dias, 3 - Mês anterior (fechado), 4 - Hoje, 5 - Mês atual (até hoje)
num-ped-hojeInteger>>>>>>>>>9Número PedidoPedidoNúmero PedidoYESNúmero do pedido que será gerado na data de hoje.
num-ped-hoje-idCharacterx(50)Número Pedido IDPedido IDNúmero Pedido IDYES
num-ped-recorrenteInteger>>>>>>>>>9Número Pedido RecorrênciaPed. Recor.Número Pedido RecorrênciaNO
num-ped-recorrente-idCharacterx(50)Número Pedido Recorrência IDPed. Reco. IDNúmero Pedido Recorrência IDNO
Índice primário
idx-agend-eventcod-evento, cod-estabel


Índice secundárioCampos
idx-agend-estabcod-estabel
idx-pedidonum-ped-hoje
idx-pedido-idnum-ped-hoje-id
idx-recorrencianum-ped-recorrente
idx-recorrencia-idnum-ped-recorrente-id


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.


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 EventoMó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.














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.

 










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. 


Geração:

O relatório pode ser executado de forma On-line, onde o arquivo é baixado no navegador, Batch, onde a geração do arquivo é executada via RPW e o arquivo salvo na pasta do servidor RPW, e também Central de Documentos, onde o arquivo é gerado na pasta do servidor.

Além disso, é possível escolher entre tipo de relatório Resumido, onde são apresentados os valores apenas a nível de documento, e Detalhado, onde são apresentados os valores a nível de documento e item do documento.


Ao clicar em Gerar, o programa irá por padrão exibir a seguinte mensagem de aviso:




Após a execução, será gerada a planilha Demonstrativo_Apurac_CBS_IBS.xml, junto com o arquivo de acompanhamento, conforme tipo de execução selecionado na tela de parametrização.

Para a execução Resumida, serão geradas apenas as abas de Parâmetros e Documento.






04. ASSUNTOS RELACIONADOS