+2 votos
48 visitas

É possível guardar as informações de uma tabela virtual na sessão do usuário "UserVar" via Bef?

Ou seja, é possivel guardar as informações de um filtro de relatório que utiliza tabela virtual, para que possa ser carregado novamente na próxima geração do relatório? Tudo isso via BEF?

 

Antes utiliza o codigo abaixo via Macro de tabela:

 
 

Public Sub TABLE_AfterInsert(CanInherited As Boolean)
  If UserVar("K_FILTRO_TIMESHEET_21") <> "" Then
    XMLToDataset(UserVar("K_FILTRO_TIMESHEET_21"),CurrentQuery.TQuery)
  End If
End Sub

 

Public Sub TABLE_AfterPost(CanInherited As Boolean)
  UserVar("K_FILTRO_TIMESHEET_21") = DatasetToXML(CurrentQuery.TQuery,"")
End Sub

 

por (148 pontos)
editado por | 48 visitas

1 Resposta

0 votos

Willian, 

No bef, na entidade especializada, você pode setar os valores no evento Created da entidade. Veja o link da API para criar este evento.

https://desenv.benner.com.br/bef/Reference/20.0/html/M_Benner_Tecnologia_Business_BusinessEntity_1_Created.htm

No entendo, não recomentaria a estratégia de utilizar as variáveis de usuário para salver os valores da ultima emissão do relatório. Isso porque irá gerar muitos dados na tabela Z_VARIAVEIS, onde esses valores são salvos. 

Como se trata de valores que não precisam ser persistidos, sugiro utilizar uma estratégia de salvar os dados em disco. Na pasta temporaria do sistema ou do usuário. E recuperar na proxima emissão. 

O Bef também tem a API para gravar as variaveis de usuário, deixo o link da API a baixo. Use com moderação. 

https://desenv.benner.com.br/bef/Reference/20.0/html/T_Benner_Tecnologia_Common_BennerVars.htm

por (956 pontos)

Existe em BEF, alguma maneira de pegar os dados da tabela e converter em "Json" ou "Xml"?

 

Algo parecido com isso: "

DatasetToXML(CurrentQuery.TQuery,"")

"

Melhores Aug 2025
  1. RheaIoi8215

    5 Pontos

  2. RositaLansel

    5 Pontos

  3. MilesWeston

    5 Pontos

  4. RoseannViera

    5 Pontos

  5. DianaNickel

    5 Pontos

  6. KandiGower0

    5 Pontos

200 pontos
Melhores 2025 Aug 18 - 24
  1. Larson

    156 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. danilo.pereira

    96 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. diuari.molinari

    52 Pontos

  9. diuari.molinari

    51 Pontos

  10. diuari.molinari

    51 Pontos

517 perguntas
566 respostas
389 comentários
710 usuários