Á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("D4CMASTER", "D4C_PRODUT", cProdPai)
    // Item 01
    oModel:SetValue("D4CDETAILS", "D4C_PRDATO", cProdFil1)
    oModel:SetValue("D4CDETAILS", "D4C_QTPRAT", 2)
    oModel:GetModel("D4CDETAILS"):AddLine()
    // Item 02
    oModel:SetValue("D4CDETAILS", "D4C_PRDATO", cProdFil2)
    oModel:SetValue("D4CDETAILS", "D4C_QTPRAT", 7)
 
    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 m019Altm039Alt()
Local oModel        := Nil
Local oModelItem    := Nil
Local cProdPai      := "001                           "
Local cProdFil      := "002                           "
Local cProdFil2     := "003                           "
Private lMsErroAuto := .F.
  
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
  
// Posiciona
D4C->(DbSetOrder(1))
If D4C->(DbSeek(xFilial("D4C") + cProdPai + cProdFil2))
    oModel := FwLoadModel("MATA039")
    oModel:SetOperation(MODEL_OPERATION_UPDATE)
    oModel:Activate()
    oModelItem := oModel:GetModel("D4CDETAILS")
    oModelItem:seekline({{"D4C_FILIAL",xFilial("D4C")},{"D4C_PRODUT", cProdPai}, {"D4C_PRDATO", cProdFil2}})
    lOk := oModel:SetValue("D4CDETAILS","D4C_QTPRAT",33)
  
    If lOk .AND. 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 m019Excm039Exc()
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

...