SistemaB Postado Sexta as 23:52 Postado Sexta as 23:52 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 BigWings Postado Há 19 horas Moderadores Postado Há 19 horas 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. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
SistemaB Postado Há 17 horas Autor Postado Há 17 horas Show. Vou testar. Delphi Developer - ACBR, Firebird, Oracle, SQL Server
SistemaB Postado Há 15 horas Autor Postado Há 15 horas 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 SistemaB Postado Há 13 horas Autor Solution Postado Há 13 horas 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
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora