Para realizar a consulta dos MDF-e´s enviados ao Manager SaaS/EDoc basta utilizar o método ConsultarMDFe informando o filtro da consulta e a ordem da mesma. Segue abaixo os detalhes do método e de seu retorno.
Detalhes ConsultarMDFe
Função: Obter informações de manifestos que foram enviados ao Manager SaaS/EDoc.
Classe: TspdMDFeClientX
Método: ConsultarMDFe
Tipo Retorno: spdRetConsultaMDFeXList
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 TfrmConsultarMDFe.btnConsultarMDFeClick(Sender: TObject);
var
_Retorno: spdRetConsultaMDFeListX;
I: Integer;
begin
//Esse metodo faz a consulta no Manager SaaS/eDoc pelo Componente Manager Client
_Retorno := frmExemplo.MDFe.ConsultarMDFe(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('Chave: ' + _Retorno.Item(I).Chave);
frmExemplo.memoRetorno.Lines.Add('Situação: ' + _Retorno.Item(I).situacao);
frmExemplo.memoRetorno.Lines.Add('Numero do Manifesto: ' + _Retorno.Item(I).nMDF);
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 btnConsultarMDFe_Click(object sender, EventArgs e)
{
string s = ConsultaMDFeForm("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];
spdRetConsultaMDFeListX Retorno = null;
try
{
//Esse metodo faz a consulta no Manager eDoc pelo Componente Manager Client
Retorno = MDFe.ConsultarMDFe(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 + "Chave: " + Retorno.Item(i).Chave + "\n";
memoRetorno.Text = memoRetorno.Text + "Situação: " + Retorno.Item(i).situacao + "\n";
memoRetorno.Text = memoRetorno.Text + "Numero do Manifesto: " + Retorno.Item(i).nMDF + "\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 btnConsultarMDFe_Click()
Dim Retorno As spdRetConsultaMDFeListX
Dim I As Integer
'Esse metodo faz a consulta no Manager eDoc pelo Componente Manager Client
Set Retorno = frmExemplo.MDFe.ConsultarMDFe(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 + "Chave: " + Retorno.Item(I).Chave + vbCrLf
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + "Situação: " + Retorno.Item(I).Situacao + vbCrLf
frmExemplo.memoRetorno.Text = frmExemplo.memoRetorno.Text + "Numero do Manifesto: " + Retorno.Item(I).nMDF + 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 spdRetConsultaMDFeListX 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 spdRetConsultaMDFeX | Lista com os retornos. |
O tipo spdRetConsultaMDFeX possui os seguintes campos:
Campo | Tipo | Descrição |
handle | Texto | Número do identificador único do registro do MDF-e no banco de dados do Manager SaaS/eDoc. |
chave | Texto | Chave de acesso do MDF-e. |
situacao | Texto |
Situação do MDF-e.
Exemplo: AUTORIZADA, REJEITADA. |
nMDF | Texto | Número do MDF-e. |
codMDF | Texto |
Código do MDF-e. |
nRecibo | Texto |
Número do recibo do MDF-e. |
nProtEnvio | Texto | Número do protocolo do envio do MDF-e. |
nProtCanc | Texto | Número do protocolo do evento de cancelamento do MDF-e. |
nProtEnc | Texto | Número do protocolo de encerramento do MDF-e. |
modoEntrada | Texto |
Descreve o modo de operação do Manager SaaS/EDoc quando o MDF-e foi recebido pelo Manager.
Exemplo: Normal, Contingencia.
|
modoSaida | Texto |
Descreve o modo de operação do Manager quando o MDF-e foi enviado a SEFAZ.
Exemplo: Normal. |
CNPJ | Texto | O CNPJ do emissor do MDF-e. |
serie | Texto | Número da série do MDF-e. |
motivo | Texto | Descrição do motivo do retorno da SEFAZ. |
dtAutorizacao | Texto | Data de autorização do MDF-e. |
dtCadastro | Texto | Data de cadastro na base do Manager. |
dtCancelamento | Texto | Data de cancelamento do MDF-e. |
dtEncerramento | Texto | Data do encerramento do MDF-e |
dtEmissao | Texto | Data de emissão do MDF-e. |
impresso | Texto |
Indica se o MDF-e já teve seu DAMDFE impresso.
1 - Já Impresso. 0 - Ainda sem imprimir.
|
Texto | E-mail do destinatário do MDF-e. | |
idGrupo | Texto | Número de identificação do grupo no qual o CNPJ do emissor do MDF-e faz parte. |
nomeGrupo | Texto | Descrição do nome do grupo no qual o CNPJ do emissor do MDF-e faz parte. |
idIntegracao | Texto | Número de identificação do MDF-e pelo emissor. |
nLote | Texto | Número do lote de envio do MDF-e. |
envEmail | Texto |
Indica se o MDF-e foi enviado por e-mail para o destinatário.
1 - Já enviado. 0 - Não enviado. |
Eventos | Texto | Número de eventos vinculados ao MDF-e. |
Ambiente | Texto |
Ambiente no qual o MDF-e foi emitido. 1 - Produção. 2 - Homologação. |
impressora | Texto | Nome da impressora na qual o DAMDFE do MDF-e foi impresso. |
Comentários
0 comentário
Por favor, entre para comentar.