Para realizar a consulta das NFS-e´s enviadas ao Manager SaaS/EDoc basta utilizar o método ConsultarNFSe informando o filtro da consulta e a ordem da mesma. Segue abaixo os detalhes do método e de seu retorno.
Detalhes ConsultarNFSe
Função: Obter informações de notas que foram enviadas ao Manager SaaS/EDoc.
Classe: TspdNFSeClientX
Método: ConsultarNFSe
Tipo Retorno: spdRetConsultaNFSeListX
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aFiltro | Texto | Não |
Condição para refinar os resultados da consulta. É Case Sensitive. Exemplo: situacao='REJEITADA' |
aOrdem | Texto | Não |
Ordena a consulta. Exemplo: Handle desc |
Atenção! Caso nenhum parâmetro for informado, a consulta irá executar e trazer todos os registros de acordo com o máximo de registros retornados por consulta configurado no Manager EDoc. No Manager SaaS o limite é fixo em 100 registros por consulta.
Delphi
procedure TfrmConsultarNFSe.btnConsultarNFeClick(Sender: TObject);
var
_Retorno: spdRetConsultaNFSeListX;
I: Integer;
begin
//Esse metodo faz a consulta no Manager eDoc pelo Componente Manager Client
_Retorno := frmExemplo.NFSe.ConsultarNFSe(edtFiltro.Text, edtOrdem.Text);
frmExemplo.memoRetorno.Clear;
//Após capturar o retorno, faremos um loop nas notas encontradas
if _Retorno.Status = Sucesso then
begin
if _Retorno.Count = 0 then
frmExemplo.memoRetorno.Lines.Add('Nenhum resultado encontrado');
for I := 0 to _Retorno.Count - 1 do
begin
frmExemplo.memoRetorno.Lines.Add('Número NFSe: ' + _Retorno.Item(I).nnfse);
frmExemplo.memoRetorno.Lines.Add('Situação: ' + _Retorno.Item(I).situacao);
frmExemplo.memoRetorno.Lines.Add('Série: ' + _Retorno.Item(I).serie);
frmExemplo.memoRetorno.Lines.Add('Tipo: ' + _Retorno.Item(I).tipo);
frmExemplo.memoRetorno.Lines.Add('Número RPS: ' + _Retorno.Item(I).nrps);
frmExemplo.memoRetorno.Lines.Add('Handle: ' + _Retorno.Item(I).handle);
frmExemplo.memoRetorno.Lines.Add(''); //Quebra uma linha para separar os itens da consulta
end;
end
else
begin
frmExemplo.memoRetorno.Lines.Add('Erro: ' + _Retorno.NomeExcecao + ', ' + _Retorno.Mensagem);
end;
Self.Close;
end;
Atenção!
- O retorno da consulta é uma lista e deve ser tratado como um array.
C#
private void btnConsultarNFSe_Click(object sender, EventArgs e)
{
string s = ConsultaNFSeForm("Consulta", "Exemplo Manager Client:", "");
if ((s != "fechar") && (s != ""))
{
string[] lines = Regex.Split(s, "\r\n");
int i;
string edtFiltro = lines[0];
string edtOrdem = lines[1];
spdRetConsultaNFSeListX Retorno = null;
try
{
//Esse metodo faz a consulta no Manager eDoc pelo Componente Manager Client
Retorno = NFSe.ConsultarNFSe(edtFiltro, edtOrdem);
//Após capturar o retorno, faremos um loop nas notas encontradas
memoRetorno.Text = "";
if (Retorno.Status == spdManagerClientX.TStatus.Sucesso)
{
if (Retorno.Count() == 0)
{
memoRetorno.Text = "Nenhum resultado encontrado";
}
for (i = 0; i < Retorno.Count(); i++)
{
memoRetorno.Text = memoRetorno.Text + "Handle: " + Retorno.Item(i).handle + "\n";
memoRetorno.Text = memoRetorno.Text + "Situação: " + Retorno.Item(i).situacao + "\n";
memoRetorno.Text = memoRetorno.Text + "Numero da Nota: " + Retorno.Item(i).nnfse + "\n";
memoRetorno.Text = memoRetorno.Text + "\n";
}
}
else
memoRetorno.Text = "Erro: " + Retorno.NomeExcecao + ", " + Retorno.Mensagem;
}
catch (Exception ex)
{
memoRetorno.Text = ex.Message;
}
}
}
Visual Basic 6
Private Sub btnConsultarNFSe_Click()
Dim Retorno As spdRetConsultaNFSeListX
Dim I As Integer
'Esse metodo faz a consulta no Manager eDoc pelo Componente Manager Client
Set Retorno = frmExemplo.NFSe.ConsultarNFSe(edtFiltro.Text, edtOrdem.Text)
'Após capturar o retorno, faremos um loop nas notas encontradas
frmExemplo.memoRetorno.Text = ""
If Retorno.Status = Sucesso Then
If Retorno.Count = 0 Then
frmExemplo.memoRetorno.Text = "Nenhum resultado encontrado"
End If
For I = 0 To Retorno.Count - 1
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + "Handle: " + Retorno.Item(I).handle + vbCrLf
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + "Situação: " + Retorno.Item(I).Situacao + vbCrLf
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + "Numero da Nota: " + Retorno.Item(I).nnfse + vbCrLf
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + vbCrLf
Next I
Else
frmExemplo.memoRetorno.Text = "Erro: " + Retorno.NomeExcecao + ", " + Retorno.Mensagem
End If
Me.Hide
End Sub
Retorno
O tipo spdRetConsultaNFSeListX possui os seguintes campos:
Campo | Tipo | Descrição |
Status | Constante | Retorna o status da operação: Sucesso ou Erro. |
NomeExcecao | Texto | Em caso de erro retorna a classe da Exception. |
Mensagem | Texto | Retorna a descrição da resposta do servidor. |
Item | Array do tipo spdRetConsultaNFSeX | Lista com os retornos. |
O tipo spdRetConsultaNFSeX possui os seguintes campos:
Campo | Tipo | Descrição |
idIntegracao | Texto | Número de identificação da NFS-e pelo emissor. |
situacao | Texto |
Situação da NFS-e. Exemplo: AUTORIZADA, REJEITADA. |
nrps | Texto |
Número do RPS. |
nLote | Texto |
Número do lote de envio da NFS-e. |
nprotocolo | Texto |
Número do protocolo do envio da NFS-e. |
dtEmissao | Texto |
Data de emissão da NF-e. |
Texto |
E-mail do tomador do serviço da NFS-e. |
|
handle | Texto | Identificador único da NFS-e no banco de dados do Manager SaaS/EDoc. |
dtAutorizacao | Texto | Data de Autorização da NFS-e. |
dtCancelamento | Texto | Data de cancelamento da NFS-e. |
CNPJ | Texto | O CNPJ do emissor da NFS-e. |
Cidade | Texto | Nome da cidade onde a NFS-e foi autorizada. |
idGrupo | Texto | Número de identificação do grupo no qual o CNPJ do emissor da NFS-e faz parte. |
serie | Texto | Número da série da NFS-e. |
tipo | Texto | Tipo do RPS. |
cnpjtomador | Texto | CNPJ do tomador do serviço da NFS-e. |
nometomador | Texto | Nome do tomador do serviço da NFS-e. |
nnfse | Texto | Número da NFS-e. |
serieprestacao | Texto | Número da série da NFS-e (Somente Padrão DSF). |
xmlNFSe | Texto | XML completo da NFS-e. |
motivo | Texto | Descrição do motivo da rejeição ou mensagem de autorização. |
codVerificacao | Texto | Código da verificação da NFS-e retornado pela prefeitura. |
Comentários
0 comentário
Por favor, entre para comentar.