Á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 fazer para não copiar as informações de alguns campos 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 MODELVLDACTIVE, que será executado antes da abertura da janela do cadastro.

No exemplo abaixo, iremos retratar o caso em que o usuário deseja não efetuar alterações no momento da a cópia de alguns campos 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â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
Local aCpoNoCopy := {}

	If (aParam != NIL)    

    	oObj     := aParam[1]
		    cIdPonto := aParam[2]
		    cIdModel := aParam[3]

    If cIDPonto ==  // Verifica se o ID é igual a BUTTONBAR e se a operação de inclusão é proveniente de uma cópia"MODELVLDACTIVE" .And. oObj:GetOperation() == MODEL_OPERATION_INSERT

        aAdd(aCpoNoCopy, "A1_MSALDO")
        If (cIdPonto == "BUTTONBAR" .And. oObj:IsCopy()aAdd(aCpoNoCopy, "A1_MCOMPRA")
        aAdd(aCpoNoCopy, "A1_PRICOM")
   // Procura submodelo SA1MASTER e insere no campo informado o conteúdo desejado
    aAdd(aCpoNoCopy, "A1_ULTCOM")
        aAdd(aCpoNoCopy, "A1_SALDUP")
        oObj:GetModel("SA1MASTER"):LoadValue(aAdd(aCpoNoCopy, "A1_MSALDOSALPED", 0)

        //Define quais campos do //submodelo Recuperanão aserão Viewcopiados ativano eprocesso atualiza (necessário para exibição do conteúdo)de cópia do submodelo.
            oView := FwViewActive()
            oView:Refresh()
 oObj:GetModel("SA1MASTER"):SetFldNoCopy(aCpoNoCopy)

       EndIf
EndIf
    EndIf

Return (xRet)
Pode lhe interessar:

...