Eu tenho uma função que valida o preenchimento de alguns campos e se estiver posicionado na primeira linha, pergunta se o usuário deseja preencher o campo ZA4_INSPE com o mesmo valor nas demais linhas e funciona perfeitamente, no final posicione na primeira linha com o oModel:GoLine(1).
Eu uso essa função na validação da linha, mas acho que consegue usar sem problema com o AddUserButton
Static Function COMP021LPOS( oModel )
Local nOperation := oModel:GetOperation()
Local oView := FWViewActive() //Objeto da View, adicionado para dar refresh após adicioar uma nova linha
Local lRet := .T.
Local nI := 0
Local nQtdLinhas := oModel:GetQtdLine()
Local nLinha := oModel:nLine
Local cInspetor := ""
If nOperation == 3 .or. nOperation == 4
oModel:GoLine(nLinha)
If !(oModel:IsDeleted())
IF(EMPTY(oModel:GetValue('ZA4_PROD')))
Help(,,'Informe codigo do Produto',,'Codigo do produto é obrigatório',1,0,,,,,,{'Consulte o produto via F3 ou atualize os dados digitando o numero da NF no cabeçalho'})
lRet := .F.
ElseIF(EMPTY(oModel:GetValue('ZA4_PRODES')))
Help(,,'Informe a Descrição do Produto',,'Descrição do Produto é obrigatório',1,0,,,,,,{'Consulte o produto via F3 ou atualize os dados digitando o numero da NF no cabeçalho'})
lRet := .F.
//Se estiver na primeira linha, verifica se deseja repicar os dados do inspetor a demais linhas
ElseIF(!EMPTY(oModel:GetValue('ZA4_INSPE')) .and. nLinha == 1)
cInspetor := oModel:GetValue('ZA4_INSPE')
IF MsgYesNo('Deseja replicar o Inspetor para todos os itens?')
For nI := 2 To nQtdLinhas //percorendo grid
oModel:GoLine(nI)
oModel:SetValue('ZA4_INSPE', cInspetor)
NEXT
oModel:GoLine(1)
EndIF
EndIF
EndIF
EndIF
oView:Refresh('VIEW_ZA4')
Return lRet
Boa tarde. Porquê você não atualiza os dados por gatilho?
— Jandir Deodato 21 de Nov de 2018Prezados,
Consegui solucionar à questão, passando o ID do Formulario que preciso que seja atualizado. Assim, não executa o REFRESH() em toda VIEW.
— Marcelo I Castro Joner 22 de Apr de 2021Marcelo, poderia deixar um exemplo de como vc fez e em qual Método foi implementado ?
— Marcio Hernandes 22 de Apr de 2021oView:Refresh('VIEW_ZC6_F2')
VIEW_ZC6_F2 -> é o ID do AddField que tem na minha VIEW e que preciso atualizar
— Marcelo I Castro Joner 22 de Apr de 2021Marcelo, é dessa forma que respondi lá em 2018 mais abaixo.
— Anderson Maciel 23 de Apr de 2021