Ir para conteúdo
  • Cadastre-se

rubensff

Membros
  • Total de ítens

    32
  • Registro em

  • Última visita

Posts postados por rubensff

  1. A consulta de notas pelo componente tem retornado erro interno no servidor, isso já alguns dias, eu uso emissão por lote.

    O xml baixado funcionou bem aqui, a única coisa é que precisa  ler o número do RPS, para localizar no meu banco e gravar o número da nota com o código de validação, assim consigo enviar o link para os clientes baixarem o DANFE.

    Estava funcionando bem pelo webservice, mas como aqui em Sorocaba, mais tá off que on, vi uma alternativa nessa solução.

     

  2. Bom dia Ítalo.

    Vamos lá...

    Estou usando o programa exemplo, na pasta "acbr\Exemplos\ACBrDFe\ACBrNFSeX\Delphi".

    Usei o 2.00, porque como deu problema após a atualização dos fontes e schemas, fiz apenas um teste para ver se tinha alguma diferença, ou se eu estaria usando por engano um diferente do esperado.

    Estou clicando no botão  "Consulta NFSe por período", no entanto, como postei, estás chamando a função "ConsultarNFSePorFaixa", é isso mesmo, é para chamar a mesma função? 

    Pergunto, pois no evento do botão está chamando "ACBrNFSeX1.ConsultarNFSeporPeriodo".

    E mesmo usando o botão "Consultar NFSe por Faixa", retorna o mesmo erro.

     

  3. Boa noite Ítalo.

    Tudo atualizado, reinstalado, apagando os arquivos locais.

    Utlizando a pasta Schemas 2.03 e a 2.00, na consulta por período

     

    Método Executado: ConsultarNFSePorFaixa
     
    Parâmetros de Envio
    Num. Ini. NFSe: 
    Num. Fin. NFSe: 
    Data Inicial  : 03/05/2022
    Data Final    : 04/05/2022
     
    Parâmetros de Retorno
    Sucesso       : False
     
    Erro(s):
    Código  : X800
    Mensagem: Erro de Validação: 1845 - Element 'ConsultarNfseFaixaEnvio': No matching global declaration available for the validation root.

     

  4. se eu usar a ConsultarNFSePorFaixa, retorna: 

    Método Executado: ConsultarNFSePorFaixa
     
    Parâmetros de Envio
    Num. Ini. NFSe: 13803
    Num. Fin. NFSe: 13804
    Data Inicial  : 30/12/1899
    Data Final    : 30/12/1899
     
    Parâmetros de Retorno
    Sucesso       : False
     
    Erro(s):
    Código  : X999
    Mensagem: Erro de Conexão: Erro Interno: 0
    Erro HTTP: 500
    URL: https://notafiscal.sorocaba.sp.gov.br/notafiscal-abrasfv203-ws/NotaFiscalSoap

    Erro de Conexão.
    Correção: 
    ---------

  5. Olá, estou usando o exemplo do ACBR, na pesquisa por período retorna:

    =============================================================================================

    Método Executado: ConsultarNFSePorFaixa
     
    Parâmetros de Envio
    Num. Ini. NFSe: 
    Num. Fin. NFSe: 
    Data Inicial  : 03/05/2022
    Data Final    : 03/05/2022
     
    Parâmetros de Retorno
    Sucesso       : False
     
    Erro(s):
    Código  : X800
    Mensagem: Erro de Validação: 1824 - Element 'NumeroNfseInicial': '' is not a valid value of the atomic type 'tsNumeroNfse'.

    Correção: 
    ---------

    =============================================================================================

    Mas não deveria executar o método "ConsultarNFSeporPeriodo" ? 

     

  6. A intenção é que na emissão, quando houver um erro no envio, e o sistema não tenha retorno do sefaz, por variação na internet da loja, ele consulte e veja se foi processado pela sefaz, fazer a contingencia se não tiver retorno, e depois fazer o cancelamento por substuição está criando mais problemas, porque acaba gerando muita nota em contingência. E os usuários não fazem o devido envio.

     

  7.  De qual xml que está falando? 

    Temos vários xmls, por via das dúvidas segue o código: 

    function TNFe.EnviarNFCe(
                      NumeroNota,
                      Codigo_Operacao,
                      Destinatario,
                      Usuario: integer;
                      TipoOperacao: integer;
                      var StatusNFCe : integer;
                      var s_Contingencia : String;
                      var ChaveNFCe : String): Boolean;
    var
       TextoNFCe      : TStrings;
       s_FormaEmissao : string;
    //   ReciboEnvio    : string;
    //   Retorno_Sefaz  : String;
    //   ProtocoloNFCe  : string;
       QtdeConsulta      : integer;
       xmlNota           : string;
       ErrosRegraNegocio : string;
       NumeroLote        : string;
       Chave_Except      : String;
       oACBRNFE : TACbrNfe;


       procedure Aprova_ou_DenegaNfce;
       begin

    //      ReciboEnvio   := ACBR_NFe.WebServices.Enviar.Recibo;
    //      ProtocoloNFCe := ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.nProt;
    //      Retorno_Sefaz := IntToStr(ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat) + ' ' +
    //                       RetornaStatusNFCe(ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat);

    //      AtualizaXML_NFCe(ChaveNFCe,
    //                       ACBR_NFe.NotasFiscais.Items[0].XML,
    //                       IntToStr(StatusNFCe),
    //                       ProtocoloNFCe,
    //                       Retorno_Sefaz,
    //                       Usuario,
    //                       s_Contingencia);

       end;


    begin
    //   ProtocoloNFCe  := '';
    //   Retorno_Sefaz  := '';
    //   ReciboEnvio    := '';
       s_FormaEmissao := '';

       Result         := False;
       QtdeConsulta   := 0;
       xmlNota        := '';
       ErrosRegraNegocio := '';
       Chave_Except  := '';
       // Contingencia:
       // S = S/Não Enviada
       // N = Nao
       // E = S/Aprovada

       try
          try
             TCtrlNfe.GetInstance.CarregaDanfe(FACBR_NFe);
             acbr_nfe.Configuracoes.WebServices.Visualizar := False;
             ChaveNFCe := StringReplace(ACBR_NFe.NotasFiscais.Items[0].Nfe.infNFe.ID, 'NFe', '', [rfIgnoreCase]);
             NumeroLote := FormatDateTime('yyyymmddhhmmss', NOW);
             begin
                WaitShowMessage('Enviando NFC-e...');
                if ACBR_NFe.Enviar(NumeroLote, False, True) then
                begin
                   try
                      //showmessage(ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat.ToString);

                     StatusNFCe := ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat;
                     AnalisaTipoRetorno(StatusNFCe);//Cuidado Rubens, o retorno é alterado na porra da função
                   except
                     StatusNFCe := 4;
                   end;

                   //Se não retornar nada faço consulta no sefaz enviando o xml
                   if StatusNFCe = 4 then
                   begin
                      xmlNota := ACBR_NFe.NotasFiscais.Items[0].XML;

                      while ((StatusNFCe = 4) and (QtdeConsulta < 5)) do
                      begin
                        StatusNFCe   := ConsultaNFCeSefaz(xmlNota);
                        QtdeConsulta := QtdeConsulta + 1;
                      end;
                   end;

                   // Aprovada ou Denegada
                   if ((StatusNFCe = 1) or (StatusNFCe = 5))  then
                   begin
                      Aprova_ou_DenegaNfce;

                      // se for denegada grava a NFCe, mas nao libera para gravar a venda
                      if StatusNFCe = 5 then
                      begin
                        TFalconFuncoes.GetInstance.MostraMensagem('Rejeição: NF-e está denegada na base de dados da SEFAZ.'+sLineBreak+
                                                                  'A venda será cancelada.',4);
                        Result := False;
                      end
                      else
                         Result:= True;

                   end;
                end;
             end

          except
              on e: exception do
              begin
                 showmessage(E.Message);

                 WaitCloseMessage;
                 Chave_Except := ChaveNFCe;
                 showmessage(ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat.ToString);

                 showmessage(ChaveNFCe);

                 TFalconFuncoes.GetInstance.GravaLogerro('Erro ao enviar NFCe '+ ChaveNFCe+' - '+ 'cStat : '+ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat.ToString);

                 oACBRNFe := TAcbrNfe.Create(nil);

                 TCtrlNfe.GetInstance.ConfiguraACBrNFe(oACBRNFe, moNFCe);

                 oACBRNFe.WebServices.Consulta.NFeChave := Chave_Except;
                 oACBRNFe.WebServices.Consulta.Executar;

                 oACBRNFe.WebServices.Consulta.

                if oACBRNFe.WebServices.Consulta.cStat = 100 then
                begin
                   ACBR_NFe.NotasFiscais.Items[0].NFe.procNFe.Assign(oACBRNFe.WebServices.Consulta.protNFe);
                   Result := True;
                end
                else
                begin


                 //if (pos('Lote recebido com sucesso', UpperCase(e.Message)) > 0) then
                 if ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat in [103,0] then
                 begin
                   for var Contador: integer := 0 to 15 do
                   begin
                      WaitShowMessage('Consultando lote processado...');
                      Sleep(2000);
                      try
                         StatusNFCe := ConsultaNFCeSefaz(ACBR_NFe.NotasFiscais.Items[0].XML); //Cuidado Rubens, o retorno é alterado na porra da função
                      except end;

                      if not (StatusNFCe in [0,6]) then break;
                   end;

                   showmessage(StatusNFCe.ToString);

                   WaitCloseMessage;

                   if StatusNFCe = 1 then
                   begin
                      Aprova_ou_DenegaNfce;
                      Result := True;
                   end;
                 end;


                 if TBancoDados.execSqlBD(
                                           ' update TAB_NFC_E '+
                                           ' SET STATUS_RETORNOSEFAZ='+QuotedStr(Copy(e.Message,1,200))+
                                           ' where CHV_NF = '+
                                           QuotedStr(ChaveNFCe)) then
                 begin
                    TFalconFuncoes.GetInstance.GravaLogerro('Erro ao enviar NFCe '+ ChaveNFCe+' - '+ e.Message);

                    //Apagando o xml da nota que não deu certo
                    LimpaTemp(0,ChaveNFCe,'0');
                 end;

                 //mais explicito, tipo pau entrando no cú
                 //Permite gerar NFC-e em contigência quando ocorrer alguns tipos de exceção
                 if  pos(Uppercase('Nenhum arquivo de Schema encontrado na pasta'),UpperCase(e.Message)) > 0 then
                   exit;


    //             if ((pos('ERRO NAO CATALOGADO', UpperCase(e.Message)) > 0)
    //                //or (pos('TIMEOUT', UpperCase(e.Message)) > 0)
    //                or (pos('ERRO HTTP: 404', UpperCase(e.Message)) > 0)
    //                or (pos('ERRO HTTP: 500', UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Falha no processamento do WebService'), UpperCase(e.Message)) > 0)
    //                //or (pos(UpperCase('Falha em obter Provedor de Criptografia do Certificado. Erro: 8009000B , erro: $8009000B'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Erro HTTP: 403'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Erro HTTP: 403'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Erro HTTP: 0'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('ERRO INTERNO'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Servico Paralisado Momentaneamente'), UpperCase(e.Message)) > 0)
    //                or (pos(UpperCase('Falha no reconhecimento da autoria ou integridade do arquivo digital'), UpperCase(e.Message)) > 0)
    //                //or (ACBR_NFe.NotasFiscais.Items[0].Nfe.procNFe.cStat = 0))
    //                )
    //                then
    //                  GeraContingencia
    //             else
                 begin
                    TFalconFuncoes.GetInstance.MostraMensagem('Erro ao enviar NFC-e para aprovação. Erro: ' + e.Message);
                    Result:= False;
                 end;


                end;
              end;

          end;
       finally
          LimpaTemp(0,ChaveNFCe,'0');
          if Assigned(oACBRNFE) then FreeAndNil(oACBRNFE);
          WaitCloseMessage;
       end;
     

  8. Boa tarde a todos.

    Sei que já tem um tópico com esse titulo, mas a questão acredito que seja outra.

    Tenho o processo de emissão, na emissão, quando dá algum  problema de comunicação com a SEFAZ,  acontece de ela ter recebido e processado a NFC-e, ai para não dar duplicidade, eu consulto pela chave, com outro objeto, pela chave, se me retorna "oACBRNFe.WebServices.Consulta.cStat = 100" então eu atualizo o objeto de emissão : ACBR_NFe.NotasFiscais.Items[0].NFe.procNFe.Assign(oACBRNFe.WebServices.Consulta.protNFe);

    Mas nesse processo, sei que deve estar faltando alguma coisa para que a impressão saia de forma correta.

    Será que podem me ajudar? 

  9. Estou tentando testar o ecfvirtual nfc-e, mas na hora que vou inicializar o ECF dá a seguinte mensagem "First chance exception at $74EC3EF2. Exception class EAccessViolation with message 'Access violation at address 0099FFDD in module 'ECFTeste.exe'. Read of address 0000007C'. Process ECFTeste.exe (9084)" na preocedure :

    Procedure TACBrECFVirtualNFCeClass.AtivarVirtual;
    begin
      fsACBrNFCe.NotasFiscais.Clear; <-- aqui dá o erro
      inherited AtivarVirtual;

      fsACBrNFCe.Configuracoes.Geral.ModeloDF := moNFCe;

      fsNomeArqTempXML := ChangeFileExt(NomeArqINI, '.xml');
    end;

     

     

    Alguém pode ajudar?

  10. Bom dia amigos, depois de muito trabalho acabei desistindo de resolver, mas por acidente acabei achando o problema, nem a Bematech conseguiu me responder de forma satisfatória...bem o problema é que na bemafi32.ini tem as informações da softhouse, essas informações devem ser preenchidas, eu nunca me atentei a isso.

    Att,

     

  11. Amigos, bom dia!!!

     

    Estou com problema na geração do CAT52, quando executo o comando PafMF_MFD_Cotepe1704, a bemafi retorna -1, ele faz o dawnload da mfd, gera um log xml, dizendo que a chave privada não está logada.

    Já tentei de tudo, apaguei todos os bemafi32 do computador, usei a dll que está no trunk2, tanto a antiga como a mais nova, baixei a versão do site da Bematech e nada, coloquei no system32 e por ai vai.... continua dando o mesmo erro.

    Será que alguém pode me dar uma luz??

     

    Att,

    Segue o arquivo em anexo.

    bemalog_03-03-2016.xml

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