Implementação de Importação Incremental de Cadastros INPERA NT 0364/2026
Resumo da Nota Técnica
Na versão anterior, o utilitário ImportacaoInpera executava uma importação total de todos os cadastros da plataforma INPERA para o banco de dados FACILITE a cada execução no modo híbrido (automático via Balcão, Orçamento ou Comanda).
Em bases com grande volume de clientes e produtos, esse processo resultava em tempo de sincronização excessivo. A partir desta versão, a importação passa a ser incremental: somente os registros alterados desde a última sincronização são importados, reduzindo significativamente o tempo de execução.
Detalhes da Nota Técnica
A funcionalidade de importacao incremental foi implementada no utilitario prjImportacaoInpera.exe ([1696] Sincronizacao de Cadastros INPERA - FACILITE) para o modo hibrido - execucao automatica disparada pelos modulos Balcao, Orcamento e Comanda.
Um novo campo CINP_DHULTIMPORTHIBRIDO do tipo TIMESTAMP foi adicionado à tabela CONFIGINPERA no banco FACILITE.
Este campo registra a data e hora da última importação concluída com sucesso e é utilizado como referência (watermark) para filtrar apenas os registros alterados no INPERA após essa data. Comportamento no modo híbrido:
- Primeira execucao (campo nulo): A importacao total e realizada para Clientes e Produtos (comportamento original preservado). Ao termino, o campo CINP_DHULTIMPORTHIBRIDO e preenchido com a data e hora atual da estacao.
- Execucoes subsequentes (campo preenchido): A importacao e incremental. Atraves da API Generica SQL do INPERA (apigenerica.inpera.com.br/sql), o sistema consulta apenas os registros com updatedAt superior ao watermark gravado:
1. Clientes: Consulta principal."CLIENTES" pelo campo updatedAt. Para cada ID alterado, busca detalhes via GET clientes/:id?hash= e grava/atualiza no FACILITE. Clientes existentes sao atualizados apenas nos campos gerenciados pelo INPERA (razao, fantasia, CPF/CNPJ, telefone, e-mail, endereco), preservando os campos gerenciados exclusivamente pelo FACILITE (empresa, zona, representante, comanda, financeiro, etc.).
2. Produtos PA: Consulta principal."PRODUTOS" e importa somente os produtos com updatedAt posterior ao watermark.
3. Ingredientes MP: Consulta principal."INGREDIENTES" e importa somente os ingredientes alterados.
4. Demais entidades (Grupos, SubGrupos, Classe, Localizacoes, Unidades, Fornecedores, Marcas, Cobrancas, Representantes, Complementos, Condicionais Food): continuam com importacao total, sem alteracao de comportamento.
- Limpeza de produtos: No modo incremental, a rotina que apagava todos os produtos antes de reimportar e suprimida, preservando os produtos existentes no FACILITE. No modo total (campo nulo) o comportamento de limpeza e mantido.
- Nao atualizacao em caso de erro: Se a importacao encerrar com erro fatal, o campo CINP_DHULTIMPORTHIBRIDO nao e atualizado, garantindo que registros alterados durante a falha sejam reimportados na proxima execucao.
No modo standalone (manual): O campo CINP_DHULTIMPORTHIBRIDO e gravado ao termino de uma importacao manual bem-sucedida, porem o filtro incremental nao se aplica - a importacao manual segue os toggles selecionados pelo usuario sem restricao de data.
Através do aplicativo FACILITE Comércio, menu Utilitários, submenu Parâmetros do Sistema, aba Parâmetros Gerais.
# "4.18.721 - HABILITA INTEGRAÇÃO COM O INPERA", deve estar com o valor do Status igual a "Sim", para que a importação funcione corretamente.
Através do aplicativo FACILITE Monitor Inpera, botão "[F4] Configurações", o campo "Sincronizar Dados Cadastrais do INPERA" deverá estar marcado para que seja possível efetuar a importação do INPERA através dos aplicativos Balcão, Orçamento e Comanda.