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