Boa tarde pessoal,
Estou utilizando o PE ITEM() para que na cópia do produto eu limpe o conteúdo de um campo customizado. Porém em depuração, eu consigo ver que o campo foi limpo na variável do objeto, no M->(B1_XXX), etc mas ao abrir o browse o campo permanece com o conteúdo da origem.
Alguém já precisou fazer esse tipo de tratamento?
Obrigado
Abaixo segue o código utilizado para elucidar.
////////////////////////////////// User Function ITEM()
Local aParam := PARAMIXB Local xRet := .T. Local oObj := "" Local cIdPonto := "" Local cIdModel := "" Local lIsGrid := .F. Local nLinha := 0 Local nQtdLinhas := 0 Local cMsg := "" Local oModelX := nil
If aParam <> NIL oObj := aParam[1] cIdPonto := aParam[2] cIdModel := aParam[3] _cParam5 := iif(len(aParam) >= 5, aParam[5], '') lIsGrid := ( Len( aParam ) > 3 )
If cIdPonto == "FORMPRE" .and. cIdModel == "SB1MASTER" .and. _cParam5 == 'SB1MASTER' oModelX := FwModelActive()// Instancia modelo ativo oModelB1 := oModelX:GetModel("SB1MASTER") //Instancia sub-modelo SB1 If oModelX:IsCopy() //Verifica se é uma operação de copia // CUSTOMIZAÇÕES DO USUÁRIO (VALIDAÇÃO DE CAMPO, INSERÇÃO DE VALORES E ETC) _cDescri := alltrim(oModelB1:GetValue("B1_DESC")) oModelB1:SetValue('B1_DESC', _cDescri + ' COPY') //oModelB1:LoadValue('B1_DESC', _cDescri + ' COPY') //MsgInfo("FORMPRE - Operação de cópia") //xRet := .T.//Mantem o retorno para validação FORMPOS como .T., alterar se for necessário EndIf EndIf EndIf
Return xRet