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.
A Rotina MVC obrigatoriamente tem de ter um Modelo com o pós fixo "MASTER". Por exemplo:
...
b. Consulta da Rotina Cadastrada
Na aba Caso ao informar o Código do Cliente e Loja na inclusão ou alteração do Caso, alguns campos exibem informações sugeridas, de acordo com os dados do Cadastro de Clientes são eles:
...
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:
- 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 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.
05. TABELAS UTILIZADAS
Bloco de código language vb theme RDark title Exemplo de MVC collapse true //------------------------------------------------------------------- /*/{Protheus.doc} JTest001 Cadastro /*/ //------------------------------------------------------------------- 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 da tela de @author Jonatas Martins @since 06/05/2020 /*/ //------------------------------------------------------------------- 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 de dados do Tipo de Fechamento @author Jonatas Martins @since 06/05/2020 /*/ //------------------------------------------------------------------- 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)