PDF de NFe, CTe, MDFe, e Evento

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

PDF de NFe, CTe, MDFe, e Evento

Mensagem por rubens »

Ok.. José Quintas...

Vou deixar do jeito que tá e ver o no que dá... quando a gente tem muita coisa no sistema e daqui um pouco precisa atualizar vira um Deus nos acuda... É sempre melhor deixar o original...
Se não houver um número expressivo de reclamações fica assim mesmo...

Obrigado...

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

PDF de NFe, CTe, MDFe, e Evento

Mensagem por JoséQuintas »

Depois verifico um jeito e aviso aqui.
Acho que encontrei uma alternativa interessante.
Algo como oPDF:SetEanOff()

Mas pergunta:
Está dizendo sobre a classe dentro de um programa, ou do utilitário de teste que pode ser usado de forma independente?
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

PDF de NFe, CTe, MDFe, e Evento

Mensagem por JoséQuintas »

Feito para a classe.

https://github.com/JoseQuintas/sefazcla ... 0a60a2d74f

Inicio as colunas como IMPRIME_IMPRIMEXMLTEM, que seria algo como só vai imprimir se tem no XML... rs

Código: Selecionar todos

   ::aLayout[ LAYOUT_EAN,      LAYOUT_IMPRIME ] := LAYOUT_IMPRIMEXMLTEM
E criei os métodos onde pode indicar não.

Código: Selecionar todos

   METHOD SetEanOff()           INLINE ::aLayout[ LAYOUT_EAN,      LAYOUT_IMPRIME ] := LAYOUT_NAOIMPRIME
Na definição de layout a partir do XML, só vai considerar o campo se estiver como baseado no XML (LAYOUT_IMPRIMEXMLTEM)

Código: Selecionar todos

      IF ! Empty( ::aItem[ "cEAN" ] )
         IF ::aLayout[ LAYOUT_EAN, LAYOUT_IMPRIME ] == LAYOUT_IMPRIMEXMLTEM
            ::aLayout[ LAYOUT_EAN, LAYOUT_IMPRIME ] := LAYOUT_IMPRIMENORMAL
         ENDIF
      ENDIF
No uso é algo como isto:

Código: Selecionar todos

oPDF := hbnfeDaNfe():New()
oPDF:SetEanOff()
oPDF:ToPDF( "arq.xml", "arq.pdf" )
Fiz o mesmo pra todos os outros campos opcionais. Com isso, o default é pra sair se existir no XML, como era antes.
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
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

PDF de NFe, CTe, MDFe, e Evento

Mensagem por rubens »

Bom dia ...

Quinta eu compilo direto a classe....
Se embutir no sistema direto é melhor e mais rápido né...
Pelo que entendi se no XML tiver ean ele vai imprimir mesmo executando o método oPDF:SetEanOff()?
Vai depender se tiver no XML?

Obrigado

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

PDF de NFe, CTe, MDFe, e Evento

Mensagem por JoséQuintas »

Não. Entendeu errado.

Código: Selecionar todos

// SetEanOff: ::aLayout[ LAYOUT_EAN,   LAYOUT_IMPRIME ] := LAYOUT_NAOIMPRIME

IF ! Empty( ::aItem[ "cEAN" ] ) // se existir no xml. se não estiver vazio.  tem o NOT no início (!)
    IF ::aLayout[ LAYOUT_EAN, LAYOUT_IMPRIME ] == LAYOUT_IMPRIMEXMLTEM // não entra aqui se for LAYOUT_NAOIMPRIME
      ::aLayout[ LAYOUT_EAN, LAYOUT_IMPRIME ] := LAYOUT_IMPRIMENORMAL
    ENDIF
ENDIF
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/
Responder