Utilize o id BUTTONBAR, pois o mesmo é executado depois de todas as validações básicas para abertura da rotina.
O exemplo abaixo retrata o caso em que o usuário deseja que na cópia de um cliente o campo de Maior Saldo (A1_MSALDO), localizado na aba Adm/Fin. dentro da aba Principal do cadastro em MVC, seja zerado.
Exemplo:
Bloco de código |
---|
language | actionscript3 |
---|
linenumbers | true |
---|
|
// BIBLIOTECAS UTILIZADAS
#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"
// PONTO DE ENTRADA MVC DA CRMA980
User Function CRMA980()
Local aParam := PARAMIXB // PARÂMETROS PASSADOS PARA O PONTO (SEMPRE VARIAM)
Local xRet := .T. // RETORNO LÓGICO PARA PROSSEGUIMENTO DA ROTINA
Local oObj := NIL // OBJETO QUE ARMAZENARÁ O MODELO TOTAL
Local cIdPonto := "" // ID DO MOMENTO DA CHAMADA DO PONTO
Local cIdModel := "" // QUAL MODELO OU SUBMODELO ESTÁ ATIVO
// VALIDA SE O PONTO FOI CHAMADO SEM PASSAGEM DE PARÂMETROS
If (aParam != NIL)
// ATRIBUIÇÃO DE VALORES
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
// VERIFICA SE O MOMENTO DA CHAMADA É QUANDO O ID IGUAL A BUTTONBAR
// E SE A OPERAÇÃO DE INCLUSÃO É PROVENIENTE DE UMA CÓPIA
If (cIdPonto == "BUTTONBAR" .And. oObj:IsCopy())
// PROCURA O SUBMODELO SA1MASTER E INSERE NO CAMPO INFORMADO O CONTEÚDO DESEJADO
oObj:GetModel("SA1MASTER"):LoadValue("A1_MSALDO", 0)
// RECUPERA A VIEW ATIVA E ATUALIZA (NECESSÁRIO PARA EXIBIÇÃO DO CONTEÚDO)
oView := FwViewActive()
oView:Refresh()
EndIf
EndIf
Return (xRet)// RETORNO LÓGICO PARA PROSSEGUIMENTO |