Tempo aproximado para leitura: 00:02:00 min
Dúvida
Existe alguma forma de chamar um relatório SmartView via advpl/tlpp?
Ambiente
Cross Segmentos - Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.2310
Solução
Para realizar o processo da chamada pode ser utilizado dois métodos :
- Chamando um recurso diretamente via Menu do módulo dentro do Configurador (SIGACFG), realizando o processo de Amarração Protheus X SmartView a partir da Integração configurada entre SmartView e Protheus.
- Chamada da função CallSmartView para realizar o processo, onde você pode realizar a chamada de um ou mais relatórios/visão de dados/tabelas dinâmicas, utilizando os arquivos .TRP compilados como parâmetros da função, conforme o exemplo abaixo.
Obs: Importante reiniciar o Server após a compilação, para que o fonte seja devidamente compilado no ambiente REST e assim localize os arquivos .TRP.
Exemplo:
//Chama um único recurso do SmartView
User Function callOne()
Local lSuccess As logical
Local oSmartView As Object
oSmartView := totvs.framework.smartview.callSmartView():new("PEDIDOCOMPRA", "report")
lSuccess := oSmartView:executeSmartView()
If !lSuccess
Conout(oSmartView:getError())
EndIf
oSmartView:destroy()
Return .T.
//Faz a chamada de recursos múltiplos do SmartView à partir do ID dos arquivos TRP
User Function callMulti()
Local lSuccess As logical
Local oSmartView As Object
oSmartView := totvs.framework.smartview.callSmartView():new("framework.sv.framework.pedidocompra")
lSuccess := oSmartView:executeSmartView()
If !lSuccess
Conout(oSmartView:getError())
EndIf
oSmartView:destroy()
Return .T.
Saiba mais
Amarração Protheus x Smart View
Padrão para nomenclatura dos arquivos .trp (layouts)
Smart View - Gerando os recursos através de uma função
Classe para execução dos recursos no Protheus
0 Comentários