Ir para conteúdo
  • Cadastre-se

dev botao

Impressão em homologação


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

Recommended Posts

O problema é o seguinte , eu salvo a parte do xml do mdf no banco, quando autorizado, salvo a parte do protocolo também no banco de dados. Quando mando imprimir, junto as 2 partes e uso loadfromstream. O que o ocorre é que a função só lê a parte referente a mdfe e a parte do protocolo não é preenchida. Faço isso na Nfe e funciona correto! Uso o fortes!

Link para o comentário
Compartilhar em outros sites

Uso a seguinte função que acredito não seja necessaria para você testar:

function StringToStream(const ANFe, ANFeProt: WideString): TStringStream;
    var
      vXml: WideString;
      str_versao:string;
    begin
     str_versao:='1.00';
      if ANFeProt <> '' then
      begin
        vXml := '<?xml version="1.0" encoding="UTF-8" ?>'+
                '<MDFeProc versao="'+str_versao+'" xmlns="http://www.portalfiscal.inf.br/mdfe">'+
                  ANFe+ //parte que recebe o mdfe
                  '<protMDFe versao="'+str_versao+'">'+
                  ANFeProt+ //parte que recebe o protocolo
                  '</protMDFe>'+
                '</MDFeProc>';
      end
      else
        begin
          vXml := ANFe;
        end;
      Result := TStringStream.Create(vXml);
    end;

O comando a seguir é usado para carregar no compomente o xml:

ACBrMDFe1.Manifestos.LoadFromStream(StringToStream(vXML, vXMLProt));

 

Ou seja se você usar uma variável contendo qualquer xml no comando acima você vera o erro;

Link para o comentário
Compartilhar em outros sites

22 horas atrás, Juliomar Marchetti disse:

Necessito de arquivos de exemplos e como reproduzir usando o exemplo do svn!

Precisamos das partes do arquivo que você esta salvando em banco. E se possível teste com o exemplo. Como já citado pelo Juliomar.

Consultor SAC ACBr

Celso Marigo Junior

Conheça o Portal do Projeto ACBr
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Guto,

O arquivo mdfe.xml contem o XML do MDF-e assinado mas não contem o protocolo de autorização.

Por outro lado o prot.xml contem somente o protocolo de autorização.

Desculpe, mas você guardar esses dois arquivos não servem para nada.

O que você precisa guardar é o XML completo, ou seja o XML do MDF-e assinado e protocolado.

O componente ACBrMDFe gera esse arquivo e salva em disco, caso esteja configurado para salvar e também o disponibiliza para salvar no banco de dados na propriedade XMLOriginal.

Para ler essa propriedade faça o seguinte:

sXML := ACBrMDFe1.Manifestos.Items[ 0 ].XMLOriginal;

Lembrando que a linha acima tem que ser executado depois do envio.

A estrutura do arquivo obtido acima tem a estrutura apresentada na página 87 do Manual versão 1.00a do MDF-e (item 12.2).

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 horas atrás, gutopmc disse:

Segue os arquivos!

prot.xml

mdfe.xml

Como já disse o Ìtalo, o correto é carregar a partir de um XML válido.

Apenas por curiosidade, comparei com outro XML e troquei o seu MDFeProc por mdfeProc e o protocolo apareceu.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2931 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.