Ir para conteúdo
  • Cadastre-se

dev botao

Gerando 1º NFe


GAVOHA
  • Este tópico foi criado há 2784 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, senhores.

É a primeira vez que estou gerando uma NFe. Segui orientações de outros posts de vocês mas estou encontrando dificuldades em identificar meu erro:

(mensagem de erro anexo)

 

Se alguém puder me ajudar...

AcbrNFe1.Configuracoes.Arquivos.PathSchemas    := 'C:\Gavoha\Programacao\Componente\ACBr_Trunk2\Exemplos\ACBrDFe\Schemas\NFe';
ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := 'C:\certificado.pfx';
ACBrNFe1.SSL.CarregarCertificado;
ACBrNFe1.NotasFiscais.Clear;

 with ACBrNFe1.NotasFiscais.Add.NFe do
  begin
    Ide.tpAmb                    :=  Variant('1'); //0=Produção  1=Homologação
    Ide.natOp                    := 'VENDA PRODUCAO DO ESTAB.';
    Ide.cNF                      := 1;
    Ide.nNF                      := 000000001;
    Ide.serie                    := 1;
    Ide.dEmi                     := Date;
    Ide.dSaiEnt                  := Date ;
    Ide.hSaiEnt                  := Now;
    Ide.tpNF                     := Variant('1'); // 0-Entrada 1-Saída
    Ide.indPag                   := Variant('0');
    Ide.cUF                      := 15;
    Ide.cMunFG                   := 1503093;

    Emit.CNPJCPF                 := '18382083000196';
    Emit.IE                      := '';
    Emit.xNome                   := 'HOLY COMERCIO E SERVICOS EIRELI';
    Emit.xFant                   := 'HOLY COMERCIO';
    Emit.EnderEmit.fone          := '1125929769';
    Emit.EnderEmit.xLgr          := 'R DO PEREIRO';
    Emit.EnderEmit.nro           := '2139';
    Emit.EnderEmit.xCpl          := '';
    Emit.EnderEmit.xBairro       := 'PITIMBU';
    Emit.EnderEmit.cMun          :=  2408102;
    Emit.EnderEmit.xMun          := 'NATAL';
    Emit.EnderEmit.UF            := 'RN';

    Dest.CNPJCPF                 := '11929429000184';
    Dest.EnderDest.CEP           := 59088100;
    Dest.EnderDest.xLgr          := 'Av. Ayrton Senna';
    Dest.EnderDest.nro           := '835';
    Dest.EnderDest.xCpl          := '';
    Dest.EnderDest.xBairro       := 'Neopolis';
    Dest.EnderDest.cMun          := 2408102;
    Dest.EnderDest.xMun          := 'Natal';
    Dest.EnderDest.UF            := 'RN';
    Dest.EnderDest.fone          := '1532599600';
    Dest.IE                      := '';
    Dest.xNome                   := 'ML Antunes de Carvalho';

    //--- INICIO.....ITENS DA NOTA DE PRODUTO

    Det.Add.Prod.nItem           := iContador; // Número sequencial, para cada item deve ser incrementado
    Det.Add.Prod.cEAN            := '2156'; // Codigo de Barra
    Det.Add.Prod.cProd           := '1304040'; // Codigo Produto
    Det.Add.Prod.xProd           := 'Computador Positivo Master';
    Det.Add.Prod.NCM             := '94051010'; //Codigo oficial do produto
    Det.Add.Prod.CEST            := '0400';
    Det.Add.Prod.CFOP            := '5405';
    Det.Add.Prod.uCom            := 'Unid.';
    Det.Add.Prod.qCom            := 1;
    Det.Add.Prod.vUnCom          := 1460;
    Det.Add.Prod.vProd           := 1460;
//    Det.Add.Prod.cEANTrib        := '7896523206646';
//    Det.Add.Prod.cEANTrib        := '84715010';
    Det.Add.Prod.vOutro          := 0;
    Det.Add.Prod.vFrete          := 0;
    Det.Add.Prod.vSeg            := 0;
    Det.Add.Prod.vDesc           := 0;
    Det.Add.infAdProd            := 'Iformações Adicionais';

    Det.Add.Imposto.vTotTrib     := 0;

     //Imposto : ICMS

     Det.Add.Imposto.ICMS.CST     := Variant('00'); //ou 10, 20,30,40,41,50,51,60,70,90
     Det.Add.Imposto.ICMS.orig    := Variant('0'); // pode ser de 0 à 8
     Det.Add.Imposto.ICMS.modBC   := Variant('1'); // Margem.. pode ser 0,1,2
     Det.Add.Imposto.ICMS.vBC     := 0;
     Det.Add.Imposto.ICMS.pICMS   := 0;
     Det.Add.Imposto.ICMS.vICMS   := 0;
     Det.Add.Imposto.ICMS.modBCST := Variant('0')  ;//Opção de 0 à 5
     Det.Add.Imposto.ICMS.pMVAST  := 0;
     Det.Add.Imposto.ICMS.pRedBCST:= 0;
     Det.Add.Imposto.ICMS.vBCST   := 0;
     Det.Add.Imposto.ICMS.pICMSST := 0;
     Det.Add.Imposto.ICMS.vICMSST := 0;
     Det.Add.Imposto.ICMS.pRedBC  := 0;

     //Imposto : IPI
      Det.Add.Imposto.IPI.CST      := Variant('99') ;
      Det.Add.Imposto.IPI.clEnq    := '999';
      Det.Add.Imposto.IPI.CNPJProd := '';
      Det.Add.Imposto.IPI.cSelo    := '';
      Det.Add.Imposto.IPI.qSelo    := 0;
      Det.Add.Imposto.IPI.cEnq     := '';

      Det.Add.Imposto.IPI.vBC    := 0;
      Det.Add.Imposto.IPI.qUnid  := 0;
      Det.Add.Imposto.IPI.vUnid  := 0;
      Det.Add.Imposto.IPI.pIPI   := 0;
      Det.Add.Imposto.IPI.vIPI   := 0;

      //imposto: II
      Det.Add.Imposto.II.vBc      := 0;
      Det.Add.Imposto.II.vDespAdu := 0;
      Det.Add.Imposto.II.vII      := 0;
      Det.Add.Imposto.II.vIOF     := 0;

      //Imposto : PIS
      Det.Add.Imposto.PIS.CST       := Variant('99');
      Det.Add.Imposto.PIS.vBC       := 0;
      Det.Add.Imposto.PIS.pPIS      := 0;
      Det.Add.Imposto.PIS.vPIS      := 0;
      Det.Add.Imposto.PIS.qBCProd   := 0;
      Det.Add.Imposto.PIS.vAliqProd := 0;
      Det.Add.Imposto.PIS.vPIS      := 0;

      //Imposto : PISST
      Det.Add.Imposto.PISST.vBc       := 0;
      Det.Add.Imposto.PISST.pPis      := 0;
      Det.Add.Imposto.PISST.qBCProd   := 0;
      Det.Add.Imposto.PISST.vAliqProd := 0;
      Det.Add.Imposto.PISST.vPIS      := 0;

      //Imposto : COFINS
       Det.Add.Imposto.COFINS.CST       := Variant('99');
       Det.Add.Imposto.COFINS.vBC       := 0;
       Det.Add.Imposto.COFINS.pCOFINS   := 0;
       Det.Add.Imposto.COFINS.vCOFINS   := 0;
       Det.Add.Imposto.COFINS.qBCProd   := 0;
       Det.Add.Imposto.COFINS.vAliqProd := 0;

       //Imposto : COFINSST
       Det.Add.Imposto.COFINSST.vBC       := 0;
       Det.Add.Imposto.COFINSST.pCOFINS   := 0;
       Det.Add.Imposto.COFINSST.qBCProd   := 0;
       Det.Add.Imposto.COFINSST.vAliqProd := 0;
       Det.Add.Imposto.COFINSST.vCOFINS   := 0;

       //ISSQN
       Det.Add.Imposto.ISSQN.vBC          := 0;
       Det.Add.Imposto.ISSQN.vAliq        := 0;
       Det.Add.Imposto.ISSQN.vISSQN       := 0;
       Det.Add.Imposto.ISSQN.cMunFG       := 0;
       Det.Add.Imposto.ISSQN.cListServ    := '0';

    //--- FIM ..... ITENS DA NOTA DE PRODUTO

      Total.ICMSTot.vBC     := 0;
      Total.ICMSTot.vICMS   := 0;
      Total.ICMSTot.vBCST   := 0;
      Total.ICMSTot.vST     := 0;
      Total.ICMSTot.vProd   := 0;
      Total.ICMSTot.vFrete  := 0;
      Total.ICMSTot.vSeg    := 0;
      Total.ICMSTot.vDesc   := 0;
      Total.ICMSTot.vII     := 0;
      Total.ICMSTot.vIPI    := 0;
      Total.ICMSTot.vPIS    := 0;
      Total.ICMSTot.vCOFINS := 0;
      Total.ICMSTot.vOutro  := 0;
      Total.ICMSTot.vNF     := 1460;
      Total.ICMSTot.vTotTrib := 0;

      Total.ISSQNtot.vServ   := 0;
      Total.ISSQNTot.vBC     := 0;
      Total.ISSQNTot.vISS    := 0;
      Total.ISSQNTot.vPIS    := 0;
      Total.ISSQNTot.vCOFINS := 0;

      Total.retTrib.vRetPIS    := 0;
      Total.retTrib.vRetCOFINS := 0;
      Total.retTrib.vRetCSLL   := 0;
      Total.retTrib.vBCIRRF    := 0;
      Total.retTrib.vIRRF      := 0;
      Total.retTrib.vBCRetPrev := 0;
      Total.retTrib.vRetPrev   := 0;

      Transp.modFrete            := Variant('9');  //Poderia ser 0,1,2,9
      Transp.Transporta.CNPJCPF  := '';
      Transp.Transporta.xNome    := '';
      Transp.Transporta.IE       := '';
      Transp.Transporta.xEnder   := '';
      Transp.Transporta.xMun     := '';
      Transp.Transporta.UF       := '';

      Transp.retTransp.vServ    := 0;
      Transp.retTransp.vBCRet   := 0;
      Transp.retTransp.pICMSRet := 0;
      Transp.retTransp.vICMSRet := 0;
      Transp.retTransp.CFOP     := '';
      Transp.retTransp.cMunFG   := 0;

      Transp.veicTransp.placa := '';
      Transp.veicTransp.UF    := '';
      Transp.veicTransp.RNTC  := '';

      //Valores de Cobranca
      Cobr.fat.nFat            := '1';
      Cobr.fat.vOrig           := 0;
      Cobr.fat.vDesc           := 0;
      Cobr.fat.vLiq            := 0;

      //Totais
      Total.ICMSTot.vBC         := 0;
      Total.ICMSTot.vICMS       := 0;
      Total.ICMSTot.vICMSDeson  := 0;
      Total.ICMSTot.vProd       := 1460;
      Total.ICMSTot.vNF         := 1460;
      Total.ICMSTot.vFrete      := 0;
      Total.ICMSTot.vSeg        := 0;
      Total.ICMSTot.vDesc       := 0;
      Total.ICMSTot.vTotTrib    := 0;
  end;

// gerar arquivo XML
ACBrNFe1.NotasFiscais.Assinar;

ACBrNFe1.NotasFiscais[0].GerarXML;
ACBrNFe1.NotasFiscais[0].GravarXML;

ACBrNFe1.NotasFiscais.GerarNFe;
ACBrNFe1.NotasFiscais.Validar;

ShowMessage('Arquivo gerado em: '+ACBrNFe1.NotasFiscais.Items[0].NomeArq);

 

 

ERRO.png

Link para o comentário
Compartilhar em outros sites

Sim... iniciei Carlos,.... Na verdade esse é apenas um teste... atribui o valor 1 a esse contador porque posterior eu iria adicionar outros itens de produto (mas ainda não consegui passar dai).

 

Depois vou fazer o Loop para outros produtos

Editado por GAVOHA
Faltou uma informação
Link para o comentário
Compartilhar em outros sites

Faça a inclusão dos itens utilizando o With, semelhante ao que você fez com a NFe.

with Det.Add do
begin
   Prod.nItem := iContador;
   Prod.cProd := "1304040";
   Prod.xProd := "Descricao...";
...

 

  • Curtir 1
Consultor SAC ACBr

Celso Marigo Junior

Conheça o Portal do Projeto ACBr
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

 

Link para o comentário
Compartilhar em outros sites

Iniciei o Loop.... mas permaneceu

(Fiquei na dúvida se encerrei o Loop no lugar correto)

    //--- INICIO.....ITENS DA NOTA DE PRODUTO
    iContador := 1;
                     {Posterior 1 será o RecordCount da Tb Detalhe}
    while iContador < 1 do
    begin
    Det.Add.Prod.nItem           := iContador; // Número sequencial, para cada item deve ser incrementado
    Det.Add.Prod.cEAN            := '2156'; // Codigo de Barra
    Det.Add.Prod.cProd           := '1304040'; // Codigo Produto
    Det.Add.Prod.xProd           := 'Computador Positivo Master';
    Det.Add.Prod.NCM             := '94051010'; //Codigo oficial do produto
    Det.Add.Prod.CEST            := '0400';
    Det.Add.Prod.CFOP            := '5405';
    Det.Add.Prod.uCom            := 'Unid.';
    Det.Add.Prod.qCom            := 1;
    Det.Add.Prod.vUnCom          := 1460;
    Det.Add.Prod.vProd           := 1460;


//    Det.Add.Prod.cEANTrib        := '7896523206646';
//    Det.Add.Prod.cEANTrib        := '84715010';
    Det.Add.Prod.vOutro          := 0;
    Det.Add.Prod.vFrete          := 0;
    Det.Add.Prod.vSeg            := 0;
    Det.Add.Prod.vDesc           := 0;
    Det.Add.infAdProd            := 'Iformações Adicionais';

    Det.Add.Imposto.vTotTrib     := 0;

     //Imposto : ICMS

     Det.Add.Imposto.ICMS.CST     := Variant('00'); //ou 10, 20,30,40,41,50,51,60,70,90
     Det.Add.Imposto.ICMS.orig    := Variant('0'); // pode ser de 0 à 8
     Det.Add.Imposto.ICMS.modBC   := Variant('1'); // Margem.. pode ser 0,1,2
     Det.Add.Imposto.ICMS.vBC     := 0;
     Det.Add.Imposto.ICMS.pICMS   := 0;
     Det.Add.Imposto.ICMS.vICMS   := 0;
     Det.Add.Imposto.ICMS.modBCST := Variant('0')  ;//Opção de 0 à 5
     Det.Add.Imposto.ICMS.pMVAST  := 0;
     Det.Add.Imposto.ICMS.pRedBCST:= 0;
     Det.Add.Imposto.ICMS.vBCST   := 0;
     Det.Add.Imposto.ICMS.pICMSST := 0;
     Det.Add.Imposto.ICMS.vICMSST := 0;
     Det.Add.Imposto.ICMS.pRedBC  := 0;

     //Imposto : IPI
      Det.Add.Imposto.IPI.CST      := Variant('99') ;
      Det.Add.Imposto.IPI.clEnq    := '999';
      Det.Add.Imposto.IPI.CNPJProd := '';
      Det.Add.Imposto.IPI.cSelo    := '';
      Det.Add.Imposto.IPI.qSelo    := 0;
      Det.Add.Imposto.IPI.cEnq     := '';

      Det.Add.Imposto.IPI.vBC    := 0;
      Det.Add.Imposto.IPI.qUnid  := 0;
      Det.Add.Imposto.IPI.vUnid  := 0;
      Det.Add.Imposto.IPI.pIPI   := 0;
      Det.Add.Imposto.IPI.vIPI   := 0;

      //imposto: II
      Det.Add.Imposto.II.vBc      := 0;
      Det.Add.Imposto.II.vDespAdu := 0;
      Det.Add.Imposto.II.vII      := 0;
      Det.Add.Imposto.II.vIOF     := 0;

      //Imposto : PIS
      Det.Add.Imposto.PIS.CST       := Variant('99');
      Det.Add.Imposto.PIS.vBC       := 0;
      Det.Add.Imposto.PIS.pPIS      := 0;
      Det.Add.Imposto.PIS.vPIS      := 0;
      Det.Add.Imposto.PIS.qBCProd   := 0;
      Det.Add.Imposto.PIS.vAliqProd := 0;
      Det.Add.Imposto.PIS.vPIS      := 0;

      //Imposto : PISST
      Det.Add.Imposto.PISST.vBc       := 0;
      Det.Add.Imposto.PISST.pPis      := 0;
      Det.Add.Imposto.PISST.qBCProd   := 0;
      Det.Add.Imposto.PISST.vAliqProd := 0;
      Det.Add.Imposto.PISST.vPIS      := 0;

      //Imposto : COFINS
       Det.Add.Imposto.COFINS.CST       := Variant('99');
       Det.Add.Imposto.COFINS.vBC       := 0;
       Det.Add.Imposto.COFINS.pCOFINS   := 0;
       Det.Add.Imposto.COFINS.vCOFINS   := 0;
       Det.Add.Imposto.COFINS.qBCProd   := 0;
       Det.Add.Imposto.COFINS.vAliqProd := 0;

       //Imposto : COFINSST
       Det.Add.Imposto.COFINSST.vBC       := 0;
       Det.Add.Imposto.COFINSST.pCOFINS   := 0;
       Det.Add.Imposto.COFINSST.qBCProd   := 0;
       Det.Add.Imposto.COFINSST.vAliqProd := 0;
       Det.Add.Imposto.COFINSST.vCOFINS   := 0;

       //ISSQN
       Det.Add.Imposto.ISSQN.vBC          := 0;
       Det.Add.Imposto.ISSQN.vAliq        := 0;
       Det.Add.Imposto.ISSQN.vISSQN       := 0;
       Det.Add.Imposto.ISSQN.cMunFG       := 0;
       Det.Add.Imposto.ISSQN.cListServ    := '0';
       iCOntador := iContador + 1;
      end;
     //--- FIM ..... ITENS DA NOTA DE PRODUTO

 

Link para o comentário
Compartilhar em outros sites

@GAVOHA, quando você coloca Det.Add esta adicionando um item ao componente. O problema não é o loop e sim a forma como você esta atribuindo o valor das propriedades.

Dentro do loop de itens só deve ter um Det.Add, faça como @Celso sugeriu.

Se você colocar Det.Add para cada propriedade (Tag) vai estar adicionando um item e preenchendo somente a propriedade em questão, ou seja, você esta adicionando vários itens e preenchendo apenas uma propriedade dele. Por isso a mensagem de validação tem varias tags sem o valor informado.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Tentei todas as opções de frente mas não deu...

     MODALIDADE E FRENTE PODE SER:
        0- Por conta do emitente;
        1- Por conta do destinatário/remetente;
        2- Por conta de terceiros;
        9- Sem frete.

      Transp.modFrete            := Variant('9');

Link para o comentário
Compartilhar em outros sites

48 minutos atrás, osmarbentojr disse:

Outra coisa, observei no seu código que seu código de barras do produto esta 2156, no envio da nota para a Sefaz não vai passar.
 De uma estudada no manual da sefaz para conhecer as regras de validação.

Eu fiquei na dúvida se era confiável porque o que achei é de 2015. É esse mesmo?

 

Em 02/09/2016 at 18:24, Patrick Alves disse:

Os valores para atribuição da propriedade modFrete são: [mfContaEmitente, mfContaDestinatario, mfContaTerceiros, mfSemFrete]


Transp.modFrete := mfSemFrete

Da uma olhada na Unit pcnConversao, nela vc tem uma série de funções que vão te ajudar a preencher esses campos.

Vou fazer como sugeriu,

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2784 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...