Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Gerenciamento de Erros e Avisos em Projetos AdvPL/TLPP: Um Desafio Frequente no Desenvolvimento TOTVS Protheus

_Créditos da imagem: Gerada com auxílio do ChatGPT_ --- **Gerenciamento de Erros e Avisos em Projetos AdvPL/TLPP: Um Desafio Frequente no Desenvolvimento TOTVS Protheus** Ao trabalhar com projetos desenvolvidos na linguagem AdvPL/TLPP, especialmente em ambientes como o TOTVS Microsiga Protheus, desenvolvedores frequentemente se deparam com uma série de problemas e avisos de compilação. Recentemente, em uma análise de código de um dos nossos projetos, foram identificados mais de 700 problemas durante o processo de compilação, distribuídos entre erros críticos e avisos que podem afetar o desempenho e a manutenção da aplicação. ### Principais Problemas Encontrados Entre os problemas destacados, podemos citar: 1. **Erros de Nomenclatura e Duplicação de Fontes**: - Um dos erros mais críticos que surgiram foi: "Not allowed more than one source with same name". Este erro é comum quando há múltiplos arquivos PRW com o mesmo nome em diferentes pastas do projeto, o que pode

BlackTDN :: R3 e TReport ( 2 em 1 )

O que acham de escrever um relatório em R3 e poder imprimí-lo, também, em TReport? E, quem sabe, em TMSPrinter ou FWMsPrinter ou, ainda, em FWMsExcel?

Mágica? Não.

BlackTDN, em breve, disponibilizará essa solução.

Um Fragmento do Código.... (em construção)
   1: #IFNDEF _TCUSTOMREPORT_CH
   2:  
   3:     #include "TCustomReportDef.ch"
   4:  
   5:     #xcommand ACTIVATE TCUSTOMREPORT => ;
   6:     _SetOwnerPrvt("__lTReport",.F.);;
   7:     IF ( IsBlind() );;
   8:         __lTReport := .F.;;
   9:     ELSE;;
  10:         __lTReport := MsgYesNo(OemToAnsi("Impressão Gráfica"),OemToansi("Atenção"));;
  11:     ENDIF;;    
  12:  
  13:     #xtranslate SetPrint([<prm,...>])   => __SetPrint(__lTReport,[<prm>])
  14:     #xtranslate SetDefault([<prm,...>]) => __SetDefault(__lTReport,[<prm>])
  15:     #xtranslate RptStatus([<prm,...>])  => __RptStatus(__lTReport,[<prm>])
  16:     #xtranslate SetRegua([<prm,...>])   => __SetRegua(__lTReport,[<prm>])
  17:     #xtranslate IncRegua([<prm,...>])   => __IncRegua(__lTReport,[<prm>])
  18:     #xtranslate OurSpool([<prm,...>])   => __OurSpool(__lTReport,[<prm>])
  19:     #xtranslate MS_FLUSH([<prm,...>])   => __Ms_Flush(__lTReport,[<prm>])
  20:  
  21:     #xtranslate Impr([<prm,...>])       => __Impr(__lTReport,[<prm>])
  22:  
  23:     #xcommand @ <nRow>,<nCol> PSAY <cText> [FONT <oFont> ][ PICTURE <cPict> ] =>;
  24:     __PrintOut(__lTReport,<nRow>,<nCol>,<cText>,[<cPict>],[<oFont>])
  25:  
  26:     #xcommand ADD HEADER <aHeader> => __aAddHeader(__lTReport,<aHeader>)
  27:  
  28:     #xcommand nLin := nLin+<n> => __IncLine(__lTReport,<n>)
  29:     #xcommand ++nLin           => __IncLine(__lTReport,1)
  30:     #xcommand nLin++           => __IncLine(__lTReport,1)
  31:     #xcommand ++ nLin          => __IncLine(__lTReport,1)
  32:     #xcommand nLin ++          => __IncLine(__lTReport,1)
  33:     #xcommand LI := LI+<n>     => __IncLine(__lTReport,<n>)
  34:     #xcommand ++LI             => __IncLine(__lTReport,1)
  35:     #xcommand LI++             => __IncLine(__lTReport,1)
  36:     #xcommand ++ LI            => __IncLine(__lTReport,1)
  37:     #xcommand LI ++            => __IncLine(__lTReport,1)
  38:     
  39:     //(...)
  40:  
  41: #ENDIF //_TCUSTOMREPORT_CH


[]s



Comentários

  1. Cada dia fico mais impressionado com o Naldo.

    ResponderExcluir
  2. Em breve a versão Demo será publicada. As primeiras "vítimas" da conversão (2 em 1) foram IMPESP.PRX (Impressão do Espelho de Ponto), PONQDHR.PRX (Quadro de Horário) e ABSENT.PRX (Absenteísmo).

    ResponderExcluir
  3. O código já está disponível ou o projeto foi abandonado?
    Aguardo retorno.

    ResponderExcluir
    Respostas
    1. Siga o Link: https://github.com/NaldoDj/BlackTDN/tree/master/templates/uTCREPORT

      Excluir

Postar um comentário

Postagens mais visitadas