Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou tentando consultar a sequencia da RPS e estou tendo problemas no componente

 

Chamada no meu sistema : ACBrNFSe1.ConsultarSequencialRPS( '9051','10255232000144','132716005','99');

 

erro dentro da unit ACBrNFSeWebServices na linha 2711, indica que "Self.ConsSeqRPS.Cnpj" e os demais esta nil causando erro apartir da linha 2718 onde destaquei em vermelho

 

function TWebServices.ConsultaSequencialRPS(ACidade, ACnpj,
  AInscricaoMunicipal, ASeriePrestacao: String): Boolean;
begin
 ACnpj := OnlyNumber(ACnpj);
 if not ValidarCNPJ(ACnpj) then
  raise Exception.Create('CNPJ '+ACnpj+' inválido.');

 Self.ConsSeqRPS.Cnpj                       := ACnpj;
 Self.ConsSeqRPS.InscricaoMunicipal := AInscricaoMunicipal;
 Self.ConsSeqRPS.FSeriePrestacao    := ASeriePrestacao;


 Result := Self.ConsSeqRPS.Executar;
 if not (Result)
  then begin
   if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
    then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.ConsSeqRPS.Msg);
   if Self.ConsSeqRPS.Msg <> ''
    then raise Exception.Create(Self.ConsSeqRPS.Msg)
    else raise Exception.Create('Erro Desconhecido ao Consultar a Sequencia de RPS!')
  end;
end;
 

 

Postado (editado)

Italo eu baixei e mesmo assim da o erro então acompanhei o código e encontrei que vc fez alteração mas mesmo assim o erro persiste. masquei o local do erro para ter certeza que foi ai a alteração

quando ele chega na área marcada em vermelho da erro de violação de acesso indicando que  Self.ConsSeqRPS.FCidade não esta estanciada.

 

a nao ser que eu esteja fazendo chamada errado, estou chamando assim

-----------------------------------------------------------------------------------------------------

procedure TfrmConversao.cxButton2Click(Sender: TObject);
begin
  //consultar sequencial do proximo RPS
  NFSe.ConsultarSequencialRPS( '9051','10255232000144','132716005','99');
end;

-----------------------------------------------------------------------------------------------------

 

function TWebServices.ConsultaSequencialRPS(ACidade, ACnpj,
  AInscricaoMunicipal, ASeriePrestacao: String): Boolean;
begin
 ACnpj := OnlyNumber(ACnpj);
 if not ValidarCNPJ(ACnpj) then
  raise Exception.Create('CNPJ '+ACnpj+' inválido.');
 // Alterado por Italo em 30/06/2014
 Self.ConsSeqRPS.FCidade             := ACidade;
 Self.ConsSeqRPS.FCnpj               := ACnpj;
 Self.ConsSeqRPS.FInscricaoMunicipal := AInscricaoMunicipal;
 Self.ConsSeqRPS.FSeriePrestacao     := ASeriePrestacao;
 
 Result := Self.ConsSeqRPS.Executar;
 
 if not (Result)
  then begin
   if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
    then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.ConsSeqRPS.Msg);
   if Self.ConsSeqRPS.Msg <> ''
    then raise Exception.Create(Self.ConsSeqRPS.Msg)
    else raise Exception.Create('Erro Desconhecido ao Consultar a Sequencia de RPS!')
  end;
 
end;
Editado por ailtonbrc
Postado

Italo, o erro indicado acima esta resolvido mas em outra parte esta retornando erros que nao consigo identificar, inclusive algumas mens. de erros retorna com caracteres em chines, "Joguei no google e a tradução saiu zuada", se voce quizer eu passo 

 

uma inscrição, um cnpj e um certificado valido para vc fazer uns testes ai com a prefeitura de Campo Grande - MS

 

derrepente eu saio do rolo que estou, ate por nao entender que esta acontecendo para te explicar com mais propriedade.

Postado
o erro ocorre exatamente nesta linha marcada em vermelho "unit ACBrNFSeWebServices;  na linha 4889" retorna o seguinte erro: http://www.msdeveloper.com.br/image/erro_nfse.png
erro_nfse.png
 
 
OBS: Forma que usei a chamada e os parametros enviado foi assim:      {NFSe.ConsultarSequencialRPS('5002704','10255232000144','00132716005', '1'); }  estes dados informado nos parametros são os dados reais do cliente registrado na base da Prefeitura de Campo Grande - MS
 
 
  StrStream.Free;
  {$ELSE}
    ReqResp.Execute(Acao.Text, Stream);
    StrStream := TStringStream.Create('');
    StrStream.CopyFrom(Stream, 0);
 
    FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
    FRetWS     := FProvedorClass.GetRetornoWS(acConsSecRps, FRetornoWS);
 
    StrStream.Free;
Postado (editado)

Italo,  Atualizei e o erro persiste, entao eu andei depurando com mais cuidado e cheguei a um outro lugar que pode ajudar a desvendar o erro

 

na linha 751 da Unit Soap.SOAPHTTPTrans; o valor da FURLHost chega com valor vazio '' desta forma não tem o endereço para conexão quando ele passa por este codigo gera o erro que e mostrado na linha 753 Check(not Assigned(FInetConnect)); que mostra o erro,  então depurando quando chegou nesta linha eu coloquei alterei o valor da FURLHost  para http://nfse.pmcg.ms.gov.br/WsNFe2/LoteRps   desta forma a conexao foi efetuada com sucesso e o processo deu andamento e foi para outra etapa que gerou outro erro identifiquei o codigo com o nome Codigo Erro 2 , erro mostrado na imagem : erro_nfse_2.png

 

Codigo Erro 1

    try
      FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
        PChar(FPassword), INTERNET_SERVICE_HTTP, 0, Cardinal(Self));
      Check(not Assigned(FInetConnect));
      FConnected := True;
    except
      InternetCloseHandle(FInetRoot);
      FInetRoot := nil;
      raise;
    end;
 
Codigo Erro 2
   if not InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)*5)
    then begin
     if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
      then TACBrNFSe( FACBrNFSe ).OnGerarLog('ERRO: Erro OnBeforePost: ' + IntToStr(GetLastError));
     raise Exception.Create( 'Erro OnBeforePost: ' + GetLastErrorText {IntToStr(GetLastError)} );
      end;
    end;
Editado por ailtonbrc
  • Este tópico foi criado há 3795 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.