Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde,

 

exatamente neste ponto do código ele retorna este erro, e não estou identificado o que pode ser, observei que no exemplo acbr após alimentar o componente o próprio enviar gera o lote, mais aqui não gera e da esse erro, alguém tem alguma sugestão que possa me falar.

nfse.jpg

Postado

Obrigado Daniel pela atenção, o mais interessante é que no exemplo ela passa dessa função.

aqui esta o trecho do código antes de dá o erro.

 

  ACBrNFSe1.NotasFiscais.Clear;

     dm.cdsListaNFSE.First;
     while not dm.cdsListaNFSE.Eof do
       begin
         sNumPRS :=  dm.cdsListaNFSERPS.AsString
                   + dm.cdsListaNFSESERIE.AsString;

         sCaminho := DiretorioNFSe.nfse +'Recibos\' + sNumPRS + '-rps.xml';

         if FileExists(sCaminho)
            then
            BEGIN
             ACBrNFSe1.NotasFiscais.LoadFromFile(sCaminho);

            END;

         dm.cdsListaNFSE.Next;
       end;

   end;

  if ACBrNFSe1.NotasFiscais.Count > 0 then
    begin
      sSqlCarga := nil;
      sSqlCarga := TSQLQuery.Create(sSqlCarga);
      sSqlCarga.SQLConnection := dm.conn;

      sSqlCarga.Close;
      sSqlCarga.SQL.Clear;
      sSqlCarga.SQL.Add('update controle_nfe_seq a set a.nfse_lote = a.nfse_lote + 1');
      sSqlCarga.ExecSQL;
      sSqlCarga.Close;
      sSqlCarga.SQL.Clear;
      sSqlCarga.SQL.Add('select * from CONTROLE_NFE_SEQ');
      sSqlCarga.Open;

      iLote := sSqlCarga.FieldByName('NFSE_LOTE').AsInteger;

      for i := 0 to ACBrNFSe1.NotasFiscais.Count - 1 do
        begin
          TRY
          sSqlCarga.Close;
          sSqlCarga.SQL.Clear;
          sSqlCarga.SQL.Add('insert into lote_nfse(id_Lote, data, rps)');
          sSqlCarga.SQL.Add(' values(:idLote ,:pdata, :rps)');
          sSqlCarga.ParamByName('idLote').AsInteger := iLote;
          sSqlCarga.ParamByName('pdata').AsDate := Now;
          sSqlCarga.ParamByName('rps').AsString := ACBrNFSe1.NotasFiscais.Items.NFSe.IdentificacaoRps.Numero;
          sSqlCarga.ExecSQL;

          EXCEPT
           sSqlCarga.Cancel;
          END;

          //grava na nfse
          sSqlCarga.Close;
          sSqlCarga.SQL.Clear;
          sSqlCarga.SQL.Add('UPDATE NFSE SET LOTE = :LOTE');
          sSqlCarga.SQL.Add(' WHERE RPS = :RPS');
          sSqlCarga.ParamByName('LOTE').AsString := IntToStr(iLote);
          sSqlCarga.ParamByName('rps').AsString := ACBrNFSe1.NotasFiscais.Items.NFSe.IdentificacaoRps.Numero;
          sSqlCarga.ExecSQL;


        end;


      ACBrNFSe1.Enviar(iLote); *************erro aqui

Postado

Bom dia,

Seguindo os passos do exemplo passei a alimentar o componente e depois enviar, desta forma deu certo, antes eu estava gerando xml e depois dando loadfromfile, a dúvida é a função esta com erro ou tem algo que tem que se fazer diferente para carregar o xml.

Outra questão seria como atualizar o número da nota que gerol o rps, pois minha danfe sai em numero de nota, 

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