GeneXus - SUMA EN WORK PANEL

 
Vista:
Imágen de perfil de Cristina Vip

SUMA EN WORK PANEL

Publicado por Cristina Vip (2 intervenciones) el 05/06/2014 11:33:22
hola queridos amigos....

soy nueva en esto de genexus y estoy creando un sistema en :

.net, sql server, genexus 9, ambiente win.

y lo que quiero es crear un work panel que al ingresar un numero de orden de trabajo (O.T.) me muestre todas los detalles hechos en la (O.T.). eso lo hace perfectamente pero al igual quiero que todos esos detallitos se sumen y me arroje el resultado en el cuadro que aqui les traigo para que me puedan entender mejor.

desde ya muchas gracias a mis amigos del foro

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

SUMA EN WORK PANEL

Publicado por JAN (16 intervenciones) el 05/06/2014 23:37:56
Hola, puedes agregar un atributo tipo formula, con sum(con atributo que necesitas sumar) y mostrar el resultado. eso sí trabajas con la transacción. sí es desde un web panel, puedes recorrer el grid y usando variables ir sumando el campo que necesitas con un for each line in grid en el evento load de tu grid.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristina Vip

SUMA EN WORK PANEL

Publicado por Cristina Vip (2 intervenciones) el 06/06/2014 00:16:33
Gracias por tu respuesta JAN...

¿Serias tan amable de darme un ejemplo del for each line in grid en el evento load???

para recorrer el grid...

Desde ya muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SUMA EN WORK PANEL

Publicado por JAN (16 intervenciones) el 17/06/2014 01:15:58
Habían dado respuesta a una pregunta parecida...

http://www.lawebdelprogramador.com/foros/GeneXus/1446146-FORMULA_PARA_OPERAR_EN_WORK_PANEL.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

SUMA EN WORK PANEL

Publicado por Julio (305 intervenciones) el 18/06/2014 02:42:30
1
2
3
4
5
6
7
Evento Refresh
  &Suma = 0
EndEvent
 
Evento Load
  &Suma += <Atributo o variable que se desea totalizar>
EndEvent

En las propiedades de la grilla en el Wkp, en la opción "Load records" hay que setearla a "Load all records"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de FERNANDO

SUMA EN WORK PANEL

Publicado por FERNANDO (39 intervenciones) el 25/06/2014 08:20:04
HOLA JULIO


ME GUSTARIA QUE ME AYUDARAS CON UNA LOGICA QUE NO PUEDO DESARROLLAR, TE EXPLICO;

TENGO UN SISTEMA DE PRESTAMO DE HERRAMIENTAS EN DONDE TENGO LA TRANSACCION PRESTAMO CON LOS SIGUIENTES CAMPOS:

CODPRESTAMO
FECHAPRESTAMO
HORAPRESTAMO
CODTRABAJADOR
TRABNOMBRE
CODHERRAMIENTA
HERRAMIENTA
STOCK
CANTIDADPRESTADA

EN DONDE APLICO LA REGLA SUBTRACT(CANTIDADPRESTADA, STOCK); PARA QUE REBAJE DEL INVENTARIO.

MI PROBLEMA ES COMO CREO LA TRANSACCION PARA PODER DEVOLVER LA HERRAMIENTA PRESTADA.
ESTOY CLARO QUE DEBERIA USAR LA SIGUIENTE REGLA: ADD(CANTIDADDEVUELTA, STOCK); Y CREAR UN TRANSACCION MUY SIMILAR A LA DE PRESTAMO.

PERO COMO PUEDO CONTROLAR EL CASO EN QUE PRESTE 3 SERRUCHOS POR EJEMPLO A UN TRABAJADOR Y EL ME DEVUELVA SOLO 2, COMO PODRIA VISUALIZAR QUE ME QUEDARIA DEBIENDO 1.

OJALA ME PUEDAS AYUDAR. SE ME HACE MUY COMPLICADA LA LOGICA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

SUMA EN WORK PANEL

Publicado por Julio (305 intervenciones) el 26/06/2014 01:28:42
Hola Fernando:

Yo tendría dos atts, inicialmente los dos atts registrarían la cantidad de herramientas que he prestado; posteriormente y conforme me las devuelvan le iría restando del segundo attibuto, de esta manera sabría cuantas herramientas fueron prestadas inicialmente y cuantas aún no me han devuelto mediante una simple resta que puede ser un att fórmula.

Respecto a tener dos transacciones, una para añadir y otra para restar: yo tendría solo una, a la que le envío un switche con el que indico qué acción voy a realizar en la Trn, si a añadir o a restar; obviamente la Trn debe recibir este switche y controlar las acciones de acuerdo al valor recibido. Para llamar a esta Trn habrá que crear dos opciones de llamada, una con valor Entregar (crear el registro) y la otra con el valor Recibir (actualizar el registro) respectivamente, de esta forma tu aplicación quedaría más compacta y tendrías que dar mantenimiento solo a una Trn. Pero si no te quieres complicar, mejor déjala como la tienes.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de FERNANDO

SUMA EN WORK PANEL

Publicado por FERNANDO (39 intervenciones) el 03/07/2014 09:43:40
Muchas gracias Julio por tu respuesta. Te cuento que al comprender la logica me doy cuenta de que es justamente lo que necesito implementar. Pero me surge una gran duda:

¿Como registro la informacion ingresada en 2 atributos diferentes para luego hacer la resta de estos?

Ojala me puedas ayudar.
Desde ya muchas gracias Julio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

SUMA EN WORK PANEL

Publicado por Julio (305 intervenciones) el 03/07/2014 23:50:53
Me alegra que lo hayas entendido Fernando.
Para registrar en el segundo att ni siquiera es necesario desplegarlo en la pantalla, solo en la structure, entonces puedes poner una regla así:

<SegundoAtt> = <PrimerAtt> on BeforeInsert;

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de FERNANDO

SUMA EN WORK PANEL

Publicado por FERNANDO (39 intervenciones) el 04/07/2014 08:58:07
Muchas gracias julio.

Con tu ayuda he podido diseñar el sistema que me tenia propuesto. Realmente muchas gracias.

Ahora que esta listo mi sistema me han surgido dudas que ojala me puedas orientar:

1° En mi sistema he colocado unas imagenes de logos para la estetica de el mismo pero al momento de copiar mi sistema a otra maquina para ejecutarlo las imagenes no aparecen. Segun lo que he investigado quedan con la ruta del equipo donde desarrolle el sistema.¿ como puedo configurar mi sistema para no tener problemas con la visualizacion de las imagenes en las distintas estaciones de trabajo?

2° Mi segunda duda es de como puedo cambiar el color o darle formato a los atributos que se visualizan despues de ingresar el codigo de un trabajador por ejemplo me muestra automaticamente el nombre y el valor de su hora diaria. Te adjunto una imagen con el caso para que me entiendas mejor.



Ojala me puedas ayudar Julio.

Desde ya infinitas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

SUMA EN WORK PANEL

Publicado por Julio (305 intervenciones) el 07/07/2014 21:56:09
Respuesta 1. En la etapa de desarrollo de la aplicación la ruta de tu carpeta de trabajo está algo así:

\NombreCarpetaPrincipal\Data002\Bin

Cualquier archivo que utilices en tu aplicación debes siempre guardar en la carpeta <Data002> o el nombre que le hayas puesto pero que pertenezca a esa jerarquía. En la aplicación para el usuario final, simplemente copias estos archivos junto con las librerías de la aplicación en la misma carpeta de destino final.

Respuesta 2. Estando en las Rules, utiliza las propiedades accesando la opción de la barra de menú: Insert/Properties
Ahí te muestra las diferentes propiedades disponible según el tipo de objeto que selecciones.

Como ejemplo, en las Rules podrías tener algo así:

CliNom.BackColor = rgb(255,255,255) if CliNom.IsEmpty();
CliNom.BackColor = rgb(32,123,128) if not CliNom.IsEmpty();

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar