Skip to content

Latest commit

 

History

History
231 lines (173 loc) · 5.57 KB

File metadata and controls

231 lines (173 loc) · 5.57 KB

Exemplos de Uso - ProcessarLoteNFe

Cenários Comuns de Uso

1. Processamento Básico de Lote

Cenário: Você tem uma pasta com 50 arquivos XML de NF-e e precisa extrair códigos de produto.

Configuração:

# No arquivo ProcessarLoteNFe.ps1, linha 21
$pastaOrigem = "/Users/usuario/Documents/NFes"

Execução:

pwsh -NoProfile -Command "& './ProcessarLoteNFe.ps1'"

Resultado Esperado:

Iniciando o processo de automação (v2.2)...
Encontrados 50 arquivos XML para processar.
--------------------------------------------------------
[PROCESSANDO]: NF001.xml
  [Item 1]: PADRÃO ENCONTRADO! | Alterando cProd de "001" para "12345"
  [Item 2]: PADRÃO ENCONTRADO! | Alterando cProd de "002" para "67890"
 -> Concluído. 15 alterações salvas como 'arquivoImportacao_NF001.xml' na pasta de origem.

[PROCESSANDO]: NF002.xml
  [Item 1]: PADRÃO ENCONTRADO! | Alterando cProd de "001" para "54321"
 -> Concluído. 8 alterações salvas como 'arquivoImportacao_NF002.xml' na pasta de origem.

--------------------------------------------------------
✅ Processo em lote finalizado.

2. Processamento com Diferentes Padrões de Código

Cenário: Seus XMLs têm diferentes formatos de código na tag <infAdProd>.

Exemplos de Padrões Reconhecidos:

Padrão 1: "Código do produto: 12345"

<infAdProd>Código do produto: 12345</infAdProd>

Resultado: cProd será alterado para 12345

Padrão 2: "Ref: 67890"

<infAdProd>Ref: 67890</infAdProd>

Resultado: cProd será alterado para 67890

Padrão 3: "Produto 54321"

<infAdProd>Produto 54321</infAdProd>

Resultado: cProd será alterado para 54321

Padrão 4: "Referência 98765"

<infAdProd>Referência 98765</infAdProd>

Resultado: cProd será alterado para 98765

3. Processamento com Arquivos Mistos

Cenário: Você tem uma pasta com arquivos já processados e novos arquivos.

Estrutura da Pasta:

/Users/usuario/Documents/NFes/
├── NF001.xml                    # Arquivo original
├── arquivoImportacao_NF002.xml  # Arquivo já processado
├── NF003.xml                    # Arquivo original
└── NF004.xml                    # Arquivo original

Execução:

pwsh ProcessarLoteNFe.ps1

Resultado:

Iniciando o processo de automação (v2.2)...
Encontrados 4 arquivos XML para processar.
--------------------------------------------------------
[IGNORANDO]: O arquivo arquivoImportacao_NF002.xml já é um arquivo processado.

[PROCESSANDO]: NF001.xml
  [Item 1]: PADRÃO ENCONTRADO! | Alterando cProd de "001" para "12345"
 -> Concluído. 12 alterações salvas como 'arquivoImportacao_NF001.xml' na pasta de origem.

[PROCESSANDO]: NF003.xml
 -> Concluído. Nenhuma alteração necessária para este arquivo.

[PROCESSANDO]: NF004.xml
  [Item 1]: PADRÃO ENCONTRADO! | Alterando cProd de "001" para "67890"
 -> Concluído. 5 alterações salvas como 'arquivoImportacao_NF004.xml' na pasta de origem.

--------------------------------------------------------
✅ Processo em lote finalizado.

4. Troubleshooting e Debugging

Cenário: Arquivo sem Padrões Reconhecidos

XML de Entrada:

<infAdProd>Descrição do produto sem código</infAdProd>

Resultado:

[PROCESSANDO]: NF005.xml
 -> Concluído. Nenhuma alteração necessária para este arquivo.

Cenário: XML Malformado

Resultado:

[PROCESSANDO]: NF006.xml
Ocorreu um erro crítico ao processar o arquivo 'NF006.xml': 
The 'nfe' prefix is not defined.

5. Configurações Avançadas

Personalização do Prefixo de Saída

Configuração:

# Linha 24 do script
$prefixoArquivoSaida = "NF_Processada"

Resultado:

Arquivos gerados: NF_Processada_NF001.xml

Processamento em Pasta Específica

Configuração para Windows:

$pastaOrigem = "C:\Users\usuario\Documents\NotasFiscais"

Configuração para macOS/Linux:

$pastaOrigem = "/home/usuario/documents/notas-fiscais"

6. Integração com Sistemas

Execução via Cron (Linux/macOS)

Crontab:

# Executar diariamente às 8h
0 8 * * * cd /path/to/ProcessarLoteNFe && pwsh ProcessarLoteNFe.ps1

Execução via Task Scheduler (Windows)

Comando:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\path\to\ProcessarLoteNFe.ps1"

7. Monitoramento e Logs

Verificação de Logs

Execução com Log Detalhado:

pwsh ProcessarLoteNFe.ps1 | tee processamento.log

Análise de Resultados:

# Contar arquivos processados
ls arquivoImportacao_*.xml | wc -l

# Verificar tamanho dos arquivos
ls -la arquivoImportacao_*.xml

8. Backup e Segurança

Backup Automático

Antes da execução:

# Criar backup dos arquivos originais
cp -r /path/to/xmls /path/to/backup/$(date +%Y%m%d_%H%M%S)

Verificação de Integridade

Após a execução:

# Verificar se todos os arquivos foram processados
echo "Arquivos originais: $(ls *.xml | grep -v arquivoImportacao | wc -l)"
echo "Arquivos processados: $(ls arquivoImportacao_*.xml | wc -l)"

Dicas e Boas Práticas

✅ Recomendado

  • Sempre faça backup antes de processar
  • Teste com poucos arquivos primeiro
  • Monitore os logs de execução
  • Use caminhos absolutos para evitar problemas

❌ Evitar

  • Processar arquivos já modificados
  • Executar sem verificar permissões
  • Ignorar mensagens de erro
  • Usar caminhos com espaços sem aspas

Exemplos v2.2.0 - Dezembro 2024