Ir para conteúdo
  • Cadastre-se

dev botao

Erro No Xml Da Nfe


Ver Solução Respondido por Régys Silveira,
  • Este tópico foi criado há 3300 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde pessoal sou novo na área e estou com o seguinte problema, quando gero a NFe com apenas um produto o xml fica no formato correto, porém quanto eu gero uma NFe com mais de um produto o xml fica com o formato conforme abaixo:

 

32000000055102155152015-04-11T00:00:00-03:002015-04-11T00:00:00-03:00113201506110210001.0.0.004242926000144G. DA SILVA MEETIDINHO AR CONDICIONADOAV SILVIO A [email protected] SILVANO3201506COLATINAES297031491058BRASIL2737212229082127476357944751201108849542771NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCALRUA SAO BRAZ143APTO 101 - 1 ANDARPERPETUO SOCORRO3201506COLATINAES297014401058BRASIL27312005142415COMPRESSOR DENSO MERCEDEZ 1938 10P15841480385102

 

// ****************************************

segue abaixo o código em delphi:

 

     if not DM.ItemNotaFiscal.Eof then
     repeat
       with Det.Add do
       begin
         Prod.nItem    := DM.ItemNotaFiscalITEM.Value;
         Prod.cProd    := IntToStr(DM.ItemNotaFiscalIDPRODUTOS.AsInteger);
         Prod.cEAN     := ''; //DM.ItemNotaFiscalBarras.AsString;
         Prod.xProd    := DM.ItemNotaFiscalDESCRICAO.AsString;
         Prod.NCM      := DM.ItemNotaFiscalNCM.AsString;
         Prod.EXTIPI   := '';
         Prod.CFOP     := DM.ItemNotaFiscalCFOP.Value;
         Prod.uCom     := DM.ItemNotaFiscalUNID.AsString;
         Prod.qCom     := DM.ItemNotaFiscalQUANT.AsFloat;
         Prod.vUnCom   := DM.ItemNotaFiscalVALOR_UNITARIO.Value;
         Prod.vProd    := DM.ItemNotaFiscalVALOR_TOTAL.Value;
         Prod.vUnTrib  := DM.ItemNotaFiscalVALOR_UNITARIO.Value;
         Prod.cEANTrib := '';
         Prod.uTrib    := DM.ItemNotaFiscalUNID.AsString;
         Prod.qTrib    := DM.ItemNotaFiscalQUANT.AsFloat;
         Prod.vFrete   := 0; //DM.NotaFiscalVALOR_FRETE.Value;
         Prod.vSeg     := 0; //DM.NotaFiscalVALOR_SEGURO.Value;
         Prod.vDesc    := 0;
         Prod.vOutro   := 0;
 
         with Imposto do
         begin
            // lei da transparencia nos impostos
           vTotTrib := 0;
 
           with ICMS do
           begin
             CST          := cst00;
             CSOSN        := csosn102;
             ICMS.orig    := oeNacional;
             ICMS.modBC   := dbiValorOperacao;
             ICMS.vBC     := 100;
             ICMS.pICMS   := 18;
             ICMS.vICMS   := 18;
             ICMS.modBCST := dbisMargemValorAgregado;
             ICMS.pMVAST  := 0;
             ICMS.pRedBCST:= 0;
             ICMS.vBCST   := 0;
             ICMS.pICMSST := 0;
             ICMS.vICMSST := 0;
             ICMS.pRedBC  := 0;
           end;
 
           with IPI do
             begin
               CST      := ipi99 ;
               clEnq    := '999';
               CNPJProd := '';
               cSelo    := '';
               qSelo    := 0;
               cEnq     := '';
 
               vBC    := 100;
               qUnid  := 0;
               vUnid  := 0;
               pIPI   := 5;
               vIPI   := 5;
             end;
 
            with II do
             begin
               vBc      := 0;
               vDespAdu := 0;
               vII      := 0;
               vIOF     := 0;
             end;
 
            with PIS do
             begin
               CST      := pis99;
               PIS.vBC  := 0;
               PIS.pPIS := 0;
               PIS.vPIS := 0;
 
               PIS.qBCProd   := 0;
               PIS.vAliqProd := 0;
               PIS.vPIS      := 0;
             end;
 
            with PISST do
             begin
               vBc       := 0;
               pPis      := 0;
               qBCProd   := 0;
               vAliqProd := 0;
               vPIS      := 0;
             end;
 
            with COFINS do
             begin
               CST            := cof99;
               COFINS.vBC     := 0;
               COFINS.pCOFINS := 0;
               COFINS.vCOFINS := 0;
 
               COFINS.qBCProd   := 0;
               COFINS.vAliqProd := 0;
             end;
 
            with COFINSST do
             begin
               vBC       := 0;
               pCOFINS   := 0;
               qBCProd   := 0;
               vAliqProd := 0;
               vCOFINS   := 0;
             end;
         end;
       end;
//         Det.Add.Prod.infAdProd     := 'Informacao Adicional do Produto';
// *****************************************************************************
//  Impostos
// *****************************************************************************
        with Imposto do
         begin
           // lei da transparencia nos impostos
           vTotTrib := DM.ItemNotaFiscalTOTAL_TRIBUTO.Value;
           with ICMS do
           begin
             if DM.ItemNotaFiscalCST.Value = '000' then
             begin
               CST      := cst00;
               CSOSN    := csosn102;
               orig     := oeNacional;
               modBC    := dbiValorOperacao;
               vBC      := DM.ItemNotaFiscalBASE_ICMS.Value;
               pICMS    := DM.ItemNotaFiscalICMS.Value;
               vICMS    := DM.ItemNotaFiscalVALOR_ICMS.Value;
            end
             else if DM.ItemNotaFiscalCST.Value = '060' then  // 3 - Sub. Tributaria
             begin
               CST      := cst60;
               CSOSN    := csosn500;
               orig     := oeNacional;
               modBC    := dbiValorOperacao;
               vBC      := DM.ItemNotaFiscalVALOR_TOTAL.AsFloat;
               pICMS    := 0;
               vICMS    := 0;
               modBCST  := dbisMargemValorAgregado;
               pMVAST   := 0;
               pRedBCST := 0;
               vBCST    := 0;
               pICMSST  := DM.ItemNotaFiscalICMS.AsFloat;
               vICMSST  := (DM.ItemNotaFiscalVALOR_TOTAL.AsFloat * DM.ItemNotaFiscalICMS.AsFloat) / 100;
               pRedBC   := 0;
             end
             else
             if (DM.ItemNotaFiscalCST.Value = '040') or   // 1 - Isento
                (DM.ItemNotaFiscalCST.Value = '020') then // 2 - Não tributado
             begin
             with II do
             begin
               vBc      := 0;
               vDespAdu := 0;
               vII      := 0; //DM.ItemNotaFiscalVALOR_TOTAL.AsFloat;
               vIOF     := 0;
             end;
             end;
           end;
         end;
       end;
     DM.ItemNotaFiscal.Next;
     until DM.ItemNotaFiscal.Eof;
// *****************************************************************************

32150404242926000144550010000000051000000050-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Na verdade é o Internet Explorer que não entende caracteres especiais devidamente em arquivos XML por isso lhe disse para não tomar ele por base para validação.

 

No componente ACBrNFe existe uma propriedade "RemoveAcentos", utilize ela caso queira removê-los do XML final, assim não precisará fazê-lo manualmente.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.