Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal ...

Estou com uma situação que esta me tirando o sono ...

A alguns dias atras meu aplicativo estava com todos os processos do paf-nfe td OK, transmitindo,cancelando,inutilizando etc.

E agora, devido a "NUM FASSO IDEIA", meu aplicativo não faz mas nem um dos processos citados, ou seja, utilizou o AcbrNfe me retorna o erro seguinte:

"O Servidor retornou uma resposta inválida ou não reconhecida".

e para no seguinte trecho de codigo:

Bom é isso, espero que alguem possa ajudar.

Agradecido.

  • Moderadores
Postado

Isso parece ser problemas com o servidor do SEFAZ ou algo na sua conexão, verifique se o antivírus ou firewall instalados não estão bloqueando o aplicativo e se o servidor de homologação do SEFAZ do seu estado não está passando por problemas, verifique também se o mesmo problema ocorre com o ambiente de produção, algumas vezes somente um dos dois ambientes cai.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Moderadores
Postado

Nem sempre essa informação do portal nfe e válida, aqui em MG por exemplo se olhar por ai está sempre OK, mas a verdade é outra o negócio é ligar e insistir com eles e aguardar arrumarem se for o caso.

Outra coisa que tenho percebido ultimamente é que alguns DNSs não estão conseguindo enchergar os webservices não sei o motivo, dai eu troco o DNS da máquina ou roteador para o do google e sempre funciona, seguem os números se quiser tentar: 8.8.8.8 e 8.8.4.4, existem outros DNSs gratuitos OpenDNS, etc.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 5 anos depois...
Postado

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é

 

erro emissao nfec.png

servidor homologacao sefaz pe nfce.png

  • Moderadores
Postado
13 minutos atrás, André Gustavo disse:

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é

 

erro emissao nfec.png

servidor homologacao sefaz pe nfce.png

Como reproduzir o problema usando o demo do componente?

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado
13 minutos atrás, André Ferreira de Moraes disse:

Faça uma aplicação simples em que o problema acontece e anexe ao tópico para que possamos analisar.

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é

  • Moderadores
Postado

Para que possamos descobrir a origem do erro precisamos saber como reproduzi-lo e isso só é possível se vc enviar um passo-a-passo de como reproduzir o problema no demo ou enviar um aplicativo de exemplo com os fontes em que o problema possa ser reproduzido.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado
18 minutos atrás, André Ferreira de Moraes disse:

Para que possamos descobrir a origem do erro precisamos saber como reproduzi-lo e isso só é possível se vc enviar um passo-a-passo de como reproduzir o problema no demo ou enviar um aplicativo de exemplo com os fontes em que o problema possa ser reproduzido.

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

  • Moderadores
Postado

Como já te falei, preciso reproduzir o erro e seu código contem funções internas suas.

No seu arquivo 1-env-lot.xml existem 3 notas e vc está usando o modo síncrono(<indSinc>1</indSinc>). Vc deve enviar uma nota por vez.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado
Em 04/07/2017 at 11:23, André Gustavo disse:

ok, pode ser isso entao, certo? vou dá uma olhadinha pq está indo três vezes no arquivo xml.

 

Vlw!

 

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é

webService_PE.png

  • Moderadores
Postado
2 horas atrás, André Gustavo disse:

Entrei em contato com o pessoal da Sefaz PE e eles falaram que pode ser a webService que estou enviando.

Essas URL foram atualizados no ACBr em março. Você está com os fontes atualizados?

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

Projeto ACBr

 

 

  • Moderadores
Postado
7 minutos atrás, André Gustavo disse:

O que eu tenho que alterar no xml?

André

Se o problema são as URL dos webservices, não precisa mexer no XML.

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

Projeto ACBr

 

 

  • Este tópico foi criado há 2697 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.