Ir para conteúdo
  • Cadastre-se

dev botao

Preview Do Danfe Em Duas Páginas


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

Recommended Posts

Utilizo Delphi 2010 + ACBR + ACBrNFeDANFERaveCB

 

Pessoal,

 

De uns dias para cá, venho recebendo reclamações de clientes, onde, o preview do Danfe está sendo exibido em duas páginas.

 

Fui verificar e realmente isso está acontecendo.

 

Dei uma olhada nas propriedades do componente ACBrNFeDANFERaveCB e encontrei uma propriedade chamada NumCopias = 1.

 

Mudei essa propriedade para 0 (zero) e mesmo assim o Danfe é exibido no preview em duas páginas, inclusive imprime as duas duas páginas.

 

Para isso ficar mais claro, alguns podem dizer que está saindo na segunda página o restante de impressão da primeira página, porém, afirmo que não é isso.

 

Acontece que o componente ACBrNFeDANFERaveCB está exibindo 2x o mesmo Danfe, exatamente igual na página 1 e na página 2.

 

Tudo igual, como se fosse solicitado 2x o preview do mesmo Danfe.

 

Exibe página 1 e página 2 exatamente iguais.

 

Como fazer para que aparece uma única vez o Danfe no preview?

 

Ah! O pacote ACBR está atualizado!

 

Ou será que isso é algum bug do componente?

 

Obrigado,

 

Rogério.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Olá pessoal, tudo bem?

 

Venho procurando a causa deste problema sem sucesso.

 

Alguém poderia me dizer onde eu posso colocar um ponto de parada no ACBR para saber em que momento ele monta 2x a mesma NF para o mesmo preview.

 

Alguém sabe dizer onde está essa rotina?

 

Obrigado,

 

Rogério.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom Dia

 

A única forma de ajudarmos é simularmos o erro.

Para simularmos o erro usamos SEMPRE o Demo do componente.

 

Então, vc deve primeiramente pegar esse XML que esta imprimindo em duas páginas e tentar imprimí-lo pelo DEMO mais ATUAL.

Existindo o erro, nos envie o XML para ae sim conseguirmos emular o problema e posteriormente solucioná-lo.

 

O uso do DEMO é essencial para anular a hipótese do erro estar acontecendo no seu aplicativo e não no componente.

 

Obrigado

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vou anexar novamente por aqui.

 

Estou clicanco em MAIS OPÇÕES e abre a opção de anexar arquivos.

 

Caso não vá novamente, para onde eu poderia enviar o XML?

 

Obrigado,

 

Rogério

 

Olá, testei e esta mostrando o preview corretamente, somente com UMA página.

 

Talvez sua impressora não esteja configurada para PAPEL A4, que é o mínimo exigido pelo Manual de Integração.

Verifique.

 

[]´s

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

Veja, não é que o preview está exibindo em duas páginas o mesmo danfe, ou seja, na página 2 seria o complemento da página 2. Não é isso que acontece!

 

Simplesmente o preview exibe 2x o mesmo dando direitinho na página 1 e na página 2. Se mandar imprimir, será impresso 2x o mesmo danfe no papel certinho em cada folha.

 

O preview não está exibindo na folha 1 parte do Danfe e na folha 2 os restante da folha 1. Não é isso que acontece!

 

Simplesmente no preview, aparece o danfe na folha 1 e na folha 2 sua cópia fiel.

 

Rogério.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Sim eu entendi.... 

Mas aqui no meu Demo não ocorre o problema. Então o problema pode estar com a configuração da impressora.

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

Ok...

 

Se o problema pode estar na configuração da impressora, como explicar a ocorrência do mesmo problema em diversos clientes?

 

No demo, abri novamente o XML para exibir o Danfe e no Setup mostra que a página está configurada para o tamanho A4.

 

Onde mais posso olhar para saber se a configuração da impressora está errada?

 

Obrigado,

 

Rogério.

Link para o comentário
Compartilhar em outros sites

Pessoal, bom dia!

 

Acredito ter encontrado o que gera duas vezes o mesmo danfe no preview.

 

Fui até o LoadFromFile em ACBrNFeNotasFiscais.pas na function TNotasFiscais.LoadFromFile(CaminhoArquivo: string): boolean;

 

Nessa função, simplesmente "travei" um segundo carregamento do XML e o problema foi solucionado. Veja abaixo como ficou:

 

function TNotasFiscais.LoadFromFile(CaminhoArquivo: string): boolean;
var
 LocNFeR : TNFeR;
 ArquivoXML: TStringList;
 XML : AnsiString;
begin
  try
   ArquivoXML := TStringList.Create;
   ArquivoXML.LoadFromFile(CaminhoArquivo,TEncoding.UTF8);
   Result := True;

   while pos('</NFe>',ArquivoXML.Text) > 0 do begin
    if pos('</nfeProc>',ArquivoXML.Text) > 0  then begin
     XML := copy(ArquivoXML.Text,1,pos('</nfeProc>',ArquivoXML.Text)+5);
     ArquivoXML.Text := Trim(copy(ArquivoXML.Text,pos('</nfeProc>',ArquivoXML.Text)+10,length(ArquivoXML.Text)));
    end
     else
      begin
       XML := copy(ArquivoXML.Text,1,pos('</NFe>',ArquivoXML.Text)+5);
       ArquivoXML.Text := Trim(copy(ArquivoXML.Text,pos('</NFe>',ArquivoXML.Text)+6,length(ArquivoXML.Text)));
      end;

    LocNFeR := TNFeR.Create(Self.Add.NFe);

    try
     LocNFeR.Leitor.Arquivo := XML;
     LocNFeR.LerXml;
     Items[self.Count-1].XML := LocNFeR.Leitor.Arquivo;
     Items[self.Count-1].NomeArq := CaminhoArquivo;
     GerarNFe;
    finally
     LocNFeR.Free;
    end;

 

//início do código travado

 

    {try
     ArquivoXML.LoadFromFile(CaminhoArquivo,TEncoding.UTF8);
     Result := True;

     while pos('</NFe>',ArquivoXML.Text) > 0 do begin
      if pos('</nfeProc>',ArquivoXML.Text) > 0  then begin
       XML := copy(ArquivoXML.Text,1,pos('</nfeProc>',ArquivoXML.Text)+5);
       ArquivoXML.Text := Trim(copy(ArquivoXML.Text,pos('</nfeProc>',ArquivoXML.Text)+10,length(ArquivoXML.Text)));
      end
       else
        begin
         XML := copy(ArquivoXML.Text,1,pos('</NFe>',ArquivoXML.Text)+5);
         ArquivoXML.Text := Trim(copy(ArquivoXML.Text,pos('</NFe>',ArquivoXML.Text)+6,length(ArquivoXML.Text)));
        end;

      LocNFeR := TNFeR.Create(Self.Add.NFe);

      try
       LocNFeR.Leitor.Arquivo := XML;
       LocNFeR.LerXml;
       Items[self.Count-1].XML := LocNFeR.Leitor.Arquivo;
       Items[self.Count-1].NomeArq := CaminhoArquivo;
       GerarNFe;
      finally
       LocNFeR.Free;
      end;
     end;
    finally
     ArquivoXML.Free;
    end;}

//final do código travado  

 

   end;
  except
   raise;
   Result := False;
  end;
end;

 

Da forma como está, não exibe mais duas vezes o mesmo danfe no preview.

 

Minha dúvida é:

 

A maneira como fiz está correta ou existe algum problema com o pacote ACBR que está na minha máquina?

 

Lembrando que sempre faço atualizações dos pacotes e ultimamente tenho utilizado o programa instalador que vem junto com o pacote.

 

Obrigado,

 

Rogério.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ok...

 

Se o problema pode estar na configuração da impressora, como explicar a ocorrência do mesmo problema em diversos clientes?

 

No demo, abri novamente o XML para exibir o Danfe e no Setup mostra que a página está configurada para o tamanho A4.

 

Onde mais posso olhar para saber se a configuração da impressora está errada?

 

Obrigado,

 

Rogério.

 

Ok... Como explicar também só vc com esse problema? 

Realmente não consegui reproduzir o erro, o jeito é esperar que algum outro desenvolvedor/colaborador do projeto possa testar o problema e entao a solução que você propôs. Eu infelizmente não posso subir essa alteração sem comprovar o "erro".

 

Menos mal que essa alteração solucionou o seu problema, vá usando ela por enquanto.

Essas são as vantagens de ser ter o código aberto...

 

Boa Sorte

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

Eu baixei o XML que o colega enviou, e testei a impressão em três computadores diferentes que tenho aqui, com duas impressoras diferentes.

Em todos os testes, foi impresso apenas uma página.

 

(D7 + ACbr versão 0.5.0a + ACBrNFeDANFERave.)

  • Curtir 1

J.Humberto Munhoz

BomSoft Sistemas

Mococa - SP

 

BomSoft.JPG.feafd9ad3bb7c05eb372c8d833e71ec5.JPG

 

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...