Clipper On Line • Ver Tópico - ACBrPrinter - Utilit p/ impressao de NFCe e SAT

ACBrPrinter - Utilit p/ impressao de NFCe e SAT

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

Moderador: Moderadores

 

ACBrPrinter - Utilit p/ impressao de NFCe e SAT

Mensagempor JoséQuintas » 10 Ago 2017 02:41

Um uso legal do FOR/EACH.
Tinha muito disto na NFCe.

      nLinha := 1
      DO WHILE .T.
         cLinha := Trim( MemoLine( ::aDest[ "xNome" ], 44, nLinha ) )
         IF Empty( cLinha )
            EXIT
         ENDIF
         ::DrawTexto( 37, ::nLinhaPDF - 10, 220, NIL, cLinha, HPDF_TALIGN_LEFT, ::oPDFFontNormal, 7 )
         ::nLinhaPDF -= 10
         nLinha++
      ENDDO


Troquei por isto:

FOR EACH oElement IN ::FormatMemoAsArray( ::aDest[ "xNome" ] )
   ::DrawTexto( 37, ::nLinhaPDF - 10, 220, NIL, oElement, HPDF_TALIGN_LEFT, ::oPDFFontNormal, 7 )
   ::nLinhaPDF -= 10
NEXT


E passei a divisão pra uma função.

METHOD FormatTextAsArray( cText, nLarguraCol )

   LOCAL aText := {}, nCont, cLinha

   FOR nCont = 1 TO 100
      cLinha := MemoLine( cText, nLarguraCol, nCont )
      IF Empty( cLinha )
         EXIT
      ENDIF
      AAdd( aText, cLinha )
   NEXT

   RETURN aText


Isso economizou linhas de fonte, e eliminou a variável cLinha.

Depois, foi só usar outra função já existente

   HPDF_Page_SetFontAndSize( ::oPdfPage, ::oPDFFontBold, 7 )
   cText := ::FormataMemo( cText, Int( 220 / 60 * nLarguraCol ) )


Essa eu já havia criado, que divide o texto pela "largura em PDF" e não por colunas.

Agora é testar com vários CFes.

por enquanto o antes e o depois, com o ajuste por "largura em pdf".

testeant.pdf
(15.94 KiB) Baixado 88 vezes

testefim.pdf
(15.96 KiB) Baixado 104 vezes


Achei interessante usar o FOR/EACH pra isso, por isso postando como mais um exemplo de uso.

Nota: reduziu cerca de 25 linhas, mesmo com a adição do novo recurso.

https://github.com/JoseQuintas/sefazclass/commit/59844fb957d25bbb4f3e5d25b8268ed8bd887207
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

ACBrPrinter - Utilit p/ impressao de NFCe e SAT

Mensagempor Fernando queiroz » 12 Ago 2017 18:41

QUINTAS o que você usou no CSC para gerar essa NFCE tem como passar um xml para ver como foi montado
:% :%
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

ACBrPrinter - Utilit p/ impressao de NFCe e SAT

Mensagempor JoséQuintas » 12 Ago 2017 19:47

Não uso NFCe.
Baixei o exemplo que encontrei aqui:

http://www.unimake.com.br/downloads.php
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

ACBrPrinter - Utilit p/ impressao de NFCe e SAT

Mensagempor rochinha » 22 Jun 2022 12:23

Amiguinhos,

QUINTAS o que você usou no CSC para gerar essa NFCE tem como passar um xml para ver como foi montado


Gerar CSC

Acessar https://www.nfce.fazenda.sp.gov.br/NFCePortal/

No menu "Credenciamento". O CSC é obtido no menu "Gerenciar Cód. Segurança". Nesse menu você emitirá tanto o CSC de homologação (ambiente de testes) quanto o de produção (com validade jurídica) sendo que este último somente poderá ser emitido após a ativação e vinculação do equipamento SAT

Necessário ter certificado digital A1 minimo Solicitar Certificado Digital.

Para testes creio ser possivel usar estas informações:

* CSC FICTICIO
* CSC: 0123456789
* ID do CSC: 000001

Veja este tópico para dicas de uso da ACBrLib e emissão dos documentos.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4532
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 796 vezes
Mens.Curtidas: 242 vezes

Anterior



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro