Ir para conteúdo
  • Cadastre-se

Edrian

Membros
  • Total de ítens

    17
  • Registro em

  • Última visita

Últimos Visitantes

994 visualizações

Edrian's Achievements

Apprentice

Apprentice (3/14)

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

Recent Badges

0

Reputação

  1. Que bom que pra vc funcionou, eu ainda tenho problema em máquinas usando Windows XP e 7
  2. Ok valeu, estou usando a ultima versão. Vou quebrar a cabeça aqui Obrigado
  3. Fiz a atualização e da o mesmo erro. Se acesso o endereço https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp pelo navegador, abre sem problema. Porem se vou fazer a consulta pela aplicação me retorna o seguinte erro em anexo
  4. unit ACBrConsultaCPF; interface uses SysUtils, Classes, ACBrSocket; type EACBrConsultaCPFException = class ( Exception ); { TACBrConsultaCPF } TACBrConsultaCPF = class(TACBrHTTP) private FNome: String; FSituacao: String; FCPF: String; FDigitoVerificador: String; FEmissao: String; FCodCtrlControle: String; FTokenCaptcha: String; function VerificarErros(Str: String): String; function LerCampo(Texto: TStringList; NomeCampo: String): String; public procedure Captcha(Stream: TStream); function Consulta(const ACPF, DataNasc, ACaptcha: String; ARemoverEspacosDuplos: Boolean = False): Boolean; published property CPF: String Read FCPF Write FCPF; property Nome: String Read FNome; property Situacao: String Read FSituacao; property DigitoVerificador: String Read FDigitoVerificador; property Emissao: String Read FEmissao; property CodCtrlControle: String Read FCodCtrlControle; end; implementation uses ACBrUtil, ACBrValidador, synacode, synautil, strutils; function StrEntreStr(Str, StrInicial, StrFinal: String; ComecarDe: Integer = 1): String; var Ini, Fim: Integer; begin Ini:= PosEx(StrInicial, Str, ComecarDe) + Length(StrInicial); if Ini > 0 then begin Fim:= PosEx(StrFinal, Str, Ini); if Fim > 0 then Result:= Copy(Str, Ini, Fim - Ini) else Result:= ''; end else Result:= ''; end; procedure TACBrConsultaCPF.Captcha(Stream: TStream); var Img64, ImgBin, DataClientID: AnsiString; P: Integer; begin try //DataClientID := '41ff278aba054a4cb14ab7a03d2f4c4d'; //HTTPPost('http://captcha2.servicoscorporativos.serpro.gov.br/captcha/1.0.0/imagem', DataClientID); // HTTPGet('http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/captcha/gerarCaptcha.asp'); HTTPGet('https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp'); if HTTPSend.ResultCode = 200 then begin (* Img64 := RespHTTP.Text; P := pos('@',Img64); if P > 0 then begin FTokenCaptcha := copy(Img64,1,P-1); Img64 := copy(Img64,P+1,Length(Img64)-Length(FTokenCaptcha)+2); end else raise Exception.Create(''); ImgBin := DecodeBase64(Img64); Stream.Write(Pointer(ImgBin)^,Length(ImgBin)); *) HTTPSend.Document.Position := 0; Stream.CopyFrom(HttpSend.Document, HttpSend.Document.Size); Stream.Position := 0; end; Except on E: Exception do begin raise EACBrConsultaCPFException.Create('Erro na hora de fazer o download da imagem do captcha.'+#13#10+E.Message); end; end; end; function TACBrConsultaCPF.VerificarErros(Str: String): String; var Res: String; begin Res := ''; if Res = '' then if Pos( ACBrStr('Os caracteres da imagem não foram preenchidos corretamente'), Str) > 0 then Res := 'Os caracteres da imagem não foram preenchidos corretamente.'; if Res = '' then if Pos(ACBrStr('O número do CPF não é válido. Verifique se o mesmo foi digitado corretamente.'), Str) > 0 then Res := 'O número do CPF não é válido. Verifique se o mesmo foi digitado corretamente.'; if Res = '' then if Pos(ACBrStr('Não existe no Cadastro de Pessoas Jurídicas o número de CPF informado. '+ 'Verifique se o mesmo foi digitado corretamente.'), Str) > 0 then Res := 'Não existe no Cadastro de Pessoas Jurídicas o número de CPF informado. '+ 'Verifique se o mesmo foi digitado corretamente.'; if Res = '' then if Pos(ACBrStr('a. No momento não podemos atender a sua solicitação. Por favor tente mais tarde.'), Str) > 0 then Res := 'Erro no site da receita federal. Tente mais tarde.'; Result := ACBrStr(Res); end; function TACBrConsultaCPF.LerCampo(Texto : TStringList ; NomeCampo : String ) : String ; var i : integer; linha : String; begin NomeCampo := ACBrStr(NomeCampo); Result := ''; for i := 0 to Texto.Count-1 do begin linha := Texto; if Pos(NomeCampo, linha) > 0 then begin Result := Trim(StringReplace(linha, NomeCampo, ' ',[rfReplaceAll])); break; end; end end; function TACBrConsultaCPF.Consulta(const ACPF, DataNasc, ACaptcha: String; ARemoverEspacosDuplos: Boolean): Boolean; var Post: TStringStream; Erro: String; Resposta : TStringList; begin Erro := ACBrValidadorValidarCPF( ACPF ) ; if Erro <> '' then raise EACBrConsultaCPFException.Create(Erro); //txtCPF=11122334410&txtToken_captcha_serpro_gov_br=299218104152138191166941752496584741018616278361624164&txtTexto_captcha_serpro_gov_br=ZCI8B9&Enviar=Consultar Post:= TStringStream.Create(''); try //acredito que irão mudar esse tempTxtCPF, tempTxtNascimento, temptxtToken e temptxtTexto_captcha_serpro_gov_br para como era anteriormente Post.WriteString('tempTxtCPF='+ACPF+'&'); Post.WriteString('tempTxtNascimento='+datanasc+'&'); Post.WriteString('temptxtToken_captcha_serpro_gov_br='+FTokenCaptcha+'&'); Post.WriteString('txtTexto_captcha_serpro_gov_br='+Trim(ACaptcha)+'&'); Post.WriteString('temptxtTexto_captcha_serpro_gov_br='+Trim(ACaptcha)+'&'); Post.WriteString('Enviar=Consultar'); Post.Position:= 0; HttpSend.Clear; HttpSend.Document.Position:= 0; HttpSend.Document.CopyFrom(Post, Post.Size); HTTPSend.MimeType := 'application/x-www-form-urlencoded'; // HTTPPost('http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublicaExibir.asp'); HTTPPost('https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublicaExibir.asp'); Erro := VerificarErros(RespHTTP.Text); if Erro = '' then begin Result:= True; Resposta := TStringList.Create; try Resposta.Text := StripHTML(RespHTTP.Text); RemoveEmptyLines( Resposta ); //DEBUG: //Resposta.SaveToFile('C:\temp\cpf.txt'); FCPF := LerCampo(Resposta,'No do CPF:'); FNome := LerCampo(Resposta,'Nome da Pessoa Física:'); FSituacao := LerCampo(Resposta,'Situação Cadastral:'); FEmissao := LerCampo(Resposta,'Comprovante emitido às:'); FCodCtrlControle := LerCampo(Resposta,'Código de controle do comprovante:'); FDigitoVerificador := LerCampo(Resposta,'Digito Verificador:'); finally Resposta.Free; end ; if Trim(FNome) = '' then raise EACBrConsultaCPFException.Create('Não foi possível obter os dados.'); if ARemoverEspacosDuplos then begin FNome := RemoverEspacosDuplos(FNome); end; end else begin Result:= False; raise EACBrConsultaCPFException.Create(Erro); end; finally Post.Free; end; end; end.
  5. Boa tarde, os endereços para consultar CPF foram alterados para HTTPS. https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp e https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublicaExibir.asp Fiz a alteração em ACBRConsultaCPF, na minha máquina rodando windows 10 a consulta foi feita sem problema, Porem se faço a mesma consulta em uma estação com WIN XP / WIN 7, me retorna erro http 500. Alguém pode dar uma Luz? Obrigado
  6. Boa tarde Wilson, eu pensei em fazer isso, porem, a prefeitura usa um IDNFSE na URL que não existe no XML e não é o número da nota, nem o protocolo. Coisa de louco.
  7. Bom dia, tenho o componente ACBRNFSe trabalhando com a prefeitura de Foz do Iguaçu, e a alguns dias notificaram a empresa, a notificação fala que não posso formatar a nota localmente e imprimir, preciso imprimir diretamente do site da prefeitura. Alguém já fez isso e pode me dar uma luz de como posso fazer? Desde já obrigado.
  8. Erro E325 provedor LEXSOM Foz do Iguaçu. Alguém já pelo erro?
  9. Eu estava com o mesmo problema e resolvi com a atualização do Italo
  10. Bom dia pessoal. Estou implantando o sistema de NFSE e me deparei com o seguinte erro: Ao enviar o lote RPS ele me retorna o erro Assinatura do lote RPS invalido o lote de rps deve conter assinatura vinculada a certificado digital padrao ICP Brasil. Posso o certificado válido e não expirado. Segue em anexo o XML gerado. Alguém pode me ajudar? 1-env-lot.xml
  11. Bom dia Italo, vou atualizar e testar e aviso. Obrigado
  12. Se eu clico em gerar RPS ele gera sem problema. Se eu clico em Gerar e Enviar RPS ou Gerar e enviar lote RPS ou Gerar Lote RPS, ele me retorna o erro RAISED EXCEPITON CLASS EOLEEXCEPTION WITH MESSAGE 'ERRO NÃO ESPECIFICADO'.
  13. Bom dia Juliomar. O próprio demo tem um verificador que diz que a cidade é atendida pelo componente. Provedor Lexsom. Fiz algumas pesquisas e vi que algumas pessoas já tiveram o mesmo problema e a solução estava no "id" mas já verifiquei e o "Id" está igual aos outros schemas que funcionam.
  14. Boa tarde a todos, estou implantando a NFSE com o ACBRNFSE com o Schemas de Foz do Iguaçu, e ao fazer testes com o DEMO quando clico em Gerar RPS ele me retorna o erro RAISED EXCEPITON CLASS EOLEEXCEPTION WITH MESSAGE 'ERRO NÃO ESPECIFICADO'. Usando o debug cheguei na seguinte linha signedKey := xmldsig.sign(dsigKey, $00000002);. Utilizando outros provedores Ex: IssCuritiba o sistema roda perfeito. Alguém poderia me dar uma Luz? Obrigado
×
×
  • 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.

The popup will be closed in 10 segundos...