Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:Microsiga Protheus®
Ambiente:Faturamento (SIGAFAT)
Ocorrência:

Como alterar as informações no momento de efetuar a cópia de um registro na rotina de Cadastro de Clientes em MVC

Passo a Passo:

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
languagejs
linenumberstrue
#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)
Pode lhe interessar:

...