Ponto de Entrada em MVC do cadastro de Produtos (MATA010)
Exemplo 1- Fazendo operações após inclusão ou alteração:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} ITEM Exemplo de Ponto de Entrada em MVC @author zIsMVC @since 29/06/2018 @version 1.0 @type function @obs Deixar o nome do prw como: ITEM_pe.prw /*/ User Function ITEM() Local aParam := PARAMIXB Local xRet := .T. Local oObj := Nil Local cIdPonto := "" Local cIdModel := "" Local nOper := 0 Local cCampo := "" Local cTipo := "" Local lEnd //Se tiver parâmetros If aParam != Nil ConOut("> "+aParam[2]) //Pega informações dos parâmetros oObj := aParam[1] cIdPonto := aParam[2] cIdModel := aParam[3] //Valida a abertura da tela If cIdPonto == "MODELVLDACTIVE" xRet := .T. //nOper := oObj:nOperation //Pré configurações do Modelo de Dados ElseIf cIdPonto == "MODELPRE" xRet := .T. //Pré configurações do Formulário de Dados ElseIf cIdPonto == "FORMPRE" xRet := .T. //nOper := oObj:GetModel(cIdPonto):nOperation //cTipo := aParam[4] //cCampo := aParam[5] //Se for Alteração //If nOper == 4 //Não permite alteração dos campos // If cTipo == "CANSETVALUE" .And. Alltrim(cCampo) $ ("CAMPO1;CAMPO2;CAMPO3") // xRet := .F. // EndIf //EndIf //Adição de opções no Ações Relacionadas dentro da tela ElseIf cIdPonto == "BUTTONBAR" xRet := {} //aAdd(xRet, {"* Titulo 1", "", {|| Alert("Botão 1")}, "Tooltip 1"}) //aAdd(xRet, {"* Titulo 2", "", {|| Alert("Botão 2")}, "Tooltip 2"}) //aAdd(xRet, {"* Titulo 3", "", {|| Alert("Botão 3")}, "Tooltip 3"}) //Pós configurações do Formulário ElseIf cIdPonto == "FORMPOS" nOper := oObj:GetModel(cIdPonto):nOperation xRet := .T. //Validação ao clicar no Botão Confirmar ElseIf cIdPonto == "MODELPOS" xRet := .T. //Pré validações do Commit ElseIf cIdPonto == "FORMCOMMITTTSPRE" //Pós validações do Commit ElseIf cIdPonto == "FORMCOMMITTTSPOS" //Commit das operações (antes da gravação) ElseIf cIdPonto == "MODELCOMMITTTS" //Commit das operações (após a gravação) ElseIf cIdPonto == "MODELCOMMITNTTS" nOper := oObj:nOperation //Mostrando mensagens no fim da operação If nOper == 3 Alert("Fim da Inclusão") ElseIf nOper == 4 Alert("Fim da Alteração") EndIf EndIf EndIf Return xRet
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;
Referências:
– TDN