Utilização do Ponto de Entrada em MVC do Cadastro de Clientes na opção Copiar
Produto: | Microsiga Protheus® |
Ambiente: | Faturamento (SIGAFAT) |
Ocorrência: | Como 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 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 a cópia de alguns campos de um cliente já cadastrado. Exemplo: #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 == "MODELVLDACTIVE" .And. oObj:GetOperation() == MODEL_OPERATION_INSERT aAdd(aCpoNoCopy, "A1_MSALDO") aAdd(aCpoNoCopy, "A1_MCOMPRA") aAdd(aCpoNoCopy, "A1_PRICOM") aAdd(aCpoNoCopy, "A1_ULTCOM") aAdd(aCpoNoCopy, "A1_SALDUP") aAdd(aCpoNoCopy, "A1_SALPED") //Define quais campos do submodelo não serão copiados no processo de cópia do submodelo. oObj:GetModel("SA1MASTER"):SetFldNoCopy(aCpoNoCopy) EndIf EndIf Return (xRet) |
Pode lhe interessar: |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas