Bom dia pessoal,
No cabeçalho do TReport, preciso colocar a página atual e total de paginas (Ex. Página 05 de 25).
temos jeito de fazer isto mediante Bloco de código por exemplo?
Obrigado.
Bom dia pessoal,
No cabeçalho do TReport, preciso colocar a página atual e total de paginas (Ex. Página 05 de 25).
temos jeito de fazer isto mediante Bloco de código por exemplo?
Obrigado.
Boa Tarde Nahim,
A um bom tempo atrás já tive esta situação de ter que colocar a página total da impressão, porém o modo que encontrei dobraria o tempo de impressão do relatório, o que fica inviável e esquisito, já para adicionar o número da página atual eu fiz o seguinte, criei uma variável private chamada npage iniciando com zero, utilizo a rotina SetCustomText logo após init da seção para criar o cabeçalho customizado:https://tdn.totvs.com/display/public/PROT/SetCustomText
Exemplo: Chamo a função: oReport:SetCustomText({||u_CriaCab(cPedido)})
Dentro da função tenho o seguinte:
If nPage > 0
nPage++
else
nPage := 1
EndIf
Desta forma, toda vez que ele vai criar o cabeçalho na página ele atualiza o número da página que ele está criando.
Exemplo de criação do cabeçalho simplificado:
user function CriaCab(cPedido)
local _linha1
local _ArrayCab, _cVar1
If nPage > 0
nPage++
else
nPage := 1
EndIf
_cVar1 := "LISTA DE EMBARQUE " + " Pag.:"+cValtoChar(nPage)
_linha1 := _cVar1
_ArrayCab := {_linha1}
return _ArrayCab
Talvez tenha uma forma mais simples, ou outro esquema, mas este me atendeu na época!
Obrigado Douglas, mais eu preciso ter o total de página obrigatoriamente, mesmo que doubre o tempo
— Nahim Terrazas Parada 21 de Dec de 2020Na teoria o que você terá que fazer é uma falsa impressão, gerar o arquivo, ver qual o npage final, guardar ele , e aí excluir o arquivo gerado e então gerar o impresso, como se a chamada do relatório tive-se uma fila, primeiro faz isso para um e depois realmente chama a impressão.
— Douglas Bichir 21 de Dec de 2020