Autor Tópico: Dica WD: Como saber se um registro foi alterado durante a edição  (Lida 2047 vezes)

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
De acordo com o exemplo do WD, ao pressionar o botão "validade", a função HModify é executada havendo ou não alteração nos campos do form. Segundo as boas práticas, deve-se consultar o usuário se deseja ou não regravar o registro, para isso devemos saber se algum campo sofreu alteração.

Descobri um modo de fazer isto:

1) Envolver todos os campos do form num "Grupo" (fig 1)

2) No botão "validade" testar se a propriedade GR_Registro..Modified = True

ScreenToFile()
IF CADCONCEITOS..NewRecord = True THEN
   IF HAdd(CADCONCEITOS) = False THEN
      NextTitle(csErro)
      Error("Erro na inclusão deste registro.")
   END
ELSE   
   IF GR_Registro..Modified = True THEN
      NextTitle(csAtencao)
      SWITCH Dialog("Você confirma a alteração deste registro?")      
         CASE 1 // Gravar
            IF HModify(CADCONCEITOS) = False THEN
               NextTitle(csErro)
               Error("Erro na alteração deste registro.")
            END         
         CASE 2 // Não gravar                   
         CASE 3 // Retornar
            ReturnToCapture(FieldFirst())
            RETURN
      END      
   END
END

zerloti

  • Jr. Member
  • **
  • Mensagens: 78
  • Karma: +0/-0
Re:Dica WD: Como saber se um registro foi alterado durante a edição
« Responder #1 Online: Janeiro 18, 2012, 05:30:48 pm »
Valeu JacquesBica !!!
muito interessante, desconhecia este procedimento
Grato...

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Dica WD: Como saber se um registro foi alterado durante a edição
« Responder #2 Online: Janeiro 18, 2012, 05:47:48 pm »
Por ora... enquanto estudo o WD foi a solução mais simples e limpa que consegui fazer.
Talvez tenha alguma função específica a qual desconheço.

Se alguém tiver algo diferente neste sentido, será bem-vindo.