Cambiar valor desde DocValidator, como un Callout

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.

Cambiar valor desde DocValidator, como un Callout

Postby raav6 » Thu Aug 16, 2012 9:56 pm

Hola a todos tengo el siguiente problemilla:

Es posible mediante un ModelValidator cambiar el valor de un campo, específicamente de una lista desplegable tal y como lo haría con un Callout?, requiero que dentro de un BEFORE_COMPLETE uno de los campos de la cabecera cambie según unos datos que recojo de las lineas (especificamente de los productos), cualquier recomendación para abordar el proceso será bienvenida, por ahora me aventurare a hacerlo directamente usando métodos del PO (setXX, save() etc..).

Gracias de antemano.

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

Re: Cambiar valor desde DocValidator, como un Callout

Postby raav6 » Fri Aug 17, 2012 4:38 am

Ya intente con:

Code: Select all
order.set_CustomColumn("AD_PrintFormat_ID", 1000247);               
               order.saveEx();


siendo AD_PrintFormat_ID el nombre del campo que quiero cambiar de valor, el tipo del campo es combobox, pero no me funciona, tampoco genera error.
raav6
 
Posts: 32
Joined: Wed May 02, 2012 10:37 pm

Re: Cambiar valor desde DocValidator, como un Callout

Postby globalqss » Fri Aug 17, 2012 9:10 pm

Puedes probar con set_ValueOfColumn en vez de set_CustomColumn ?

Saludos,

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

Re: Cambiar valor desde DocValidator, como un Callout

Postby raav6 » Fri Aug 17, 2012 11:41 pm

ya lo intente Carlos, mismo resultado

Code: Select all
if( contador > 1 ){
    //**************************************************
    order.set_ValueOfColumn("AD_PrintFormat_ID", 1000247);               
    order.saveEx();
    //**************************************************
    return " Los productos en las lineas no pueden tener tipos de contrato distintos ";
}


Como puede ver el mensaje se imprime correctamente, lo que quiero adicional a eso es que el campo "Formato de Impresión" cambie de valor, a otra de las opciones que posee, en este caso la 1000247

Image

Igualmente muchas gracias, no he encontrado nada aun en el foro de Sourceforge, ni en el Wiki de Adempiere, ni en Walking Tree, es algo aparentemente sencillo ya que no hay al parecer ninguna información al respecto. :?
raav6
 
Posts: 32
Joined: Wed May 02, 2012 10:37 pm

Re: Cambiar valor desde DocValidator, como un Callout

Postby globalqss » Sat Aug 18, 2012 2:30 am

Ah - eso es diferente :-) (ya que pusiste el código)

Cuando el model validator retorna un mensaje de error la transacción se reversa (rollback).

Aunque no es muy recomendable - si deseas guardar la orden por fuera de la transacción puedes usar:
order.saveEx(null);

OJO! que esto podría crear problemas de bloqueos si también estás modificando la orden dentro de la transacción.

Saludos,

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

Re: Cambiar valor desde DocValidator, como un Callout

Postby raav6 » Wed Aug 22, 2012 6:55 am

Ya me funciono y entendí bien los conceptos, muchas gracias Carlos.
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 1 guest