Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
titleRotina Automática MVC
linenumberstrue
#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO
*/
//------------------------------------------------------------------------
User Function m039Inc()
Local oModel      := Nil
Local cProdPai  := "001                           "
Local cProdFil1 := "002                           " 
Local cProdFil2 := "003                           "  
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
 
    oModel := FwLoadModel("MATA039")
    oModel:SetOperation(MODEL_OPERATION_INSERT)
    oModel:Activate()
    // Cabeçalho
    oModel:SetValue("MdFieldD4C", "D4C_PRODUT", "001"cProdPai)
    // Item 01
    oModel:SetValue("MdGridD4C", "D4C_PRDATO", "002"cProdFil1)
    oModel:SetValue("MdGridD4C", "D4C_QTPRAT", 5)
    oModel:GetModel("MdGridD4C"):AddLine()
    // Item 02
    oModel:SetValue("MdGridD4C", "D4C_PRDATO", "003"cProdFil2)
    oModel:SetValue("MdGridD4C", "D4C_QTPRAT", 10)

    If oModel:VldData()
        oModel:CommitData()
        MsgInfo("Registro INCLUIDO!", "Atenção")
    Else
        VarInfo("",oModel:GetErrorMessage())
    EndIf       
        
    oModel:DeActivate()
    oModel:Destroy()

    oModel := NIL

RESET ENVIRONMENT

Return Nil

//------------------------------------------------------------------------
/*
EXEMPLO DE ALTERAÇÃO
*/
//------------------------------------------------------------------------
User Function m019Alt()
Local oModel := Nil
Local cProdPai := "001                           "
Local cProdFil := "002                           "
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
 
// Posiciona
D4C->(DbSetOrder(1))
If D4C->(DbSeek(xFilial("D4C") + cProdPai + cProdFil))
    oModel := FwLoadModel("MATA039")
    oModel:SetOperation(MODEL_OPERATION_UPDATE)
    oModel:Activate()
    oModel:SetValue("MdGridD4C","D4C_QTPRAT",15)
 
    If oModel:VldData()
        oModel:CommitData()
        MsgInfo("Registro ALTERADO!", "Atenção")
    Else
        VarInfo("",oModel:GetErrorMessage())
    EndIf
    
    oModel:DeActivate()
Else
    MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
EndIf

RESET ENVIRONMENT

Return Nil

//------------------------------------------------------------------------
/*
EXEMPLO DE EXCLUSÃO
*/
//------------------------------------------------------------------------
User Function m019Exc()
Local oModel := Nil
Local cProdPai := "001                           "
Local cProdFil := "002                           "
Private aRotina := {}
 
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"

// Posiciona
D4C->(DbSetOrder(1))
If D4C->(DbSeek(xFilial("D4C") + cProdPai + cProdFil))
    oModel := FwLoadModel ("MATA039")
    oModel:SetOperation(MODEL_OPERATION_DELETE)
    oModel:Activate()
 
    If oModel:VldData()
        oModel:CommitData()
        MsgInfo("Registro EXCLUIDO!", "Atenção")
    Else
        VarInfo("",oModel:GetErrorMessage())
    EndIf

    oModel:DeActivate()
Else
    MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
EndIf

RESET ENVIRONMENT
 
Return Nil

...