-
Total de ítens
3 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Carlos.Batista
-
-
Ha Resolvi o problema desa forma
FACBrMDFe.WebServices.Consulta.MDFeChave := FMDfeModel.ChvMdfe;
FACBrMDFe.WebServices.Consulta.Executar;
ACBrUtil.WriteToTXT(SysTempDir + 'temp.xml', ACBrUtil.ConverteXMLtoUTF8(FACBrMDFe.WebServices.Consulta.RetornoWS), False, False);LXMLDocument.LoadFromFile(SysTempDir + 'temp.xml');
Self.PercorrerXML(LXMLDocument.DocumentElement);procedure TForm1.PercorrerXML(const AXMLDocument: IXMLNode);
var
LIndexPrincipal, LIndexProcEventoMDFe, LIndexEventoMDFe: Integer;
LNodeProcEvento, LNodeEventoMDFe, LNode: IXMLNode;
LNodeNameProcEventoMDFe, LNodeName: String;
begin
if AXMLDocument <> nil then
begin
if AXMLDocument.HasChildNodes then
for LIndexPrincipal := 0 to Pred(AXMLDocument.ChildNodes.Count) do
begin
LNodeNameProcEventoMDFe := AXMLDocument.ChildNodes[LIndexPrincipal].NodeName;
if 'procEventoMDFe' = LNodeNameProcEventoMDFe then
begin
LNodeProcEvento := AXMLDocument.ChildNodes[LIndexPrincipal];
LNode := GetNodeXML(LNodeProcEvento, 'retEventoMDFe');
Self.PersistDadosRetornoEvento(LNode);
LNode := GetNodeXML(LNodeProcEvento, 'eventoMDFe');
LNode := GetNodeXML(LNode, 'infEvento');
Self.PersistDetEvento(LNode);
end;
Self.PercorrerXML(AXMLDocument.ChildNodes[LIndexPrincipal]);
end;
end;
end; -
Boa tarde estou com dificuldade em obter os dados vinculados no evento de inclusão nf, nao sei o que estou fazendo de erado,
nesse trecho sempre esta vazio > procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Count
FACBrMDFe.WebServices.Consulta.MDFeChave := FMDfeModel.ChvMdfe;
FACBrMDFe.WebServices.Consulta.Executar;with FACBrMDFe.WebServices.Consulta do
begin
for I := 0 to pred(procEventoMDfe.Count) do
begin
if (procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.tpEvento = teInclusaoDFe) and
(procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.nSeqEvento >= ASequencia) then
begin
try
LModel := TMdfeEventosModel.Create();
LMdfeNfeModel := TMdfeNfeModel.Create();LModel.CarregarProtocolo(procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt);
LModel.MdfeId := FMDfeModel.Id;
LModel.CodigoOperacao := IntToStr(ALote);
LModel.MdfeDescricaoOperacao := 'Inclusão de DF-e';
LModel.Status := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.cStat;
LModel.HistoricoOperacao := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.xMotivo;
LModel.Protocolo := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt;
LModel.DataHoraOperacao := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.dhRegEvento;
LModel.Sequencia := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nSeqEvento;
LModel.Persiste();for J := 0 to pred(procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Count) do
begin
LMdfeNfeModel.CarregarEvento(LModel.Id);
LMdfeNfeModel.NumMdfe := FMDfeModel.NumMdfe;
LMdfeNfeModel.SerieMdfe := FMDfeModel.SerieMdfe;
LMdfeNfeModel.Codcidade := FMDfeModel.CodMunCarrega;
LMdfeNfeModel.Cidade := TCidadesDAO.GetDado('Cidade', FMDfeModel.CodMunCarrega);
LMdfeNfeModel.CodigoCidadeCarrega := FMDfeModel.CodMunCarrega;
LMdfeNfeModel.CodigoCidadeDescarrega := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].cMunDescarga;
LMdfeNfeModel.CidadeDescarrega := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].xMunDescarga;
LMdfeNfeModel.ChvNfe := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].chNFe;
LMdfeNfeModel.MdfeEventId := LModel.Id;
LMdfeNfeModel.Persiste();
end;
ASequencia := procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.nSeqEvento;
finally
FreeAndNil(LModel);
FreeAndNil(LMdfeNfeModel);
end;
end;
end;
Consulta de Eventos MDFe
em ACBrMDFe
Postado
OK obrigado, não tinha reparado