Tiempo aproximado de lectura: 00:05:00 min
Duda
Como verificar si el ambiente está configurado con Smart View ?
Ambiente
FRAMEWORK - Framework (Línea Protheus) MI - Todas las versiones 12
Solución
Función creada para verificar la configuración de Smart View.
totvs.framework.smartview.util.isConfig()
Retorna um valor lógico onde .T. indica que houve sucesso e .F. houve falha.
importante
Esta función no es válida si el ambiente REST está necesariamente configurado o ejecutando.
Ejemplo de uso:
|
|
Sintaxis: totvs.framework.smartview.util.isConfig() → logical
Ejemplo completo:
#include "protheus.ch"#include "fwmvcdef.ch" //-------------------------------------------------------------------/*/{Protheus.doc} poc_mvcExemplo de um modelo e view baseado em uma unica tabela com chamadade um relatório no Smart View pela função totvs.framework.treports.callTReports @author Framework@since 01/12/2022@version 1.0/*///-------------------------------------------------------------------User Function poc_mvc() Local oBrowse As Object
oBrowse := FWMBrowse():New()
oBrowse:SetAlias('SB1')
oBrowse:SetDescription('Cadastro de Produtos')
oBrowse:Activate()
Return //-------------------------------------------------------------------/*/{Protheus.doc} MenuDefFunção para carregamento do menu. @return aRotina, array, array com as opções de menu. @author Framework@since 01/12/2022@version 1.0/*///-------------------------------------------------------------------Static Function MenuDef() Local aRotina As Array
aRotina := {}
ADD OPTION aRotina TITLE 'Visualizar' ACTION 'VIEWDEF.poc_mvc' OPERATION 2 ACCESS 0
ADD OPTION aRotina TITLE 'Incluir' ACTION 'VIEWDEF.poc_mvc' OPERATION 3 ACCESS 0
ADD OPTION aRotina TITLE 'Alterar' ACTION 'VIEWDEF.poc_mvc' OPERATION 4 ACCESS 0
ADD OPTION aRotina TITLE 'Excluir' ACTION 'VIEWDEF.poc_mvc' OPERATION 5 ACCESS 0
ADD OPTION aRotina TITLE 'Imprimir' ACTION 'VIEWDEF.poc_mvc' OPERATION 8 ACCESS 0
ADD OPTION aRotina TITLE 'Imprimir Smart View' ACTION 'callTrep' OPERATION 8 ACCESS 0
ADD OPTION aRotina TITLE 'Copiar' ACTION 'VIEWDEF.poc_mvc' OPERATION 9 ACCESS 0
Return aRotina //-------------------------------------------------------------------/*/{Protheus.doc} ModelDefDefinição do model referente aos produtos @return oModel, objeto, objeto do modelo @author Framework@since 01/12/2022@version 1.0/*///-------------------------------------------------------------------Static Function ModelDef() Local oModel As Object
Local oStruSB1 As Object
oStruSB1 := FWFormStruct(1,"SB1")
oModel := MPFormModel():New("PRODUTOS")
oModel:SetDescription("Produtos - SB1")
oModel:addFields('MASTERSB1',,oStruSB1)
oModel:getModel('MASTERSB1'):SetDescription('Produtos - SB1')
Return oModel //-------------------------------------------------------------------/*{Protheus.doc} ViewDefInterface do modelo de dados @return oView , objeto, retorna a view do modelo @author Framework@since 01/12/2022@version 1.0*///-------------------------------------------------------------------Static Function ViewDef()Local oModel := ModelDef()Local oViewLocal oStrSB1:= FWFormStruct(2, 'SB1') oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM_PROD' , oStrSB1,'MASTERSB1' )
oView:CreateHorizontalBox( 'BOX_FORM_PROD', 100)
oView:SetOwnerView('FORM_PROD','BOX_FORM_PROD')
Return oView //-------------------------------------------------------------------/*{Protheus.doc} callTReports Função para chamada do relatório do Smart View @author Framework@since 01/12/2022@version 1.0*///-------------------------------------------------------------------Function callTrep() Local lSuccess As Logical
Local lConfig As Logical
lConfig := totvs.framework.smartview.util.isConfig()
If lConfig
//1º parâmetro = Relatório cadastrado na tabela de De/Para (Campo TR__IDREL)
//2º parâmetro = Tipo do relatório ("reports" = relatório, "data-grid" = visão de dados, "pivot-table" = tabela dinâmica)
//Como não foi mandado o 6º parâmetro como .F. o relatório será gerado em job, caso esse parâmetro seja enviado será aberta a tela de opções
lSuccess := totvs.framework.treports.callTReports("MATA010", "report")
If !lSuccess
Conout("Erro na geração, verificar logs")
EndIf
Else
alert('Smart View não configurado.')
Endif
Return |
0 Comentarios