Utilizaremos o ponto de entrada em MVC através do id BUTTONBAR, que será executado antes da abertura da janela do cadastro.
No exemplo abaixo, iremos retratar o caso em que o usuário deseja efetuar alterações no momento da cópia de um cliente já cadastrado, alterando o conteúdo do campo de Maior Saldo (A1_MSALDO).
Exemplo:
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"
User Function CRMA980()
Local aParam := PARAMIXB // PARÂMETROSParâmetros PASSADOSpassados PARApara Oo PONTOponto (SEMPREsempre VARIAMvariam)
Local xRet := .T. // RETORNORetorno LÓGICOlógico PARApara PROSSEGUIMENTOprosseguimento DAda ROTINArotina
Local oObj := NIL // OBJETOObjeto QUEque ARMAZENARÁarmazenará Oo MODELOmodelo TOTALtotal
Local cIdPonto := "" // IDId DOdo MOMENTOmomento DAda CHAMADAchamada DOdo PONTOponto
Local cIdModel := "" // QUALQual MODELOmodelo OUou SUBMODELOsubmodelo ESTÁestá ATIVOativo
If (aParam != NIL)
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
// VERIFICAVerifica SEse Oo MOMENTOID DAé CHAMADAigual É QUANDO O ID IGUAL A BUTTONBAR
// E SE A OPERAÇÃO DE INCLUSÃO É PROVENIENTE DE UMA CÓPIAa BUTTONBAR e se a operação de inclusão é proveniente de uma cópia
If (cIdPonto == "BUTTONBAR" .And. oObj:IsCopy())
// PROCURAProcura O SUBMODELOsubmodelo SA1MASTER Ee INSEREinsere NOno CAMPOcampo INFORMADOinformado Oo CONTEÚDOconteúdo DESEJADOdesejado
oObj:GetModel("SA1MASTER"):LoadValue("A1_MSALDO", 0)
// RECUPERARecupera Aa VIEWView ATIVAativa Ee ATUALIZAatualiza (NECESSÁRIOnecessário PARApara EXIBIÇÃOexibição DOdo CONTEÚDOconteúdo)
oView := FwViewActive()
oView:Refresh()
EndIf
EndIf
Return (xRet) |