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).
Para a utilização da tela é necessário realizar as configurações do Contas a Pagar para Escritórios de Advocacia - PagPFS.
Para utilizar o cadastro de Rotinas Customizadas é necessário criar uma opção de Menu chamando a função PFSAPPROT.
O cadastro de Rotinas Customizadas contem duas principais funcionalidades:
Porem é necessário obedecer algumas restrições para utilizar a nova funcionalidade da melhor forma possível.
No campo Rotina MVC o usuário deve informar o nome da Rotina que será invocada na Consulta da rotina. A rotina obrigatoriamente tem de ser MVC (Model View Controller).
Logo abaixo é apresentado uma tabela que será preenchida por Campos que serão utilizados no Filtro da Consulta da Rotina. Esses campos obrigatoriamente tem de ser da Rotina indicada no campo Rotina MVC.
A Rotina MVC obrigatoriamente tem de ter um Modelo com o pós fixo "MASTER". Por exemplo:
Na consulta da Rotina o usuário irá visualizar todos os registros da rotina. Para controle das colunas no Grid só serão demonstradas as colunas que estão marcadas como Browse igual a "Sim".
Na tela de Cadastro da Rotina MVC o sistema irá interpretar a Estrutura MVC obedecendo os seguintes critérios:
O botão de Salvar somente será habilitado após os campos obrigatórios serem preenchidos.
Ao clicar em Salvar o sistema irá rodas as todas as validações do modelo original.
As regras de When (X3_WHEN) ou Gatilhos (SX7) não serão reproduzidas na tela de cadastro.
Coloque o link das tabelas relacionadas
//-------------------------------------------------------------------
/*/{Protheus.doc} JTest001
Consulta de Log de aprovação - Modelo MVC de Exemplo
/*/
//-------------------------------------------------------------------
Function JTest001()
Local oBrowse := FWMBrowse():New()
oBrowse:SetDescription("Log de aprovação")
oBrowse:SetAlias("ZZ1")
oBrowse:SetLocate()
oBrowse:Activate()
Return Nil
//-------------------------------------------------------------------
/*/{Protheus.doc} ViewDef
Estutura do Log de aprovação
/*/
//-------------------------------------------------------------------
Static Function ViewDef()
Local oStructZZ1 := FWFormStruct(2, "ZZ1")
Local oModel := FWLoadModel("JTest001")
Local oView := Nil
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField("JTest001_VIEW", oStructZZ1 , "ZZ1MASTER")
oView:CreateHorizontalBox("FORMFIELD", 100)
oView:SetOwnerView("JTest001_VIEW", "FORMFIELD")
oView:SetDescription("Log de aprovação")
oView:EnableControlBar(.T.)
Return (oView)
//-------------------------------------------------------------------
/*/{Protheus.doc} ModelDef
Estrutura do modelo do Log de Aprovação
/*/
//-------------------------------------------------------------------
Static Function Modeldef()
Local oStructZZ1 := FWFormStruct(1, "ZZ1")
Local oModel := NIL
oModel:= MPFormModel():New("JTest001", /*Pre-Validacao*/, /*Pos-Validacao*/, /*Commit*/, /*Cancel*/)
oModel:AddFields("ZZ1MASTER", Nil, oStructZZ1 , /*Pre-Validacao*/, /*Pos-Validacao*/)
oModel:SetDescription("Log de aprovação")
oModel:GetModel("ZZ1MASTER"):SetDescription("Log de aprovação")
Return (oModel) |