BlackTDN Search

quinta-feira, 4 de outubro de 2012

BlackTDN :: TCustomReport ( R3 e TReport : 2 em 1)

BlackTDN :: TCustomReport

Como prometido, a versão Demo (Beta 1) de TCustomReport já está pronta. As primeiras “vítimas” da conversão “2 em 1” foram os programas padrões IMPESP.PRX (Espelho do Ponto Customizado), ABSENT.PRX (Relatório de Absenteísmo) e PONQDHR.PRX (Relatório de Quadro de Horários) todos usando, por padrão, a impressão em R3 e a função IMPR(). Qualquer outro relatório poderá, também, ter a propriedade de ser impresso tanto em R3 quanto em TReport.

A figura ao lado (Espelho do Ponto) é um “instantâneo” da versão em TReport do mesmo relatório R3. Ele contém a targeta “BLACKTDN TCUSTOMREPORT DEMO” para provar que foi impresso usando a classe de impressão TReport.

A conversão de R3 pra TReport, usando TCustomReport é muito simples. Na maioria dos casos apenas duas linhas resolverão o problema.

Vamos utilizar “as vítimas” para exemplificar:

IMPESP.PRX

BlackTDN :: IMPESP e TCustomReport (1)
Neste ponto incluímos o arquivo de cabeçalho “TCUSTOMREPORT.CH”
É ele o responsável pela “conversão” de um relatório em R3 para TReport. A partir daqui pouca alteração se faz necessária para ter a impressão disponível tanto em R3 quando em TReport.

BlackTDN :: IMPESP e TCustomReport (2)Ativamos a Opção para impressão em TReport usando o comando TCUSTOMREPORT ACTIVATE e personalizamos a Fonte e o Tamanho das linhas do relatório, respectivamente:
TCUSTOMREPORT SET FONT e TCUSTOMREPORT SET LINE HEIGHT

BlackTDN :: IMPESP e TCustomReport (3)Considerando que IMPESP não faz referência Direta a Cabec às vezes fica difícil identificar a “Quebra” do relatório. Neste caso um TCUSTOMREPORT SET PAGE BREAK resolve o Problema.

BlackTDN :: IMPESP e TCustomReport (4)IMPR não imprime o cabeçalho padrão. Possui um cabeçalho específico (sem logo e outras informações). Neste caso utizamamos o comando TCUSTOMREPORT HIDE DEFAULT HEADER para desabilitar o cabeçalho padrão.

BlackTDN :: IMPESP e TCustomReport (5)TCUSTOMREPORT SET PAGE BREAK também para forçar a quebra de página.

BlackTDN :: IMPESP e TCustomReport (6)

O resultado, após 5 passos.

PONQDHR.PRX

BlackTDN :: PONQDHR e TCustomReport (1)

Neste caso, bastaram 3 alterações para que o relatório fosse impresso tanto em R3 quanto em TReport. São elas:
1) A inclusão do arquivo de cabeçalho TCustomReport.CH;
2) TCUSTOMREPORT ACTIVATE para ativar a opção de impressão em TReport e;
3) TCUSTOMREPORT SET FONT "Courier New" SIZE 0,-9 para personalizar a Fonte de impressão (uma vez que na conversão os dados poderiam ser impressos fora da margem do relatório).  Uma outra opção seria redefinir os dados para impressão “Truncando-os” e/ou eliminando espaços em branco. Mas daria muito trabalho e não é o que queremos aqui.

BlackTDN :: PONQDHR e TCustomReport (2) BlackTDN :: PONQDHR e TCustomReport (3)

e, finalmente:

ABSENT.PRX

BlackTDN :: ABSENT e TCustomReport (1) O trabalho para conversão de ABSENT.PRW foi “árduo”. Foram necessárias duas modificações para permitir que fosse impresso tanto em R3 quanto em TReport.

1) #include "TCUSTOMREPORT.CH" e;
BlackTDN :: ABSENT e TCustomReport (2) 2) TCUSTOMREPORT ACTIVATE.
BlackTDN :: ABSENT e TCustomReport (3) Na grande maioria dos relatórios apenas as duas alterações feitas em ABSENT.PRX serão necessárias para a impressão tanto em R3 quanto em TReport.

TCUSTOMREPORT.CH

BlackTDN : TCustoReport.CH (1) BlackTDN : TCustoReport.CH (2) BlackTDN : TCustoReport.CH (3)

O arquivo de cabeçalho “TCustomReport.CH” apresentado anteriormente foi modificado. Acima alguns “instantâneos” das modificações efetuadas.

TCustomReport ainda tem muito a evoluir mas, nesta sua primeira versão, já nos permite a impressão em TReport com poucas alterações no código original em R3.

Desta vez não vou disponibilizar todo o código utilizado para desenvolver TCustomReport (por questões de compromisso comercial). Apenas os arquivos de cabeçalho e um “patch” com as funções a serem utilizadas no processo de impressão. Considerando que é uma versão de “Demo” não poderá ser utilizada comercialmente uma vez que a targeta  “BLACKTDN TCUSTOMREPORT DEMO” será impressa em praticamente todas as páginas dos relatórios.

TCustomReport foi encomendada à equipe do BlackTDN pela IT Advanced e acredito que ela deverá disponibilizar uma versão comercial para uso. Contate-os.

Interessado na versão “demo” clique aqui (por enquanto apenas Protheus 10 e 11 pt-br).

[]s

иαldσ dj

18 comentários:

  1. Uma nova versão está disponível para Download. ajustes/melhorias:
    1)informações de impressão de cabeçalho;
    2)possibilitar a impressão em planilha (MS Excel/Oppen Office);
    3)possibilitar definir a fonte para o cabeçalho do relatório.

    ResponderExcluir
  2. Use, preferencialmente, fontes mono espaçadas como, por exemplo:

    Courier
    Courier New
    Lucida Console
    MS Mincho
    MS LineDraw

    etc.

    ResponderExcluir
  3. Bom dia,
    Alguém já viu ou personalizou no fonte NFESefaz ou sugere um PE onde:
    Na escolha da TES a mensagem (formula) dos dados complementares da Danfe seja automatico para a transmissão para a Sefaz e também saia na Danfe?

    Pergunto isto porque no cliente, ele tem uma variação de CFOPs nos items e cada um tem uma mensagem...

    Preciso de algumas ideias...

    ResponderExcluir
    Respostas
    1. Boa noite Mauro, isso e facil de fazer, eu mesmo tenho um fonte padrão onde que eu tenho isso, que mantenho atualizado com o da Totvs.

      Excluir
    2. Mauro, boa noite isso que vc quer e facil de fazer, montei para fazer isso.

      Excluir
    3. Naldo, estou com problema no Active, esta dando erro.
      Nao consigo saber porque.

      Excluir
  4. Este TCustomReport ( R3 e TReport : 2 em 1) tb posso alterar o tamanho da fonte?

    ResponderExcluir
  5. Deu zica na chamada do fonte!

    THREAD ERROR (mauro.nunes, TI02) 27/03/2013 16:19:07
    type mismatch on .AND. on U_IMPESP(IMPESP.PRX) 07/10/2012 03:25:47 line : 161

    ResponderExcluir
    Respostas
    1. Mauro, baixei a última versão do exemplo disponível para uso, apliquei o Patch e compilei os exemplos e não consegui reproduzir o erro.

      Verifique, se quando da aplicação do Patch, aparecem, no Log do AppServer, os seguintes arquivos:

      [INFO ][SERVER] [Thread 7884] [27/03/2013 17:01:53] Starting Debugger (marinaldo.jesus, NALDO-PC)

      validating BTDNRPTCHK.PRG...
      validating TCUSTOMREPORT.PRG...
      deleting: BTDNRPTCHK.PRG...
      updating: BTDNRPTCHK.PRG...
      deleting: TCUSTOMREPORT.PRG...
      updating: TCUSTOMREPORT.PRG...

      Excluir
    2. blz... passou

      Agora a targeta, tem como retira-la?

      Excluir
    3. O componente é vendido? Quanto? Com quem olho?

      Excluir
  6. Este comentário foi removido pelo autor.

    ResponderExcluir
  7. Este comentário foi removido pelo autor.

    ResponderExcluir
  8. Vendido não, mas a "targeta" poderá ser removida mediante doação no valor de R$ 100,00 (cem reais) que tem por finalidade a manutenção do blog.

    Para doar:

    1)acesse: http://www.blacktdn.com.br/p/doacoes.html
    2)encaminhe o comprovante para mail@blacktdn.com.br, assunto: TCUSTOMREPORT, juntamente com o arquivo (SIGAMAT.EMP)

    Feito isso, um arquivo de "autorização", e o "patch full", será enviado em resposta acompanhado dos procedimentos para uso. Vale lembrar que a "autorização" é por SIGAMAT.EMP se for utilizado com outro SIGAMAT a "targeta" voltará a aparecer.

    ResponderExcluir
    Respostas
    1. Desculpe Naldo,
      Achei que o valor era uma quantia mais simbólica...
      Obrigado pela atenção

      Excluir
  9. Este projeto ainda está ativo? Ainda é possível adquirir?

    ResponderExcluir