Contagem de linhas na danfe incorreta

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

Bom dia Mestre Quintas, em anexo danfe e xml com contagem de linhas errada. Já corrigi na minha classe aqui, mas posto para correção. obg
Editado pela última vez por JoséQuintas em 27 Jan 2023 17:04, em um total de 1 vez.
Razão: Editado pra remover arquivos particulares
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

À primeira vista, como cabe uma linha a menos nos produtos, seria aqui:
uma linha a menos no total.

Código: Selecionar todos

METHOD ItensDaFolha( nFolha ) CLASS hbNFeDaNFe

   LOCAL nQuadro := 630, nParcelas

   nFolha := iif( nFolha == NIL, ::nFolha, nFolha )

   IF nFolha == 1
      nQuadro := 291 + ;
         iif( ::lLaser, 54, 0  ) + ;
         iif( Val( ::aIssTotal[ "vServ" ] ) <= 0, 24, 0 )
      nParcelas := Len( MultipleNodeToArray( ::cCobranca, "dup" ) )
      IF nParcelas > 0
         nQuadro -= ( ( 1 + Int( ( nParcelas - 1 ) / 3 ) ) ) * 8 + 2
      ELSEIF Len( ::aDetPag ) > 0
         nQuadro -= ( ( 1 + Int( ( Len( ::aDetPag ) - 1 ) / 3 ) ) ) * 8 + 2
      ENDIF
      IF ::lQuadroEntrega
         IF ! Empty( ::aEntrega[ "xLgr" ] )
            nQuadro -= 55
         ENDIF
         IF ! Empty( ::aRetirada[ "xLgr" ] )
            nQuadro -= 55
         ENDIF
      ENDIF
   ENDIF

   RETURN Int( nQuadro / LAYOUT_FONTSIZE ) - 1
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

obrigado. funcionou perfeitamente
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

Bom dia, Mestre Quintas, agora outro xml com o problemas na contagem de linhas. Alterei colocando -2, mas não funcionou. Acho que a solução seria aumentar o quadro de produtos e ai ficaria correto. Obg e bfds
Editado pela última vez por JoséQuintas em 27 Jan 2023 16:32, em um total de 1 vez.
Razão: Mensagem editada pra remover arquivos particulares
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

Não entendi, afinal no whatsapp é você? pelo menos o XML é o mesmo.

Aqui dividiu correto, tá diferente desse, usei o programa teste da sefazclass.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

no wz deve ter sido o Eduardo, que pediu para eu entrar em contato contigo, sobre o problema dela, mas não sabia que ele tinha entrado em contato contigo. estou com os fontes atualizados e dá o erro postado acima. Compilei o test com os fontes do gitub e deu o mesmo erro
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

Ele entrou em contato ontem.
Falei de entrar remoto, mas ele está tentando ver sozinho primeiro.

Já teve fonte que atualizou mas foi conferir e não estava atualizado.
No momento, parece que a compilação parou.

Aqui rodei o test da sefazclass e saiu correto.

Aguardando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

ele me passou agora o que fez

ele usa para imprimir:

oDanfe:= hbnfeDanfe():new()

no test vc usa

oDanfe := hbNfeDaGeral():New()

Faz alguma diferença?
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

Nada a ver com nada que poderíamos imaginar.

Os nomes de fontes na sefazclass mudaram há algum tempo.

Ao copiar os fontes, estava misturando antigos com novos, e a compilação pegava os fontes de nome antigo, sem atualização.

exemplo:
ze_speddanfe.prg
ze_sefazdanfe.prg

Como ele está usando IDE da HMG pra compilar, o projeto da lib está na IDE.... usava nomes velhos, e fontes velhos.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

CUIDADO ao postar arquivos de terceiros.
Isso pode dar processo, porque não tem autorização pra isso.
Lembre-se da lei de proteção de dados, se já era ruim, agora piorou.
Editei lá e removi.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

obg vdd
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

No final, ele alterou pra -4.
Estou achando que pode ser versão de harupdf, a da minigui pode estar diferente.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

Fiz uma alteração em XmlNode() que extrai informações do XML.
Fui testar olhando o Danfe e..... aqui passou a dar o mesmo problema com o Danfe.
Alterei pra - 4 também.
Esquisito que não tem nada a ver uma coisa com a outra.


Mas vai precisar revisão geral.

Código: Selecionar todos

METHOD ItensDaFolha( nFolha ) CLASS hbNFeDaNFe
...
   RETURN Int( nQuadro / LAYOUT_FONTSIZE ) - 4
Isso não vale pra calcular quantos ítens cabem no quadro, e sim pra calcular quantas linhas cabem no quadro.
Acaba afetando o cálculo de folhas também.

Justamente o que o XML tem, é informação adicional em cada produto, o que não dá só uma linha.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Contagem de linhas na danfe incorreta

Mensagem por JoséQuintas »

Favor testarem alterações com PDFs de muitas páginas.
Com o XML deste tópico tudo ok.

Antes:
dividia a qtde. de linhas pelos produtos pra saber quantos produtos cabiam por página - errado - cálculo e impressão estavam diferentes
Problemas causados: produto invadindo além do quadro, cálculo de páginas errado pra muitas páginas
Um exemplo foi postado neste tópico ref. texto invadindo área, e houve comentário de um pdf de 9 páginas sendo mostrado como 10 páginas.
O problema era eventual, só em XMLs específicos.

Agora:
faz um a um mesmo, testa primeiro pra ver se cabe descrição + adicionais de cada produto

Faltam mais testes com possibilidades variadas, mas não tenho XML pra isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Contagem de linhas na danfe incorreta

Mensagem por malcarli »

obrigado irei testar e qq problema reporto
Responder