Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - TOTVS Backoffice Linha Protheus - ADVPL - É possível criar uma rotina em MVC utilizando TLPP?

time.png Tempo aproximado para leitura: 00:01:00 min

Dúvida

É possível criar uma rotina em MVC utilizando TLPP?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - A partir da 12.1.2410

Solução

A partir da release 12.1.2410 é possível criar uma rotina em MVC em TLPP.

Com o TLPP, obrigatoriamente uma namespace precisa ser declarada no fonte e todas essas funções passam a ser function ou user function para customizações.

Como as funções estáticas não serão mais utilizadas, tudo é feito com base no namespace, portanto agora o valor enviado sempre será o namespace completo mais o nome da função principal.

 

teste2.gif

 

Exemplo

#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
#include "tlpp-core.th"
#include "tlpp-rest.th"

User Function COMP011_MVC()
Local oBrowse

oBrowse := FWMBrowse():New()
oBrowse:SetAlias('SA1')
oBrowse:SetDescription('Clientes')
oBrowse:Activate()

Return NIL

//-------------------------------------------------------------------

namespace custom.mvc.ttllpp
 
user function menudef() as array
local aRotina := {} as array

Add Option aRotina Title "Incluir" Action "ViewDef.custom.mvc.ttllpp.COMP011_MVC" Operation OP_INCLUIR Access 0 //Aqui, a função principal da rotina é a MinhaFuncaoDeMenu e o namespace é custom.meunamespace.minharotina

Return aRotina

//-------------------------------------------------------------------
user function ModelDef()
// Cria a estrutura a ser usada no Modelo de Dados
Local oStruZA0 := FWFormStruct( 1, 'SA1', /*bAvalCampo*/,/*lViewUsado*/ )
Local oModel

// Cria o objeto do Modelo de Dados
oModel := MPFormModel():New('COMP011MODEL', /*bPreValidacao*/, /*bPreValidacao*/ , /*bCommit*/, /*bCancel*/ )

// Adiciona ao modelo uma estrutura de formulário de edição por campo
oModel:AddFields( 'ZA0MASTER', /*cOwner*/, oStruZA0)

// Adiciona a descricao do Modelo de Dados
oModel:SetDescription( 'Modelo de Dados de Autor/Interprete' )

// Adiciona a descricao do Componente do Modelo de Dados
oModel:GetModel( 'ZA0MASTER' ):SetDescription( 'Dados de Autor/Interprete' )

oModel:SetPrimaryKey({"A1_FILIAL","A1_COD"})

// Liga a validação da ativacao do Modelo de Dados
//oModel:SetVldActivate( { |oModel| COMP011ACT( oModel ) } )

Return oModel

//-------------------------------------------------------------------
user function ViewDef()
// Cria um objeto de Modelo de Dados baseado no ModelDef do fonte informado
Local oModel   := FWLoadModel( 'custom.mvc.ttllpp.COMP011_MVC' )
// Cria a estrutura a ser usada na View
Local oStruZA0 := FWFormStruct( 2, 'SA1' )
Local oView

// Cria o objeto de View
oView := FWFormView():New()

// Define qual o Modelo de dados será utilizado
oView:SetModel( oModel )

//Adiciona no nosso View um controle do tipo FormFields(antiga enchoice)
oView:AddField( 'VIEW_ZA0', oStruZA0, 'ZA0MASTER' )

// Criar um "box" horizontal para receber algum elemento da view
oView:CreateHorizontalBox( 'TELA' , 100 )

// Relaciona o ID da View com o "box" para exibicao
oView:SetOwnerView( 'VIEW_ZA0', 'TELA' )

Return oView

 

Saiba mais:

TLPP no Protheus

Esse artigo foi útil?
Usuários que acharam isso útil: 1 de 1

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _