Estou com um problema ao gerar um relatório com Treport , Quando eu gero em excel formato normal ele gera os arquivos normalmente , Mais quando eu gero em excel formato de tabela aparece os dados vazios com os parâmetros iguais , Fonte anexado.
Estou com um problema ao gerar um relatório com Treport , Quando eu gero em excel formato normal ele gera os arquivos normalmente , Mais quando eu gero em excel formato de tabela aparece os dados vazios com os parâmetros iguais , Fonte anexado.
Caio,
Existem alguns pontos que você precisa dar uma revisada.
O principal, que pode estar interferindo em sua impressão, é a utilização do método finish
e depois do método print
novamente:
oSection1:Finish()
oSection2:Finish()
oSection1:Print()
oSection2:Print()
Onde a documento do TReport informa que não é necessário chamar o método finish
, uma vez que o método print
já tem essa inteligência:
Não é necessário executar o método Finish se for utilizar o método Print, já que este faz o controle de inicialização e finalização da impressão
Vendo alguns outros pontos, você consegue deixar o código mais simples:
STATIC Function TemQBP( )
Local lRet := .F.
Local aArea := GetArea()
dbSelectArea("SB1")
lRet := FieldPos( "B1_QBP" ) > 0
RestArea(aArea)
Return lRet
Não é necessário fazer todo esse processo para verificar a existência de um campo, basta colocar o alias a esquerda do FieldPos
:
static function TemQBP()
Return SB1->( FieldPos("B1_QBP") ) > 0
Com isso você terá exatamente o mesmo retorno, caso a tabela não esteja aberta, ela será aberta e a workarea não será alterada.
A função AjustaSX1
pode ser completamente removida, uma vez que a função PutSx1
está descontinuada já há alguns anos, ou seja, essa função não está fazendo nada.
Documentações:
https://tdn.totvs.com/display/PROT/TReport
https://tdn.totvs.com/pages/viewpage.action?pageId=244740739
Boa Tarde Caio, Consegui resolver o problema?
— Eduardo Candido 24 de Nov de 2020