Histórico da Página
...
- Visão Geral
- Pré-requisitos
- Menu
- Restrições
- Cadastro das Rotinas Customizadas
- Consulta da Rotina Cadastrada Cadastrada
- Tabelas utilizadas
- Exemplo de Rotina MVC + Publicação do Fonte
01. VISÃO GERAL
O Cadastro de Rotinas customizadas tem por objetivo permitir que o usuário cadastre Rotinas Customizadas em MVC no formato do PagPFS (em PO-UI).
...
Obs: A rotina precisa estar publicada e disponível para consultas REST apontando para a Classe JPagPfsModel. Para disponibilizar o modelo siga a documentação do FWRestModel. Exemplo de MVC abaixo
b. Consulta da Rotina Cadastrada
...
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
// Publicando o fonte
PUBLISH MODEL REST NAME JMODTST SOURCE JMODTST RESOURCE OBJECT JPagPfsModel //Modelo Teste
//-------------------------------------------------------------------
/*/{Protheus.doc} JMODTST
Modelo de Teste
/*/
//-------------------------------------------------------------------
Function JMODTST()
Local oBrowse := FwLoadBrw("JMODTST")
oBrowse:Activate()
Return Nil
//-------------------------------------------------------------------
/*/{Protheus.doc} MenuDef
Menu Funcional
/*/
//-------------------------------------------------------------------
Static Function MenuDef()
Local aRotina := {}
Return (aRotina)
//-------------------------------------------------------------------
/*/{Protheus.doc} ViewDef
Modelo de exemplo
/*/
//-------------------------------------------------------------------
Static Function ViewDef()
Local oStructFKF := FWFormStruct(2, "Z01")
Local oModel := FWLoadModel("JMODTST")
Local oView := Nil
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField("JMODTST_VIEW", oStructFKF, "Z01MASTER")
oView:CreateHorizontalBox("FORMFIELD", 100)
oView:SetOwnerView("JMODTST_VIEW", "FORMFIELD")
oView:SetDescription("Teste Rotinas Customizadas")
oView:EnableControlBar(.T.)
Return (oView)
//-------------------------------------------------------------------
/*/{Protheus.doc} ModelDef
Modelo de exemplo
/*/
//-------------------------------------------------------------------
Static Function Modeldef()
Local oStructFKF := FWFormStruct(1, "Z01")
Local oModel := NIL
oModel:= MPFormModel():New("JMODTST", /*Pre-Validacao*/, {|oModel| JMODTSTOK(oModel)}/*Pos-Validacao*/, /*Commit*/, /*Cancel*/)
oModel:AddFields("Z01MASTER", Nil, oStructFKF, /*Pre-Validacao*/, /*Pos-Validacao*/)
oModel:SetDescription("Teste Rotinas Customizadas")
oModel:GetModel("Z01MASTER"):SetDescription("Teste Rotinas Customizadas")
oModel:SetPrimaryKey({'Z01_FILIAL','Z01_IDDOC'})
Return (oModel)
//-------------------------------------------------------------------
/*/{Protheus.doc} JMODTSTOK
Exemplo de Validação de modelo
/*/
//-------------------------------------------------------------------
Static function JMODTSTOK(oModel)
Local lRet := .T.
Local nOpc := oModel:GetOperation()
Local oModelZ01 := oModel:GetModel("Z01MASTER")
If nOpc < 5
If Upper(AllTrim(oModelZ01:GetValue("Z01_TXTOBG"))) == "ERROR"
lRet := JurMsgErro(EncodeUTF8("Erro de validação do campo"))
EndIf
EndIf
Return lRet |
...
Import HTML Content
Visão Geral
Conteúdo das Ferramentas