Histórico da Página
...
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.
Os campos apresentados no Campo Chave também serão validados, verificando se existem no modelo apresentado.
A Rotina MVC obrigatoriamente tem de ter um Modelo com o pós fixo "MASTER". Por exemplo: conforme exemplo abaixo. Se a rotina não tiver um modelo MASTER o sistema não irá encontrar a estrutura.
Obs: A rotina precisa estar publicada e disponível para consultas REST. Para disponibilizar o modelo siga a documentação do FWRestModel.
b. Consulta da Rotina Cadastrada
...
- Campos virtuais: Nenhum campo virtual será demonstrado em tela.
- Campos F3: Campos com consulta padrão serão disponibilizados em Combos. Os combos irão reproduzir a consulta original e retorna os 10 primeiros resultados. Para filtrar melhor a busca o usuário terá de digitar no campo.
- Campos com CBOX: Campos com combo pré-definido (X3_CBOX) serão disponibilizados em Bullets (RadioButtons) com as opções abertas no Formulário.
O botão de Salvar s omente 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 não serão reproduzidas na tela de cadastro.
05. TABELAS UTILIZADAS
OHX - Cabeçalho das Rotinas Customizadas
OHY - Campos de Filtro da Rotina Customizada
Bloco de código language vb theme RDark title Exemplo de MVC collapse true //------------------------------------------------------------------- /*/{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)
...