Validar antes de guardar un registro

Ya empezamos la frase por usted con AYUDA!!! Así que por favor no haga lo mismo cuando solicite soporte. Tan solo haga sus preguntas en forma académica y bien descrita.
Forum rules
Este foro puede ser editado para evitar mensajes redundantes. Los temas relacionados se mueven al mismo sub-foro. Errores idiomáticos pueden ser corregidos para mejorar la legibilidad.

Validar antes de guardar un registro

Postby raav6 » Fri Aug 10, 2012 12:07 am

Hola, me gustaría saber en que parte del código se hacen las validaciones para antes de guardar un registro, necesito que no permita guardar un registro si el valor de un campo es menor o igual que 0, esto no puedo hacerlo con callouts porque no estoy modificando el campo en si el campo aparece inicialmente en 0 pero se requiere que el usuario digite un numero mayor, he buscado y al parecer se hace con los ModelValidator pero no he comprendido muy bien su funcionalidad o quizás no resuelve mi problema, gracias de antemano ante cualquier indicacion.

Saludos.
raav6
 
Posts: 32
Joined: Wed May 02, 2012 10:37 pm

Re: Validar antes de guardar un registro

Postby itbservices » Fri Aug 10, 2012 3:23 am

Hola, debes implementar el metodo beforeSave() en la clase de la tabla. Para esto debes crear una clase para la tabla la cual debe tener el prefijo M en el nombre y debe extender la clase X que se crea corriendo la clase GenerateModel. Puede tomar como ejemplo las clases de las tablas bases de adempiere como la de Business Partner la cual es MBPartner.java

Espero te sea de ayuda.

Saludos,

Jorge Tabares
itbservices
 
Posts: 41
Joined: Wed Oct 26, 2011 10:39 pm
Location: Bogotá, Colombia

Re: Validar antes de guardar un registro

Postby raav6 » Fri Aug 10, 2012 3:44 am

Gracias Jorge, en efecto la clase que debo modificar posee el metodo que mencionas el beforesave pero noto varias cosas, la primera es que al parecer no hace mucho pero cuando estoy dentro del programa en la versión web me hace la validación de manera normal en el caso de los campos obligatorios y muestra el mensaje correspondiente, eso me imagino se activa desde la ventana "Ventana, Pestaña y Campo" en el mandatory y es un método del PO (creo), pero y si necesito una validación "custom", como en mi caso?, ahi es donde me pierdo, debo hacerlo por codigo o es posible con el Application Dictionary?.

Lo otro es el parámetro boolean newRecord, y si se esta editando el campo?

Code: Select all
   protected boolean beforeSave (boolean newRecord)
   {
      if (is_ValueChanged("DueAmt"))
      {
         log.fine("beforeSave");
         setIsValid(false);
      }
      return true;
   }   //   beforeSave


Muchas gracias, de antemano.
raav6
 
Posts: 32
Joined: Wed May 02, 2012 10:37 pm

Re: Validar antes de guardar un registro

Postby globalqss » Sun Aug 12, 2012 2:31 am

Hola, en ese caso sería mejor usar un ModelValidator.

Pero si lo que quieres es controlar un número probaste el MinValue/MaxValue en la columna?

Saludos,

Carlos Ruiz
globalqss
Senior
 
Posts: 590
Joined: Thu Dec 29, 2005 4:15 am
Location: Bogotá, Colombia

Re: Validar antes de guardar un registro

Postby raav6 » Mon Aug 13, 2012 10:44 pm

Si Carlos decidi trabajar con el ModelValidator mejor creo que se ajusta mejor al problema.

Muchas grcias.
raav6
 
Posts: 32
Joined: Wed May 02, 2012 10:37 pm


Return to Soporte ADempiere - AYUDA!!!

Who is online

Users browsing this forum: No registered users and 2 guests