Estou tentando fazer o encerramento, mas esta retornando um erro. Estou em ambiente de HOMOLOGAÇÃO. Deve ser uma coisa boba, já revisei minha rotinha e não consegui encontrar o problema. O erro que retorna é :-
chMDFe is unspected according to content model of parent element.
minha rotina de cancelamento :-
frmStatusReceita := TfrmStatusReceita.Create(Self);
mdf.carregaMFDe(iMDFe);
mdf.IdUsuario := iIdUsuario;
mdf.Encerra := Now;
Result := False;
ACBrMDFe1.Manifestos.Clear;
frmStatusReceita.JvMemo1.Lines.Add('================Iniciando===========================');
frmStatusReceita.JvMemo1.Lines.Add('Carregando configurações....');
configuraMDFe(mdf.IdEmpresa); {carrega informações da empresa (configuracao, geral, webservice) no ACBRMDFe1}
frmStatusReceita.Show;
frmStatusReceita.BringToFront;
// carregaMDFe(iMDFe);
cArqMDFe := mdf.MDFePath;
JvOpenDialog1.Title := 'Selecione o MDFe';
JvOpenDialog1.DefaultExt := '*-MDFe.xml';
JvOpenDialog1.Filter := 'Arquivos MDFe (*-MDFe.xml)|*-MDFe.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
JvOpenDialog1.InitialDir := ExtractFileDir(mdf.MDFePath);
if not FilesExists(cArqMDFe) then
begin
if JvOpenDialog1.Execute then
cArqMDFe := JvOpenDialog1.FileName;
end;
if FilesExists(cArqMDFe) then
begin
frmStatusReceita.JvPanel1.Caption := ' Ecerramento do MDFe';
frmStatusReceita.Label1.Caption := 'Processando... ';
Application.ProcessMessages;
frmStatusReceita.JvMemo1.Lines.Add('Carregando MDFe [' + IntToStr(mdf.Numero) + ']');
ACBrMDFe1.Manifestos.LoadFromFile(cArqMDFe);
with ACBrMDFe1.EventoMDFe.Evento.Add do
begin
infEvento.chMDFe := Copy(ACBrMDFe1.Manifestos.Items[0].MDFe.infMDFe.ID, 5, 44);
infEvento.CNPJ := IntToStr(mdf.EmiCNPJ);
infEvento.dhEvento := mdf.Encerra;
infEvento.tpEvento := teEncerramento;
infEvento.nSeqEvento := 1;
infEvento.detEvento.nProt := ACBrMDFe1.Manifestos.Items[0].MDFe.procMDFe.nProt;
infEvento.detEvento.dtEnc := mdf.Encerra;
infEvento.detEvento.cUF := StrToInt(Copy(IntToStr(ACBrMDFe1.Manifestos.Items[0].MDFe.infDoc.infMunDescarga.Items[0].cMunDescarga),1,2));
infEvento.detEvento.cMun := ACBrMDFe1.Manifestos.Items[0].MDFe.infDoc.infMunDescarga.Items[0].cMunDescarga;
end;
frmStatusReceita.JvMemo1.Lines.Add('Lendo o certificado e consultando a receita, AGUARDE...');
try
Result := False;
ACBrMDFe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(Result, IntToStr(mdf.TpAmbiente));
ACBrMDFe1.EnviarEventoMDFe( iMDFe ); // Numero do Lote
frmStatusReceita.JvMemo1.Lines.Add('');
frmStatusReceita.ativaBotao(True);
registraRetorno(iSegundo, True, 1);
Result := True;
except
frmStatusReceita.Label1.Caption := 'ERRO !!! ';
frmStatusReceita.ativaBotao(True);
registraRetorno(iSegundo, False, 1);
end;
segue em anexo a mensagem de erro e o xml em questão.
35141101223016000126580000000000021000000255-mdfe.xml