Ir para conteúdo
  • Cadastre-se

André Gustavo

Membros
  • Total de ítens

    132
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

André Gustavo's Achievements

Collaborator

Collaborator (7/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

3

Reputação

  1. Bom dia! Estou sim! veja como estou enviando: Já enviei dessa forma para que fique de acordo com o solicitado pela empresa: wtexto := cdsConsultaNUMEROBOLETO.Text; => 33 while Length(wtexto) < 7 do wtexto := '0' + wtexto; wtexto := '262' + wtexto; NossoNumero := wtexto; E também ja enviei dessa forma: NossoNumero := cdsConsultaNUMEROBOLETO.Text; => 33 Grato André BRADESCO DANIEL_remessa_51.txt
  2. Olá pessoal, Estou com um problema ao gerar arquivo remessa do banco bradesco, o campo nosso número está indo em branco. Existe alguma configuração necessária para que este campo saia? no exemplo do cliente teria que ser assim: Nosso Número - 26200000001-D onde: 262 é o prefixo fornecido pelo FIDC NEGOCIAL NP para CASA DO PEIXE LTDA. Sequencial - 00000001 até 99999999 é um sequencial da numeração do Nosso número. Digito – D - Calculado conforme Instruções do manual Cobrança Bradesco levando em consideração o número da carteira para o cálculo do digito André
  3. Para pegar essas novas funçoes tem que atualizar o ACBr todo? Para pegar essa ValidarPrefixoGTIN('6845623830306'))" tem que atualizar o ABCr todo? André
  4. Tem vários que estão certos. exemplo: 7812081180006 André
  5. Estou com o mesmo problema do pessoal acima. No teste com o ValidarGTIN() e EAN13Valido() o código está OK, mas na SEFAZ não passa, o que poderá ser? André 26180710869068000165650010000062681000062687-nfe.xml
  6. O que eu tenho que alterar no xml? André
  7. Entrei em contato com o pessoal da Sefaz PE e eles falaram que pode ser a webService que estou enviando. Vou te passar a lista abaixo, neste caso como passo o meu xml na tag <cUF> já que ele usa a SVRS? André
  8. ok, pode ser isso entao, certo? vou dá uma olhadinha pq está indo três vezes no arquivo xml. Vlw!
  9. Vou te enviar o q eu estou fazendo para chegar nesse erro: procedure TFConfirma2.GerarNFCe(NumNFe: Integer; Loja: Integer; Serie: String); var Qry : Tquery; aNumIten : Integer; wtotalProduto, wTotalNota : Double; wtotPis, wTotCofins,wV_II : Double; wvlrFrete, wTotalFrete : Double; wvlrOutrasDesp, wTotalOutrasDesp : Double; wvalorParcela : Double; wnumeroFat : String; wDesconto_item : double; wtotalGeralProduto : double; wtotalGeralDesconto : double; wbaseIcmsProduto : double; wvalorTotalIcms : double; w_totIpi : double; wProduto : string; wtexto : String; iNum : Integer; wDescProduto : String; wlotesProduto : String; wNomeXml:String; wTotalICMSUFDest, wTotalICMSUFRemet: double; wMva_ajustada : double; wMva_original : double; wvalorBaseICMS, wTotalBaseICMS, wValorICMS, wTotalICMS, wValorBCST, wTotalBCST, wValorICMSST, wtotalICMSST : double; worcaVenda : String; wPercDescontoItem : double; begin DM.ConsultaLoja(ploja); Query4.Close; Query4.Sql.Clear; Query4.Sql.Add('Update Venda Set TIPo = :xTIPO'); Query4.Sql.Add('WHERE (NUMERO = :xNumero)'); Query4.Sql.Add('AND (LOJA = :xloja)'); Query4.ParamByName('xnumero').AsInteger := StrToInt(Edit4.Text); Query4.ParamByName('xloja').AsInteger := Ploja; Query4.ParamByName('xTIPO').AsString := 'X'; Query4.ExecSQL; AtualizaConfigAcBr; //DM.ACBrNFe1.NotasFiscais.Clear; DM.ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe; DM.ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310; DM.ACBrNFe1.Configuracoes.Geral.IncluirQRCodeXMLNFCe := True; with DM.ACBrNFe1.NotasFiscais.Add.NFe do begin Ide.cNF := NumNFe; //Caso não seja preenchido será gerado um número aleatório pelo componente Ide.natOp := 'VENDA'; Ide.indPag := ipVista; Ide.modelo := 65; Ide.serie := 1; Ide.nNF := NumNFe; Ide.dEmi := now; Ide.dSaiEnt := now; Ide.hSaiEnt := now; Ide.tpNF := tnSaida; Ide.tpEmis := teNormal; // TpcnTipoEmissao(1); Ide.tpAmb := taHomologacao; //Lembre-se de trocar esta variável quando for para ambiente de produção Ide.cUF := UFtoCUF('RS'); Ide.cMunFG := StrToInt('26' + DM.TlojaCODCIDADE.Text); Ide.finNFe := fnNormal; Ide.tpImp := tiNFCe; Ide.indFinal := cfConsumidorFinal; Ide.indPres := pcPresencial; // Ide.dhCont := date; // Ide.xJust := 'Justificativa Contingencia'; Emit.CNPJCPF := DM.TiraPontoCPF(DM.TlojaCGC.Text); Emit.IE := DM.TiraPontoCPF(DM.TlojaINSCRICAOESTADUAL.Text); Emit.xNome := DM.TlojaNOME.Text; Emit.xFant := DM.TlojaNOMEFANTASIA.Text; Emit.EnderEmit.fone := DM.TiraPontoCPF(DM.TlojaTELEFONE.Text); Emit.EnderEmit.CEP := StrToInt(DM.TiraPontoCPF( DM.TlojaCEP.Text )); Emit.EnderEmit.xLgr := DM.TlojaENDERECO.Text; Emit.EnderEmit.nro := DM.TlojaNUMLOGRADOURO.Text; Emit.EnderEmit.xCpl := ''; Emit.EnderEmit.xBairro := DM.TlojaBAIRRO.Text; Emit.EnderEmit.cMun := StrToInt('26' + DM.TlojaCODCIDADE.Text); Emit.EnderEmit.xMun := DM.TlojaCIDADE.Text; Emit.EnderEmit.UF := DM.TlojaUF.Text; Emit.enderEmit.cPais := 1058; Emit.enderEmit.xPais := 'BRASIL'; Emit.IEST := ''; // Emit.IM := '2648800'; // Preencher no caso de existir serviços na nota // Emit.CNAE := '6201500'; // Verifique na cidade do emissor da NFe se é permitido // a inclusão de serviços na NFe Emit.CRT := crtRegimeNormal;// (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal) If pCpfCnpjContribuinte <> '' then Dest.CNPJCPF := '05481336000137' else Dest.CNPJCPF := ''; // Dest.IE := '687138770110'; //NFC-e não aceita IE Dest.ISUF := ''; If Pcliente > 0 then begin DM.Tcliente.Close; DM.Tcliente.SQL.Clear; DM.Tcliente.SQL.Add('Select * from Cliente'); DM.Tcliente.SQL.Add('Where (Codigo = :xcodigo)'); DM.Tcliente.ParamByName('xCodigo').AsInteger := pCliente; DM.Tcliente.Open; Dest.xNome := TiraCaracterEspecial(DM.TclienteNOME.Text); Dest.EnderDest.Fone := DM.TiraPontoCPF(DM.TclienteFONE.Text); Dest.EnderDest.CEP := StrToInt(DM.TiraPontoCPF(DM.TclienteCEP.Text)); Dest.EnderDest.xLgr := TiraCaracterEspecial(DM.TclienteENDERECO.Text); Dest.EnderDest.nro := DM.TclienteNUMLOGRADOURO.Text; Dest.EnderDest.xCpl := ''; Dest.EnderDest.xBairro := TiraCaracterEspecial(DM.TclienteBAIRRO.Text); Dest.EnderDest.cMun := StrToInt('26' + DM.TclienteCODCIDADE.Text); Dest.EnderDest.xMun := TiraCaracterEspecial(DM.TclienteCIDADE.Text); Dest.EnderDest.UF := DM.TclienteESTADO.Text; Dest.EnderDest.cPais := 1058; Dest.EnderDest.xPais := 'BRASIL'; end else begin Dest.xNome := ''; Dest.EnderDest.Fone := ''; Dest.EnderDest.CEP := 0; Dest.EnderDest.xLgr := ''; Dest.EnderDest.nro := ''; Dest.EnderDest.xCpl := ''; Dest.EnderDest.xBairro := ''; Dest.EnderDest.cMun := 0; Dest.EnderDest.xMun := ''; Dest.EnderDest.UF := ''; Dest.EnderDest.cPais := 0; Dest.EnderDest.xPais := ''; end; //Adicionando Produtos aNumIten := 0; wtotalProduto :=0; wTotalNota := 0; wtotPis := 0; wTotCofins := 0; wV_II := 0; wtotalGeralProduto := 0; wtotalGeralDesconto := 0; wbaseIcmsProduto := 0; wvalorTotalIcms := 0; w_totIpi := 0; wTotalICMSUFDest := 0; wTotalICMSUFRemet := 0; wTotalFrete := 0; wTotalOutrasDesp := 0; wValorBCST := 0; wTotalBCST := 0; wValorICMSST := 0; wtotalICMSST := 0; wvalorBaseICMS := 0; wTotalBaseICMS := 0; wValorICMS := 0; wTotalICMS := 0; pTotImposto := 0; DM.Tauxvenda.First; While not DM.Tauxvenda.EOF do Begin If DM.TauxvendaCancelado.Text = 'S' then begin DM.Tauxvenda.Next; Continue; end; Query6.Close; Query6.ParamByName('xcodigo').AsString := DM.TauxvendaCodigo.Text; Query6.Open; inc(aNumIten); with Det.Add do begin Prod.nItem := aNumIten; ; // Número sequencial, para cada item deve ser incrementado Prod.cProd := Query6CODIGO.Text; If Query6CODBARRA.text <> '' then Prod.cEAN := TiraCaracterEspecial (Trim(Query6CODBARRA.Text)) else Prod.cEAN := NullAsStringValue; Prod.xProd := Query6DESCRICAO.Text; Prod.NCM := Query6NCM.Text; // Tabela NCM disponível em http://www.receita.fazenda.gov.br/Aliquotas/DownloadArqTIPI.htm Prod.EXTIPI := ''; Prod.CFOP := '5101'; Prod.uCom := TiraCaracterEspecial(Trim(copy(Query6DESCUNIDADE.Text,1,3))); Prod.qCom := DM.TauxVendaQuantidade.Value; Prod.vUnCom := DM.TauxVendaPreco.Value; If not Query6CODBARRA.IsNull then Prod.cEANTrib := TiraCaracterEspecial(Trim(Query6CODBARRA.Text)) else Prod.cEANTrib := NullAsStringValue; Prod.uTrib := TiraCaracterEspecial(Trim(copy(Query6DESCUNIDADE.Text,1,3))); Prod.qTrib := DM.TauxVendaQuantidade.Value; Prod.vUnTrib := DM.TauxVendaPreco.Value; Prod.vOutro := 0; Prod.vFrete := 0; Prod.vSeg := 0; //--Obtendo Percentual de Desconto wPercDescontoItem := RetornaPercDesconto(pDesconto, pTotal + pDesconto); wDesconto_item := (DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value) * wPercDescontoItem / 100; Prod.vDesc := wDesconto_item; Prod.vProd := (DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value); If Query6ICMSVENDA.Value > 0 then begin wbaseIcmsProduto := DM.TauxVendaQuantidade.Value * DM.TauxVendaPreco.Value; wvalorTotalIcms := wvalorTotalIcms + (wbaseIcmsProduto * Query6ICMSVENDA.Value / 100 ); end; Prod.CEST := Query6CODCEST.Text; // infAdProd := 'Informação Adicional do Produto'; If DM.TlojaTIPOEMPRESA.Text = 'Normal' then begin with Imposto do begin vTotTrib := DM.RetornaValorImposto(Query6NCM.Text, 'N', DM.TauxvendaTotal.Value); with ICMS do begin If Query6TRIBUTADO.Text = 'T' then // Tributado begin If copy(Query6CST.Text,2,2) = '00' then begin CST := cst00; CSOSN := csosn101; If Copy(Query6CST.Text,1,1) = '0' then ICMS.orig := oeNacional else if Copy(Query6CST.Text,1,1) = '1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if Copy(Query6CST.Text,1,1) = '2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; ICMS.modBC := dbiValorOperacao; wvalorBaseICMS := wbaseIcmsProduto; If Query6ICMSVENDA.Value > 0 then ICMS.vBC := wvalorBaseICMS else ICMS.vBC := 0; wValorICMS := ( wbaseIcmsProduto * Query6ICMSVENDA.Value) / 100; ICMS.pICMS := Query6ICMSVENDA.Value; If Query6ICMSVENDA.Value > 0 then ICMS.vICMS := wValorICMS else ICMS.vICMS := 0; ICMS.modBCST := dbisPrecoTabelado; ICMS.pMVAST := 0; ICMS.pRedBCST := 0; ICMS.vBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; wTotalBaseICMS := wTotalBaseICMS + wvalorBaseICMS; wTotalICMS := wTotalICMS + wValorICMS; end; end; if Query6TRIBUTADO.Text = 'F' then // Sub. Tributaria begin //--Origem If Copy(Query6CST.Text,1,1) = '0' then ICMS.orig := oeNacional else if Copy(Query6CST.Text,1,1) = '1' then ICMS.orig := oeEstrangeiraImportacaoDireta else if Copy(Query6CST.Text,1,1) = '2' then ICMS.orig := oeEstrangeiraAdquiridaBrasil; //--CST If Copy(Query6CST.Text,2,3) = '10' then CST := cst10 else CST := cst60; //--MODBC ICMS.modBC := dbiValorOperacao; ICMS.pRedBC := 0; //---ICMS do Produto If Copy(Query6CST.Text,2,3) = '10' then begin wvalorBaseICMS := wbaseIcmsProduto; ICMS.vBC := wvalorBaseICMS; end else begin wvalorBaseICMS := 0; ICMS.vBC := 0; end; wValorICMS := Query6ICMSVENDA.Value * wbaseIcmsProduto / 100; ICMS.pICMS := Query6ICMSVENDA.Value; ICMS.vICMS := wValorICMS; //--MVA ICMS.pMVAST := 0.0000; ICMS.pRedBCST := 100; ICMS.modBCST := dbisMargemValorAgregado; //--Calculando o valor da base da Subst Tributaria wMva_original := 80; If Copy(Query6CST.Text,2,3) = '10' then begin ICMS.vBCST := wbaseIcmsProduto; ICMS.pICMSST := 18; wValorICMSST := ((wbaseIcmsProduto * 18) / 100) - ( (wbaseIcmsProduto * Query6ICMSVENDA.Value) / 100); ICMS.vICMSST := wValorICMSST; end else begin ICMS.vBCST := 0; wValorICMSST := 0; ICMS.vICMSST := 0; end; If Copy(Query6CST.Text,2,3) = '10' then wTotalBCST := wTotalBCST + wbaseIcmsProduto; wtotalICMSST := wtotalICMSST + wValorICMSST; wTotalBaseICMS := wTotalBaseICMS + wvalorBaseICMS; wTotalICMS := wTotalICMS + wValorICMS; end; if Query6TRIBUTADO.Text = 'I' then // Isento begin CST := cst40; ICMS.orig := oeNacional; ICMS.modBC := dbiValorOperacao; ICMS.vBCST := 0; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; if Query6TRIBUTADO.Text = 'N' then // Não Tributado begin CST := cst41; ICMS.orig := oeNacional; ICMS.modBC := dbiValorOperacao; ICMS.vBCST := 0; ICMS.modBCST := dbisMargemValorAgregado; ICMS.pMVAST := 0; ICMS.pRedBCST := 0; ICMS.pICMSST := 0; ICMS.vICMSST := 0; ICMS.pRedBC := 0; end; //--- fim icms end; // partilha do ICMS e fundo de probreza with ICMSUFDest do begin vBCUFDest := 0.00; pFCPUFDest := 0.00; pICMSUFDest := 0.00; pICMSInter := 0.00; pICMSInterPart := 0.00; vFCPUFDest := 0.00; vICMSUFDest := 0.00; vICMSUFRemet := 0.00; 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;} //Grupo para serviços {with ISSQN do begin vBC := 0; vAliq := 0; vISSQN := 0; cMunFG := 0; cListServ := 1402; // Preencha este campo usando a tabela disponível // em http://www.planalto.gov.br/Ccivil_03/LEIS/LCP/Lcp116.htm end;} end; end; end; pTotImposto := pTotImposto + DM.RetornaValorImposto(Query6NCM.Text, 'N', DM.TauxvendaTotal.Value); wtotalGeralProduto := wtotalGeralProduto + DM.TauxVendaTotal.Value; wtotalGeralDesconto := wtotalGeralDesconto + wDesconto_item; DM.TauxVenda.Next; end; wTotalNota := wtotalGeralProduto - wtotalGeralDesconto; //Adicionando Serviços { with Det.Add do begin Prod.nItem := 1; // Número sequencial, para cada item deve ser incrementado Prod.cProd := '123457'; Prod.cEAN := ''; Prod.xProd := 'Descrição do Serviço'; Prod.NCM := '99'; Prod.EXTIPI := ''; Prod.CFOP := '5933'; Prod.uCom := 'UN'; Prod.qCom := 1 ; Prod.vUnCom := 100; Prod.vProd := 100 ; Prod.cEANTrib := ''; Prod.uTrib := 'UN'; Prod.qTrib := 1; Prod.vUnTrib := 100; Prod.vFrete := 0; Prod.vSeg := 0; Prod.vDesc := 0; infAdProd := 'Informação Adicional do Serviço'; //Grupo para serviços with Imposto.ISSQN do begin cSitTrib := ISSQNcSitTribNORMAL; vBC := 100; vAliq := 2; vISSQN := 2; cMunFG := 3554003; cListServ := 1402; // Preencha este campo usando a tabela disponível // em http://www.planalto.gov.br/Ccivil_03/LEIS/LCP/Lcp116.htm end; end ; } Total.ICMSTot.vBC := wTotalBaseICMS; Total.ICMSTot.vICMS := wTotalICMS; Total.ICMSTot.vBCST := wTotalBCST; Total.ICMSTot.vST := wtotalICMSST; Total.ICMSTot.vProd := wtotalGeralProduto; Total.ICMSTot.vFrete := 0; Total.ICMSTot.vSeg := 0; Total.ICMSTot.vDesc := wtotalGeralDesconto; Total.ICMSTot.vII := 0; Total.ICMSTot.vIPI := 0; Total.ICMSTot.vPIS := 0; Total.ICMSTot.vCOFINS := 0; Total.ICMSTot.vOutro := 0; Total.ICMSTot.vNF := wTotalNota; Total.ICMSTot.vTotTrib := pTotImposto; // partilha do icms e fundo de probreza Total.ICMSTot.vFCPUFDest := 0.00; Total.ICMSTot.vICMSUFDest := 0.00; Total.ICMSTot.vICMSUFRemet := 0.00; 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 := mfSemFrete; // NFC-e não pode ter FRETE { Cobr.Fat.nFat := 'Numero da Fatura'; Cobr.Fat.vOrig := 100 ; Cobr.Fat.vDesc := 0 ; Cobr.Fat.vLiq := 100 ; with Cobr.Dup.Add do begin nDup := '1234'; dVenc := now+10; vDup := 50; end; with Cobr.Dup.Add do begin nDup := '1235'; dVenc := now+10; vDup := 50; end; } //---- passando forma de pagamento DM.Ttipopaga.Close; DM.Ttipopaga.Open; DM.Tauxpaga.First; While not DM.Tauxpaga.Eof do Begin DM.Ttipopaga.Locate('codigo', DM.TauxPagaTipo.Value, []); with pag.Add do //PAGAMENTOS apenas para NFC-e begin If copy(DM.TtipopagaTPNFCE.Text,1,2) = '01' then tPag := fpDinheiro else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '02' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '03' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '04' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '05' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '06' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '07' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '08' then tPag := fpCheque else If copy(DM.TtipopagaTPNFCE.Text,1,2) = '09' then tPag := fpCheque else tPag := fpDinheiro; If copy(DM.TtipopagaTPNFCE.Text,1,2) = '01' then vPag := DM.TauxpagaValor.Value - pTroco else vPag := DM.TauxpagaValor.Value; end; // valorpago := Trim(DM.TauxpagaValor.text); //IRetorno := aCFEfetuarPagamento_NFCe_Daruma(copy(DM.TauxpagaDescricao.Text,1,20), FormatFloat('###0.00',DM.TauxpagaValor.Value)); //FmensagemNFCe.Repaint; DM.Tauxpaga.Next; end; InfAdic.infAdFisco := ''; DM.ACBrNFe1.DANFE.vTroco := ptroco; //---- termina cupom mensagem := ''; If pOrcamento > 0 then begin worcavenda := inttostr(pOrcamento); While Length(worcavenda) < 10 do worcavenda := '0' + worcavenda; worcavenda := 'PV' + worcavenda; mensagem := mensagem + worcavenda + chr(13) + chr(10); end; If pNumero > 0 then begin worcavenda := inttostr(pNumero); While Length(worcavenda) < 10 do worcavenda := '0' + worcavenda; worcavenda := 'No.Venda: ' + worcavenda; mensagem := mensagem + worcavenda + chr(13) + chr(10); end; mensagem := mensagem + 'MD5:'+MD5Print(MD5file('c:\mercado\identificacao.txt')) + chr(13) + chr(10); If Pcliente > 0 then begin DM.Tcliente.Close; DM.Tcliente.ParamByName('xCodigo').AsInteger := Pcliente; DM.Tcliente.Open; If not DM.Tcliente.Eof then begin mensagem := mensagem + DM.TclienteNOME.Text + chr(13) + chr(10); If DM.TclienteENDERECO.Text <> '' then mensagem := mensagem + DM.TclienteENDERECO.Text + chr(13) + chr(10); If DM.TclienteBAIRRO.Text <> '' then mensagem := mensagem + DM.TclienteBAIRRO.Text + chr(13) + chr(10); If DM.TclienteCIDADE.Text <> '' then mensagem := mensagem + DM.TclienteCIDADE.Text + '-' + DM.TclienteESTADO.Text + chr(13) + chr(10); If Length(DM.TclienteCPF.Text) = 14 then mensagem := mensagem + 'CPF: ' + DM.TclienteCPF.Text + chr(13) + chr(10); If Length(DM.TclienteCGC.Text) = 18 then mensagem := mensagem + 'CNPJ: ' + DM.TclienteCGC.Text + chr(13) + chr(10); end; end; mensagem := mensagem + 'Obrigado e volte sempre!!' + chr(13) + chr(10); InfAdic.infCpl := mensagem; { with InfAdic.obsCont.Add do begin xCampo := 'ObsCont'; xTexto := 'Texto'; end; with InfAdic.obsFisco.Add do begin xCampo := 'ObsFisco'; xTexto := 'Texto'; end; } end; DM.ACBrNFe1.NotasFiscais.GerarNFe; DM.ACBrNFe1.NotasFiscais.Assinar; DM.ACBrNFe1.NotasFiscais.Items[0].GravarXML(); Qry := TQuery.Create(nil); Qry.DatabaseName := 'Mercado'; Qry.Close; Qry.SQL.Clear; Qry.SQL.Add('Update Venda set xmlnfe = :wxmlnfe'); Qry.SQL.Add('Where (Numero = :wNumero)'); Qry.SQL.Add('And (Loja = :wLoja)'); Qry.ParamByName('wNumero').AsInteger := pNumero; Qry.ParamByName('wLoja').AsInteger := ploja; Qry.ParamByName('wxmlnfe').AsString := DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq; Qry.ExecSQL; // ValidarXML_NFCe(DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq); //EnviarNFCe(DM.ACBrNFe1.NotasFiscais.Items[0].NomeArq); Qry.free; Qry := Nil; end; procedure TFconfirma2.EnviarNFCe(); var aChaveNfe, aRecibo, aProcolo : String; Qry : TQuery; werror : Boolean; warquivo : String; wNumLote : String; Sincrono : boolean; vSincrono : String; begin werror := false; wnumLote := IntToStr(DM.TparaNUMLOTE_NFCE.Value + 1); wnumLote := DM.FiltraNumeroLoteNfce(wnumLote); if Trim(wnumLote) = '' then begin ShowMessage('É necessário informar o numero do lote!'); exit; end; try If DM.TlojaAmbienteEmissao_nfce.Text = '0' then DM.ACBrNFe1.Configuracoes.WebServices.Ambiente := taProducao else DM.ACBrNFe1.Configuracoes.WebServices.Ambiente := taHomologacao; vSincrono := '1'; if (Trim(vSincrono) = '1') then Sincrono := True else Sincrono := False; //DM.ACBrNFe1.NotasFiscais.Clear; DM.ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe; DM.ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310; GerarNFCe(DM.PegaSequenciaNFCe(ploja),ploja,'001'); DM.ACBrNFe1.Enviar(wNumLote,True,Sincrono); aChaveNfe := DM.ACBrNFe1.WebServices.Retorno.ChaveNFe; aProcolo := DM.ACBrNFe1.WebServices.Retorno.Protocolo; aRecibo := DM.ACBrNFe1.WebServices.Retorno.Recibo; DM.ACBrNFe1.NotasFiscais.Clear; // ShowMessage(aProcolo); If aChaveNfe <> '' then begin Qry := TQuery.Create(nil); Qry.DatabaseName := 'Mercado'; Qry.Close; Qry.SQL.Clear; Qry.SQL.Add('Update venda set chaveNfe = :wChaveNfe, lotenfe = :wlotenfe, protocolonfe = :wprotocolonfe, recibonfe = :wrecibonfe'); Qry.SQL.Add('Where (Numero = :wNumero)'); Qry.SQL.Add('And (Loja = :wLoja)'); Qry.ParamByName('wNumero').AsInteger := pNumero; Qry.ParamByName('wLoja').AsInteger := pLoja; Qry.ParamByName('wChaveNfe').AsString := aChaveNfe; Qry.ParamByName('wloteNfe').AsString := wnumLote; Qry.ParamByName('wprotocoloNfe').AsString := aProcolo; Qry.ParamByName('wrecibonfe').AsString := aRecibo; Qry.ExecSQL; Qry.Free; Qry := Nil; DM.AtualizaLoteNfce(); //FnotaFiscalEletronca.GravaArqXML(arqXml); ShowMessage('Enviado com Sucesso, imprima seu documento fiscal (DANFE).'); end; Except on E : Exception do begin werror := true; ShowMessage(E.ClassName+' Erro ao enviar a NFe.Verifique!!! '+E.Message); end; end; end; procedure TFConfirma2.AtualizaConfigAcBr; var OK : Boolean; begin DM.ConsultaLoja(ploja); // realiza a leidura dos dados do arquivo de configuração //DM.LeArqIni; // Repassa Dados para componente AcBrNFe {$IFDEF ACBrNFeOpenSSL} DM.ACBrNFe1.configuracoes.Certificados.Certificado := DM.TlojaPATHCERTIFICADO_NFCE.Text; DM.AcBrNFe1.Configuracoes.Certificados.Senha := DM.TlojaSENHACERTIFICADO_NFCE.Text; {$ELSE} DM.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := DM.TlojaNUMSERIECERTIFICADO_NFCE.Text; {$ENDIF} //Geral DM.ACBrNFe1.Configuracoes.Geral.FormaEmissao := StrToTpEmis(OK,IntToStr(0)); DM.ACBrNFe1.Configuracoes.Geral.Salvar := True; DM.ACBrNFe1.Configuracoes.Arquivos.PathSalvar := 'c:\mercado\nfce\'; //WebServices DM.ACBrNFe1.Configuracoes.WebServices.UF := DM.TlojaUF_NFCE.Text; DM.ACBrNFe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(OK,DM.TlojaAMBIENTEEMISSAO_NFCE.Text); DM.ACBrNFe1.Configuracoes.WebServices.Visualizar := True; DM.ACBrNFe1.Configuracoes.WebServices.ProxyHost := DM.TlojaEMAIL_NFCE_HOST.Text; DM.ACBrNFe1.Configuracoes.WebServices.ProxyPort := DM.TlojaEMAIL_NFCE_PORTA.Text; DM.ACBrNFe1.Configuracoes.WebServices.ProxyUser := DM.TlojaEMAIL_NFCE_USUARIO.Text; DM.ACBrNFe1.Configuracoes.WebServices.ProxyPass := DM.TlojaEMAIL_NFCE_SENHA.Text; // if DM.ACBrNFe1.DANFE <> nil then begin DM.ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK,'1'); DM.ACBrNFe1.DANFE.Logo := 'c:\mercado\logotipo.jpg'; end; end; 43170727614808000115650010000000011000000012-nfe.xml 1-env-lot.xml
  10. Mas, o problema vai aparecer do mesmo jeito, não tem como me enviar o demo, pois já está pronto! O problema é que o cliente está esperando para colocar no Ar. André
  11. Tem como vc me enviar o executável do demo? eu não estou conseguindo compilar ele. [email protected] Grato, André
  12. Olá, bom dia! Estou com o mesmo problema ao tentar enviar para homologacao da sefaz de PE, a webservice aponta para RS. Vou anexar a mensagem do erro abaixo e a lista de webservices de PE. André
  13. Olá, bom dia! Gostaria de saber se existe ainda alguma atualização para o trunk1 e se essa dá suporte as novas alterações da SEFAZ, se sim, como atualizar? André
  14. Valeu Camilo, Funcionou! Abraços! André
  15. Oi Camilo, Td bem? eu acho q algum erro no componente. Tb acho que logo logo alguem irá nos ajudar a resolver esse problema, conto com a ajuda de todos. André
×
×
  • 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.