Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1471 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa noite, existe algum componente que faça a importação do xml da DI (declaração de importação) para emissão da nota fiscal de entrada de importação? Alguem que já tenha feito nota de entrada de importação tem alguma dica? Grata

  • Membros Pro
Postado

Bom dia,comecei a rotina de ler a DI  e gerar o pedido para emissao da nf mas ainda nao conclui,vai lendo as tags e montando o pedido,estou fazendo assim

  • Curtir 1
  • Membros Pro
Postado

faco assimn

var
  XMLDoc: IXMLDocument;
 

  try

    w_ndi := '';

    try
    XMLDoc := TXMLDocument.Create(nil);

    xmlDoc.LoadFromFile(sFilenameEdit2.FileName); // 'D:\Desenvolvimento\Dados\Bd_FDiesel\1700656254.xml');
    XMLDoc.Active := true;

    ListaDeclaracoes:=XMLDoc.ChildNodes.FindNode('ListaDeclaracoes');
    if ListaDeclaracoes <> nil then
      begin
        NodeDeclaracao := ListaDeclaracoes.ChildNodes.FindNode('declaracaoImportacao');
        if NodeDeclaracao <> nil then
          begin

              for i := 0 to NodeDeclaracao.ChildNodes.Count - 1 do
              begin

                if NodeDeclaracao.ChildNodes[i].NodeName = 'adicao' then
                  begin

                    NodeAdicao  := NodeDeclaracao.ChildNodes[i];
                    for x := 0 to NodeAdicao.ChildNodes.Count - 1 do
                      begin

                        if NodeAdicao.ChildNodes[x].NodeName = 'numeroDI' then
                           w_ndi := NodeAdicao.ChildNodes['numeroDI'].text;
                      end;
                  end;

              end;

          end;
      end;
   except on E:Exception do
       mensagem('Problema ao ler arquivo xml.',e.Message,'Erro','E');

    end;
  finally
    XMLDoc.Active := false;
  end;
 

depois vc ler as tags da DI

 

  try

    itedi := 0;

      if ADQuery_it_pedido.Active then   ADQuery_it_pedido.EmptyDataSet;

    ListaDeclaracoes:=XMLDoc.ChildNodes.FindNode('ListaDeclaracoes');
    if ListaDeclaracoes <> nil then
      begin
        NodeDeclaracao := ListaDeclaracoes.ChildNodes.FindNode('declaracaoImportacao');
        if NodeDeclaracao <> nil then
          begin

          //  if NodeDeclaracao.ChildNodes[i].NodeName='modalidadeDespachoNome' then
               edmodalidadeDespachoNome.Text            := NodeDeclaracao.ChildNodes['modalidadeDespachoNome'].text;
               edimportador.Text                        := NodeDeclaracao.ChildNodes['importadorNumero'].text+' '+NodeDeclaracao.ChildNodes['importadorNome'].text;
               edrepresentante.Text                     := NodeDeclaracao.ChildNodes['importadorCpfRepresentanteLegal'].text+' '+NodeDeclaracao.ChildNodes['importadorNomeRepresentanteLegal'].text;
               eddocumentoChegadaCargaNome.Text         := NodeDeclaracao.ChildNodes['documentoChegadaCargaNome'].text;
               eddocumentoChegadaCargaNumero.Text       := NodeDeclaracao.ChildNodes['documentoChegadaCargaNumero'].text;
               edarmazenamentoRecintoAduaneiroNome.Text := NodeDeclaracao.ChildNodes['armazenamentoRecintoAduaneiroNome'].text;
 

entendeu?

 

  • Curtir 1
  • Este tópico foi criado há 1471 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.