Dica |
---|
A validação passará a ser de responsabilidade do usuário e deverá ser feita através de ponto de entrada no padrão MVC como no exemplo abaixo. |
#Include "TOTVS.ch" #Include "FWMVCDEF.ch"
User Function VEIA070() Local aParam := PARAMIXB // PARÂMETROS PASSADOS PARA O PONTO Local xRet := .T. // RETORNO LÓGICO PARA PROSSEGUIMENTO DA ROTINA Local oObj := NIL // OBJETO QUE ARMAZENARÁ O MODELO TOTAL Local cIdPonto := Space(0) // ID DO MOMENTO DA CHAMADA DO PONTO Local aCpoPossiv := {} // ESTRUTURA DA TABELA Local cCpoNaoAlt := "" // Campos que NAO podem ser Alterados Local nCntFor := 0 Local bAuxWhen
// CERTIFICA-SE QUE EXISTEM PARÂMETROS PARA O MOMENTO If (!aParam == NIL) oObj := aParam[1] cIdPonto := aParam[2] cIdModel := aParam[3]
// VALIDAÇÃO ANTES DA ATIVAÇÃO DO MODELO If (cIdPonto == "MODELVLDACTIVE")
aCpoPossiv := FWFormStruct(3,"VV1")
cCpoNaoAlt += "VV1_CODMAR/VV1_CHASSI/VV1_MODVEI/VV1_SEGMOD/VV1_COMMOD/" cCpoNaoAlt += "VV1_FABMOD/VV1_CARROC/VV1_CORVEI/VV1_CORFXA/VV1_COMVEI/" cCpoNaoAlt += "VV1_NUMDIF/VV1_TIPDIF/VV1_RENAVA/VV1_PESBRU/VV1_RELDIF/" cCpoNaoAlt += "VV1_CAMBIO/VV1_CAPTRA/VV1_SERMOT/VV1_TIPCAB/VV1_QTDCIL/" cCpoNaoAlt += "VV1_TIPCAM/VV1_NUMLOT/VV1_CILMOT/VV1_TIPMOT/VV1_QTDEIX/" cCpoNaoAlt += "VV1_POTMOT/VV1_DISEIX/VV1_PRIREV/VV1_PORTAS/VV1_CM3/" cCpoNaoAlt += "VV1_PESLIQ/VV1_3EIXO/VV1_TANQUE/VV1_PRCADA/VV1_FABMES/" cCpoNaoAlt += "VV1_FABANO/VV1_DISCAT/VV1_SIMRAV/VV1_LCVM/VV1_NUMCMO/VV1_CLCVM/" cCpoNaoAlt += "VV1_CAPCAR/VV1_NUMMOT/VV1_PROVEI/VV1_ESTVEI/VV1_PLAVEI/"
For nCntFor := 1 to len(aCpoPossiv[1]) If !aCpoPossiv[1,nCntFor,14] .and. aCpoPossiv[1,nCntFor,3]+"/" $ cCpoNaoAlt // Somente campos que existem bAuxWhen := FWBuildFeature(STRUCT_FEATURE_WHEN, 'VA0700021_WHEN("' + aCpoPossiv[1,nCntFor,3] + '")') // Função reponsável pelos critérios do WHEN oObj:GetModel("MODEL_VV1"):GetStruct():SetProperty(aCpoPossiv[1,nCntFor,3], MODEL_FIELD_WHEN, bAuxWhen) EndIf Next EndIf EndIf Return (xRet)
|