Histórico da Página
...
- Necessário utilizar o REST 2.0 - Entendendo as novidades do REST
- Ter conhecimento da linguagem TL++ - Rest - Ambiente de compilação do TLPP
- Cadastrar os relatórios na rotina de De/Para Protheus x Smart View - Amarração Protheus x Smart View
Função totvs.framework.treports.callTReports
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "protheus.ch"
#include "fwmvcdef.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} poc_mvc
Exemplo de um modelo e view baseado em uma unica tabela com chamada
de 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} MenuDef
Funçã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} ModelDef
Definiçã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} ViewDef
Interface 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 oView
Local 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
//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
Return |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas