Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Após atualizar nosso sistema com update atual da ACBR quando vendemos sem identificar o cliente caso nosso cliente ID = 1 venda balcão passou 

dar erro de validação da nf mas não diz o erro exato.

Só vem: Project Administrativo.exe raised exception class EACBrNFeException with message 'Falha na validação dos dados da nota: 20005
'.

Ai pegamos o XML e pomos no analisar SEFAZ sefaz diz td ok não dá erro.  e Tecnospeed diz que precisa de campos do cliente mas não 

queremos identificar o cliente não é mesmo pra informamos esses campos então vejo que é falha do validador deles pra esse caso.


procedure TFrmNFCe.GerarNFC(NumNFe: String);
var
  icont: Integer;
  dDesconto, dDescProd: double;
  bRegra934, bCombustivel : Boolean;
  dIcmsDeson, dTotIcmsDeson,dTotIcmsMonoRet, dTotqBCMonoRet : double;
begin
  bRegra934       := False;
  bCombustivel    := False;
  dIcmsDeson      := 0;
  dTotIcmsDeson   := 0;
  dTotIcmsMonoRet := 0;
  dTotqBCMonoRet  := 0;
  With ACBrNFe1.NotasFiscais.Add.NFe do
  begin
    Ide.natOp := Copy(dm5.QrNotaFiscalCF_NOME.Value, 1, 60);
    Ide.indPag := ipVista;
    Ide.modelo := 65;
    //ide.modelo := Entrega;
    Ide.serie := dm.TbParamNFcSERIE_NFC.AsInteger;
    Ide.nNF := StrToInt(NumNFe);
    Ide.dEmi := now;
    Ide.dSaiEnt := now;
    Ide.hSaiEnt := now;
    Ide.tpNF := tnSaida;
    if dm.TbParamNFcFORM_EMI_NFC.Value = 0 then
      Ide.tpEmis := teNormal;
    if dm.TbParamNFcFORM_EMI_NFC.Value = 1 then
      Ide.tpEmis := teDPEC;
    if dm.TbParamNFcFORM_EMI_NFC.Value = 2 then
    begin
      Ide.tpEmis := teOffLine;
      Ide.dhCont := now;
      Ide.xJust := dm5.QrNotaFiscalJUST_CONTINGENCIA.Value;
    end;
    if dm.TbParamNFcAMB_DEST_NFC.Value = 2 then
      Ide.tpAmb := taHomologacao
    else
      Ide.tpAmb := taProducao;
    Ide.cUF      := UFtoCUF(dm.tbparamUF_EMP.Value);
    Ide.cMunFG   := StrToInt(dm.tbparamCODIGO_MUN.Value);
    Ide.finNFe   := fnNormal;
    Ide.tpImp    := tiNFCe;
    Ide.indFinal := cfConsumidorFinal;
    Ide.indPres  := pcPresencial;

    Ide.indIntermed := iiSemOperacao;
            {
    if True then
    begin
      Ide.cMunFGIBS :=dm.tbparamCODIGO_MUN.AsInteger;

      Ide.tpNFDebito := tdNenhum;
      Ide.tpNFCredito := tcNenhum;

      Ide.gCompraGov.tpEnteGov := tcgEstados;
      Ide.gCompraGov.pRedutor := 5;
      Ide.gCompraGov.tpOperGov := togFornecimento;
    end;
         }
    Emit.CNPJCPF := dm.TbParamCNPJ.Value;
    Emit.IE := dm.tbparamINSCEST.Value;
    Emit.xNome := dm.tbparamRAZAO_EMP.Value;
    Emit.xFant := dm.tbparamNOMEF_EMP.Value;
    Emit.EnderEmit.fone := dm.tbparamFONE1_EMP.Value;
    Emit.EnderEmit.CEP := StrToInt(dm.tbparamCEP_EMP.Value);
    Emit.EnderEmit.xLgr := dm.tbparamENDERECO_EMP.Value;
    Emit.EnderEmit.nro := dm.tbparamNUMERO_EMP.Value;
    Emit.EnderEmit.xCpl := dm.tbparamCOMPLEMENTO_EMP.Value;
    Emit.EnderEmit.xBairro := dm.tbparamBAIRRO_EMP.Value;
    Emit.EnderEmit.cMun := dm.tbparamCODIGO_MUN.AsInteger;
    // UPDATE 4.0
    Emit.EnderEmit.xMun := dm.tbparamMUN_NFE.Value;
    Emit.EnderEmit.UF := dm.tbparamUF_EMP.Value;
    Emit.EnderEmit.cPais := 1058;
    Emit.EnderEmit.xPais := 'BRASIL';
    Emit.IEST := '';
    if (dm.TbParamNFcTIPO_REGIME_NFC.Value = 1) then
      Emit.CRT := crtRegimeNormal;
    // (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)
    if (dm.TbParamNFcTIPO_REGIME_NFC.Value = 2) then
      Emit.CRT := crtSimplesNacional;
    // (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)
    if (dm.TbParamNFcTIPO_REGIME_NFC.Value = 3) then
      Emit.CRT := crtSimplesExcessoReceita;
    // (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)
    if dm5.QrNotaFiscalINDIEDEST.Value = 1 then
      Dest.indIEDest := inContribuinte;
    if dm5.QrNotaFiscalINDIEDEST.Value = 2 then
      Dest.indIEDest := inIsento;
    if dm5.QrNotaFiscalINDIEDEST.Value = 9 then
      begin
        Dest.indIEDest := inNaoContribuinte;
        Dest.xNome     := 'CONSUMIDOR';
      end;
    if dm5.QrNotaFiscalCODIGO_CLIENTE.Value <> 1 then
    begin
      if (Trim(dm5.QrNotaFiscalCPFCNPJ.Value) <> '') and
        (not dm5.QrNotaFiscalCPFCNPJ.IsNull) and
        (Trim(dm5.QrNotaFiscalCPFCNPJ.Value) <> '00000000000') and
        (Trim(dm5.QrNotaFiscalCPFCNPJ.Value) <> '00000000000000') then
        Dest.CNPJCPF := dm5.QrNotaFiscalCPFCNPJ.Value;
      Dest.ISUF := '';
      Dest.xNome := dm5.QrNotaFiscalNOMECLIENTE.Value;
      Dest.EnderDest.fone := Copy(dm5.QrNotaFiscalTELEFONE.Value, 1, 11);
      if not dm5.QrNotaFiscalCEP_CLIENTE.IsNull then
        Dest.EnderDest.CEP :=
          StrToInt(StringReplace(Trim(dm5.QrNotaFiscalCEP_CLIENTE.Value), '-',
          '', [rfReplaceAll]));
      Dest.EnderDest.xLgr := dm5.QrNotaFiscalEND_CLIENTE.Value;
      Dest.EnderDest.nro := dm5.QrNotaFiscalNUMERO_CLIENTE.Value;
      Dest.EnderDest.xCpl := dm5.QrNotaFiscalCOMP_CLIENTE.Value;
      Dest.EnderDest.xBairro := dm5.QrNotaFiscalBAI_CLIENTE.Value;
      Dest.EnderDest.cMun := StrToInt(dm5.QrNotaFiscalCODIGO_IBGE.Value);
      Dest.EnderDest.xMun := dm5.QrNotaFiscalCIDADE.Value;
      Dest.EnderDest.UF := dm5.QrNotaFiscalUF_CLIENTE.Value;
      Dest.EnderDest.cPais := 1058;
      Dest.EnderDest.xPais := 'BRASIL'
    end
    else
    Begin
      if not dm5.QrNotaFiscalCPF_CNPJ_IDESTRANGEIRO.IsNull then
      begin
        Dest.xNome := dm5.QrNotaFiscalNOME_CONSUMIDOR.Value;
        Dest.EnderDest.xLgr := dm5.QrNotaFiscalENDERECO_CONSUMIDOR.Value;
        Dest.CNPJCPF := dm5.QrNotaFiscalCPF_CNPJ_IDESTRANGEIRO.Value;
      end
    End;
    dTotalAproxImpostosNACIONAL := 0;
    dTotalAproxImpostosMUNICIPAL := 0;
    dTotalAproxImpostosESTADUAL := 0;

    dDesconto := 0;
    if dm5.QrPedidoNFDESCONTO.Value > 0 then
      dDesconto := dm5.QrPedidoNFDESCONTO.Value;
    // Adicionando Produtos
    icont := 1;
    dm5.QrItemNF.First;
    While not dm5.QrItemNF.Eof do

Anexei o XML aqui.

Baixei os schemas mais atuais no site NFE nacional tb.

 

Grato meus amigos.

 

13250801549034000100650010000200051370394351-nfe.xml

Delphi Developer - ACBR, Firebird, Oracle, SQL Server

  • Moderadores
Postado
12 horas atrás, SistemaB disse:

dar erro de validação da nf mas não diz o erro exato.

Só vem: Project Administrativo.exe raised exception class EACBrNFeException with message 'Falha na validação dos dados da nota: 20005
'.

Veja a propriedade "ExibeErroSchema" se está ativada, ative pra exibir o erro de validação completo.

Validei o teu XML com o demo do ACBr e validou normal.

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Agora mostrou o erro: (Kg Is Not A Valid Value Of The Local Atomic Type)  mas não sei o que fazer lembro de tá com os schemas atualizados.

Delphi Developer - ACBR, Firebird, Oracle, SQL Server

  • Solution
Postado

Consegui Com isso vi que era algo nos Schemas. Solução: Peguei os arquivos da pasta schemas do demo acbr NFe e copiei pro meu sistema.

Passou normal agora.

Grato ACBR

Pode fechar topic.

Delphi Developer - ACBR, Firebird, Oracle, SQL Server

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...