Configuração do server Integrador de Notas Fiscais Web (SrvMegaNfIntegrador)
Para que serve este servidor
O Integrador de Notas Fiscais Web é um programa que fica rodando em segundo plano, sozinho, sem ninguém precisar acompanhar. De tempo em tempo ele olha a fila de notas fiscais que foram enviadas para o Mega por sistemas externos (integrações, portais, outras aplicações) e transforma cada uma delas em uma nota fiscal oficial dentro do módulo de Faturamento.
Na prática: a nota chega na fila, o servidor pega, valida, gera a nota no Mega e marca a fila como concluída. Se der algum problema, ele marca a nota com erro e escreve o motivo, para que alguém possa corrigir e liberar novamente pela tela de “Integração de NF Web”.
Quando este servidor é usado no fluxo de emissão automática de notas de débito/crédito por juros, multa ou desconto (Reforma Tributária), a fila que ele consome é alimentada por outro servidor, que roda antes dele. Veja Configuração do server Financeiro para NF Web (SrvMegaFinancNfWeb) para configurar essa etapa anterior.
Os parâmetros deste documento controlam o ritmo e o volume desse trabalho: quantas notas ele processa ao mesmo tempo, de quanto em quanto tempo ele olha a fila, com qual usuário ele trabalha e se ele deve ignorar parte da fila.
Como este servidor de aplicação opera
O termo servidor refere-se ao servidor de aplicação do ERP, e não à máquina física ou virtual onde ele está instalado.
Este servidor de aplicação é disponibilizado como um executável independente, compatível com ambientes Windows e Linux.
Cada execução ativa desse executável constitui uma instância do servidor, e uma mesma máquina pode executar uma ou mais instâncias.
O comportamento, os parâmetros de configuração e o arquivo MegaConfig.xml são idênticos nas duas plataformas.
Do ponto de vista de arquitetura, este servidor é um processo autônomo de segundo plano um daemon, na terminologia de sistemas distribuídos.
Ele carrega seu próprio temporizador interno a partir do MegaConfig.xml e decide sozinho quando trabalhar: a cada ciclo consulta a fila, reserva o que vai processar e segue, sem orquestrador, sem cadastro de agenda e sem nenhuma tela que o acione.
O padrão de integração que ele implementa é o de consumidor por varredura (Polling Consumer) sobre uma fila mantida em tabela. Como podem existir várias threads dentro da mesma instância, e várias instâncias em máquinas distintas, todas competindo pela mesma fila, o modelo é o de consumidores concorrentes (Competing Consumers), e a exclusividade de cada registro é garantida por bloqueio de linha no Oracle, não por um controlador central. Isso o distingue dos outros modelos que existem no ERP, pois:
- NÃO é um servidor de processamento sob demanda, que fica ocioso aguardando a chamada de uma tela;
- NÃO é um servidor de integração, acionado pela chegada de uma requisição ou de um arquivo externo; e,
- NÃO é um servidor de AGENDA, cuja execução é governada por um cadastro no banco que define janelas de horário e a máquina responsável.
Na prática, essa independência traz duas consequências:
- a capacidade cresce horizontalmente: basta subir mais instâncias, sem nenhuma configuração de coordenação entre elas e sem risco de a mesma pendência ser processada duas vezes;
- e, por não haver quem o convoque, a única garantia de que o trabalho está sendo feito é o processo estar de pé e é por isso que a inicialização automática e o acompanhamento do processo em execução deixam de ser conveniência e passam a ser parte da operação.
Onde configurar
Todos os parâmetros ficam em um único arquivo de configuração do Mega:
MegaConfig.xml
Ele fica na pasta de configuração da sua instalação. No ambiente padrão de versão, o caminho é:
V:\Versao\Config\MegaConfig.xml
Se você não souber onde está o seu, procure pelo arquivo MegaConfig.xml na pasta onde o Mega foi instalado. É o mesmo arquivo usado por outras configurações do sistema.
Como editar, passo a passo
- Faça uma cópia de segurança do arquivo antes de mexer. Copie o
MegaConfig.xmlpara um lugar seguro e renomeie a cópia, por exemploMegaConfig_backup_2026-09-04.xml. Se algo der errado, você volta a cópia. - Abra o
MegaConfig.xmlcom o Bloco de Notas (ou outro editor de texto simples). Não use Word. - Localize a linha
</DOCUMENT>, que fica no final do arquivo. - Cole o bloco de configuração (mostrado mais abaixo) antes dessa linha.
- Salve o arquivo.
- Pare e inicie o servidor novamente.
O servidor lê a configuração apenas quando é iniciado. Mudanças feitas com ele rodando não têm nenhum efeito.
O arquivo já vem sem esta configuração na instalação padrão. Enquanto o bloco não for adicionado, o servidor funciona com os valores de fábrica descritos na coluna “Valor de fábrica” da tabela abaixo.
Os quatro parâmetros
| Parâmetro | Para que serve | Valor de fábrica | Valores permitidos |
|---|---|---|---|
| USUARIO | Define em nome de qual usuário o servidor trabalha | 1 | Qualquer código de usuário válido, sempre maior que zero |
| THREADS | Quantas notas ele processa ao mesmo tempo | 1 | De 0 a 6 |
| INTERVALO | De quanto em quanto tempo ele olha a fila | 60 segundos | Número em segundos |
| FILTRO | Restringe quais notas da fila ele deve pegar | vazio (pega tudo) | Condição de consulta, ou vazio |
USUARIO — em nome de quem o servidor trabalha
O servidor não é uma pessoa, mas todo lançamento no Mega precisa estar vinculado a um usuário. Este parâmetro diz qual usuário será registrado como responsável pelas notas que o servidor gerar.
O que preencher: o código de um usuário que exista e esteja ativo no Mega, e que tenha permissão para emitir notas fiscais. A recomendação é criar um usuário exclusivo para essa finalidade (por exemplo, “INTEGRACAO NF”), assim fica fácil identificar nos relatórios e no histórico o que foi feito automaticamente e o que foi feito por uma pessoa.
Este é o único parâmetro que impede o servidor de iniciar. Se você preencher com zero, com um valor negativo ou com um texto que não seja número, o servidor não sobe e registra no log a mensagem indicando que o usuário não está configurado. Nenhuma nota será processada até corrigir.
THREADS — quantas notas ao mesmo tempo
Pense em cada “thread” como um atendente. Com o valor 1, o servidor tem um atendente: ele pega uma nota, termina, e só então pega a próxima. Com o valor 4, ele tem quatro atendentes trabalhando em paralelo, e a fila anda quatro vezes mais rápido.
O que preencher:
| Valor | Efeito |
|---|---|
| 0 | Pausa o processamento. O servidor continua ligado, mas não pega nenhuma nota. Útil para interromper temporariamente a integração sem desligar o servidor. |
| 1 | Processamento sequencial, uma nota por vez. É o valor de fábrica e o mais conservador. |
| 2 a 4 | Faixa recomendada para a maioria dos ambientes. Bom equilíbrio entre velocidade e consumo do banco de dados. |
| 5 ou 6 | Volume alto. Use apenas se a fila estiver realmente acumulando e o servidor de banco tiver folga. |
O máximo aceito é 6. Se você digitar 10, o servidor não avisa e não dá erro: ele simplesmente volta para 1 atendente. Portanto, confira o valor com atenção, porque um número acima do limite deixa a integração mais lenta em vez de mais rápida.
Como decidir: comece com 1 ou 2. Se as notas estiverem demorando para sair da fila, aumente de um em um e observe. Se o banco de dados começar a ficar pesado nos horários de pico, reduza.
INTERVALO — de quanto em quanto tempo olhar a fila
Define a pausa entre uma verificação da fila e a próxima. O valor é sempre em segundos.
O que preencher:
| Valor | Comportamento |
|---|---|
| 10 a 30 | Resposta rápida. Boa escolha quando as notas precisam sair quase na hora em que entram. |
| 60 | Valor de fábrica. Verifica a fila uma vez por minuto. Atende bem a maioria dos casos. |
| 300 | Cinco minutos. Adequado quando o volume é baixo e não há urgência. |
Recomendação: não use valores muito baixos, como 1 ou 2 segundos. O servidor faz uma consulta no banco de dados a cada verificação, e verificações excessivas geram carga desnecessária sem ganho real. Abaixo de 5 segundos não traz benefício prático.
Não preencha com 0. Isso desliga a verificação e o servidor fica ligado sem nunca olhar a fila.
FILTRO — restringir quais notas processar
Por padrão este campo fica vazio, e o servidor pega todas as notas pendentes da fila. Isso é o correto para praticamente todos os ambientes.
O filtro existe para situações específicas, por exemplo:
- Você tem mais de um servidor rodando e quer que cada um cuide de uma empresa/filial diferente.
- Você quer processar apenas as notas mais recentes durante uma migração ou um teste.
- Você precisa isolar temporariamente um grupo de notas que está causando problema.
Como preencher: o conteúdo é uma condição de consulta ao banco de dados. Ela deve ser escrita com a letra N antes do nome de cada campo. Exemplos:
N.ORG_IN_CODIGO = 1
Processa apenas as notas da organização de código 1.
N.ORG_IN_CODIGO = 1 AND N.NFW_DT_REGISTROINCLUIDO >= TRUNC(SYSDATE) - 7
Processa apenas as notas da organização 1 que entraram na fila nos últimos 7 dias.
Se a condição estiver escrita de forma incorreta, nenhuma nota será processada e o erro fica registrado no arquivo de log. A fila fica parada sem aviso na tela. Se você esquecer a letra N antes do nome do campo, o filtro não funciona. Este campo é uma configuração sensível — peça apoio da equipe técnica ou do suporte Mega antes de preenchê-lo. Em caso de dúvida, deixe vazio.
Quantidade de notas por verificação
Independente da configuração, o servidor pega no máximo 10 notas por verificação. Esse limite é fixo e não pode ser alterado pelo arquivo de configuração.
Isso significa que, para escoar uma fila grande, o que importa é a combinação dos dois parâmetros. Por exemplo, com INTERVALO de 30 segundos, o servidor faz 2 verificações por minuto, ou seja, até 20 notas por minuto. Se a fila estiver acumulando, reduzir o INTERVALO costuma ter mais efeito do que aumentar o THREADS.
Bloco pronto para copiar
Cole este bloco no MegaConfig.xml, antes da linha </DOCUMENT>. Depois ajuste os valores conforme a sua necessidade.
<!-- Server de importação automática de NF a partir das tabelas VEN_*WEB (SrvMegaNfIntegrador) -->
<SRVMEGAIMPNFWEB>
<!-- Código do usuário do ERP que executa a integração. Obrigatório maior que zero -->
<USUARIO>1</USUARIO>
<!-- Quantidade de notas processadas ao mesmo tempo. De 0 a 6. Zero pausa o processamento -->
<THREADS>3</THREADS>
<!-- Intervalo entre verificações da fila, em segundos -->
<INTERVALO>30</INTERVALO>
<!-- Filtro adicional. Deixe vazio para processar toda a fila -->
<FILTRO></FILTRO>
</SRVMEGAIMPNFWEB>
Configurações sugeridas por cenário
Ambiente com volume baixo (até algumas dezenas de notas por dia)
<THREADS>1</THREADS>
<INTERVALO>60</INTERVALO>
Ambiente com volume médio, precisa de agilidade
<THREADS>3</THREADS>
<INTERVALO>30</INTERVALO>
Ambiente com volume alto, fila acumulando
<THREADS>6</THREADS>
<INTERVALO>15</INTERVALO>
Pausar a integração temporariamente, sem desligar o servidor
<THREADS>0</THREADS>
Se algo não funcionar
| Sintoma | O que verificar |
|---|---|
| O servidor não inicia | O USUARIO está preenchido com um código válido e maior que zero? |
| As notas ficam paradas na fila e nada acontece | O THREADS está em 0? O FILTRO está preenchido e pode estar excluindo as notas? |
| Alterei o arquivo e nada mudou | O servidor foi parado e iniciado novamente depois de salvar? Sem reiniciar, a alteração não vale. |
| A fila anda, mas muito devagar | Reduza o INTERVALO e/ou aumente o THREADS. Confira se o THREADS não passou de 6. |
| Notas com status de erro | Consulte a tela “Integração de NF Web”, aba de erros. A mensagem do problema fica registrada em cada nota. Após corrigir, use a ação Liberar para reprocessar. |
Regras de ouro
- Sempre faça backup do
MegaConfig.xmlantes de alterar. - Sempre reinicie o servidor depois de salvar. Sem isso, nada muda.
- Mude um parâmetro por vez e observe o resultado antes da próxima alteração.
- Em dúvida sobre o
FILTRO, deixe vazio. É a opção segura.
Como iniciar o servidor automaticamente (AUTOSTART)
O bloco <AUTOSTART> do MegaConfig.xml é compartilhado entre os dois servidores. Ao configurá-lo, revise também as tags do Financeiro para NF Web — os detalhes de cada uma estão em Configuração do server Financeiro para NF Web (SrvMegaFinancNfWeb).
Como fazer
- Faça uma cópia de segurança do
MegaConfig.xml. - Na máquina servidora, abra o Prompt de Comando e digite
hostname. Anote o nome. - Abra o
MegaConfig.xmlcom o Bloco de Notas e localize a seção<AUTOSTART>. - Dentro dela, crie (ou complete) o bloco com o nome da máquina:
<AUTOSTART>
<NOME_DA_MAQUINA>
<DEFAULT>N</DEFAULT>
<SRVMEGANFINTEGRADOR>S</SRVMEGANFINTEGRADOR>
<SRVMEGAFINANCNFWEB>S</SRVMEGAFINANCNFWEB>
</NOME_DA_MAQUINA>
</AUTOSTART>
- Salve o arquivo.
- Feche e abra novamente o MegaServerStart (ícone na área de notificação do Windows).
S = liga automaticamente. N = não liga.
Nome da tag de cada servidor
| Servidor | Tag no AUTOSTART |
|---|---|
| Integrador de Notas Fiscais Web | SRVMEGANFINTEGRADOR |
| Financeiro para NF Web | SRVMEGAFINANCNFWEB |
Cuidados
Cuidado com o nome da tag deste servidor. No AUTOSTART é SRVMEGANFINTEGRADOR, e não SRVMEGAIMPNFWEB (esse é só o nome da seção de parâmetros). Errando o nome, o servidor não sobe e nenhuma mensagem de erro aparece. Se você está configurando os dois servidores juntos, confira também a tag do Financeiro para NF Web em Configuração do server Financeiro para NF Web (SrvMegaFinancNfWeb).
- Cuidado com nome repetido. Se o mesmo servidor aparecer duas vezes no bloco, o MegaServerStart não inicia e nenhum servidor da máquina sobe. Revise o bloco antes de salvar.
- Cuidado com a linha
DEFAULT. ComS, ela liga todos os servidores da instalação e ignora a sua lista. MantenhaN. - Cuidado com o nome da máquina. Use o da máquina servidora, não o da sua estação. Se o nome começar com número, escreva o bloco como
<COMPUTADOR_NOME>. - Cuidado ao concluir que não funcionou. A primeira tentativa ocorre poucos segundos após abrir o MegaServerStart, mas as seguintes são espaçadas (até 25 minutos). Aguarde alguns minutos antes de mexer de novo.
- Confirme que
<USAMEGACONNECTIONMANAGER>S</USAMEGACONNECTIONMANAGER>está comS. Se estiverN, o AUTOSTART é ignorado — acione a equipe técnica, não altere por conta própria. - Não altere nem remova a linha
SRVMEGARUNNER, se existir. - Em servidores Linux esta seção não tem efeito. Trate a inicialização automática com o suporte Mega.
Conferir se subiu
Gerenciador de Tarefas (Ctrl + Shift + Esc), aba “Detalhes”, procure por SrvMegaNfIntegrador.exe e SrvMegaFinancNfWeb.exe.
English
Español

English
Español

