Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - ConsultarNFSeporRps - pegar imposto


joemil
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 693 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

to tentando assim:

FNFSeX.ConsultarNFSeporRps(ANumeroRps, ASerieRps, ATipoRps, ACodVerif);
FXML := FNFSeX.WebService.ConsultaNFSeporRps.XmlRetorno;
FNFSeX.NotasFiscais.LoadFromString(FXML, False);

arquivo XML de retorno em anexo

13UNICA-comp-nfse.xml

Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

TW Speed Telecom

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde Joemil,

Após executar essa consulta se o Rps foi processado com sucesso é preciso carregar o XML da Nota e não o XML do retorno.

Veja no programa exemplo no final da procedure ChecarResposta, tem um comentário indicando onde se encontra o XML da nota.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

obrigado italo, mas parece q a propriedade NotasFiscais nao ta sendo preenchida na consulta, somente quando envia
image.thumb.png.b69b97109747eea7bb9dc4ae3101aa3b.png

este é meu codigo pra pegar os dados da NFSe

/****** 
  ESTES DADOS NAO CONSIGO NA CONSULTA, SOMENTE NO ENVIO 
******/
procedure TNFSeX.GravaDadosNFSe;
begin
  if FNFSeX.NotasFiscais.Count = 0 then
    Exit;
  with FNFSeX.NotasFiscais.Items[0] do
  begin
    FQryNFSe.Edit;
    if Length(NFSe.Numero) > 0 then
    begin
      ShowMessage('RPS:'+FQryNFSe.FieldByname('rps_numero').AsString+#13+'NFSe: '+NFSe.Numero);
      FQryNFSe.FieldByName('nfse_numero').AsString := NFSe.Numero;
      FQryNFSe.FieldByName('Iss_Base').AsCurrency := NFSe.Servico.Valores.BaseCalculo;
      FQryNFSe.FieldByName('Iss_Valor').AsCurrency := NFSe.Servico.Valores.ValorISS;
      FQryNFSe.FieldByName('Iss_Valor_Retido').AsCurrency := NFSe.Servico.Valores.ValorISSRetido;
      FQryNFSe.FieldByName('Iss_Aliq').AsCurrency := NFSe.Servico.Valores.Aliquota;
      if FQryNFSe.FieldByName('ISS_Aliq').AsCurrency < 1 then
        FQryNFSe.FieldByName('ISS_Aliq').AsCurrency := FQryNFSe.FieldByName('ISS_Aliq').AsCurrency * 100;
      if Length(NFSe.CodigoVerificacao) > 0 then
        FQryNFSe.FieldByName('cod_verific').AsString := NFSe.CodigoVerificacao;
      FQryNFSe.FieldByName('nfse_datahora').Value := NFSe.DataEmissao;
      FQryNFSe.FieldByName('nfse_chave').AsString := NFSe.ChaveAcesso;
      FQryNFSe.FieldByName('Situacao').AsString := 'E';
    end;
    FQryNFSe.Post;
    FQryNFSe.ApplyUpdates;
  end;
end;

e este da consulta

  FNFSeX.ConsultarNFSeporRps(ANumeroRps, ASerieRps, ATipoRps, ACodVerif);
  FXML := FNFSeX.WebService.ConsultaNFSeporRps.XmlRetorno;
  if Trim(FNFSeX.WebService.ConsultaNFSeporRps.NumeroNota) <> '' then
  begin
    GravaDadosNFSe;
    with FNFSeX.WebService.ConsultaNFSeporRps do
    begin
      /****** 
         ESTES DADOS VEM NA CONSULTA 
      ******/
      FQryNFSe.Edit;
      FQryNFSe.FieldByname('protocolo').AsString := Protocolo; 
      FQryNFSe.FieldByname('nfse_numero').AsString := NumeroNota;
      if Length(CodVerificacao) > 0 then
        FQryNFSe.FieldByName('cod_verific').AsString := CodVerificacao;
      FQryNFSe.FieldByName('nfse_datahora').Value := Data;
      FQryNFSe.FieldByName('Situacao').AsString := 'E'; 
      FQryNFSe.Post;
      FQryNFSe.ApplyUpdates;
      Msg := 'DADOS DE RETORNO DA CONSULTA' + #13 +
        'Numero do Rps : ' + NumRPS+#13+
        'Série do Rps  : ' + Serie+#13+
        'Parâmetros de Retorno'+#13+
        'Numero do Lote: ' + Lote+#13+
        'Numero do Prot: ' + Protocolo+#13+
        'Numero da Nota: ' + NumeroNota+#13+
        'Situação      : ' + DescSituacao+#13+
        'Data          : ' + DateToStr(Data)+#13+
        'Desc. Situação: ' + DescSituacao+#13+
        'ID Nota       : ' + idNota+#13+
        'Link          : ' + Link+#13;
      MostraMensagem(Msg);
    end;
  end

veja q a propriedade NumeroNota eu consigo pegar, mas os outros dados da NFSe nao

Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

TW Speed Telecom

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Joemil,

Com exceção do ConsultarSituacao que existe na versão 1 do layout da ABRASF todas as demais consultas vão retornar o XML da(s) NFS-e.

Agora ao consulta se não retornar o XML da NFS-e é porque ocorreu algo, neste caso se faz necessário ler a lista de Erros.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

ja fiz isso, nao tem erros

se enviar o RPS, da certo, o XML da NFSe é retornado.

se eu pegar o mesmo RPS e consultar, depois de enviado com sucesso, nao retorna o XML

Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

TW Speed Telecom

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Joemil,

O componente cria uma pasta chamada Recibos e coloca dentro dela os XML dos Rps, quando o webservice retorna o XML da NFS-e ele cria uma pasta chamada Notas e coloca dentro dela os XML das notas.

Essas pastas são criadas dentro do Path que você definiu.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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