Informe planning con casilleros

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
Yossua
vMate
vMate
Mensajes: 39
Registrado: 17 Ene 2006, 19:59

Informe planning con casilleros

Mensaje por Yossua » 13 Nov 2007, 20:34

Buenas,

estoy haciendo un planning de ocupación de habitaciones de un hotel, mi idea es hacerlo con casilleros para poder visualizar el estado de la habitación en una fecha determinada (Reservada, Ocupada, Libre).

El planteamiento es el siguiente:
Un menu
Un casillero vertical de habitaciones
Un casillero horizontal de fechas

Varios casilleros horizontales correspondientes a Habitación-Fecha, tantos como habitaciones y con tantos registros como fechas se necesiten consultar.

Hasta aquí creo que el enfoque bien, supongo.

-------FECHA1-FECHA2-FECHA3
HAB1--CAS-----CAS------CAS---
HAB2--CAS-----CAS------CAS---
HAB3--CAS-----CAS------CAS---
----------------------------------------
----------------------------------------

Para ello tengo dos tablas, una de habitaciones y otra de reservas
y a partir de estas dos creo una en memoria llamada planing que contiene los campos: habitacion, fecha y estado.

los valores "CAS" del casillero y las fechas provienen de esta tabla en memoria, y los valores HAB de habitaciones.

después de esta introducción va la pregunta,
¿cómo relleno los valores de todos los casilleros?
ya que para el primer casillero serían los valores de la habitación número 1, para el segundo casillero los de la habitación número 2, etc. Pero no sé como ir recorriendo las habitaciones si no las conozco previamente.

Alejandro Rojas
vMate
vMate
Mensajes: 26
Registrado: 21 Sep 2005, 08:48

Mensaje por Alejandro Rojas » 14 Nov 2007, 08:42

Es bastante sencillo aunque un poco largo de explicar. Yo lo tengo hecho de 2 formas, una con 3 casilleros (en tu caso, fechas, habitaciones y estado) y otra con 2 casilleros (fechas y estado) y 30 variables en memoria(habitaciones). En el proceso oninit del formulario calculas el estado de las habitaciones. Luego en el menu formulario en los procesos de los "casillero con subproceso" determinas los registros a mostrar en cada casillero. En la imagen que te adjunto lo ves en ejecución. Está compuesto de 2 menus tipo formulario para que el usuario pueda abrir or cerrar según quiera ver la descripción de las tareas (a la izquierda). En tu caso bastaría con uno. Y en este menú tengo 30 variables en memoria (con condiciones de visibilidad). En la derecha, tengo 1 casillero con el nº de tareas (en tu caso, fechas) y 30 veces el casillero de estado (con condiciones de visibilidad). La variable PAGINA está sincronizada con todo de forma que se pueden ir mostrando múltiples páginas.

También se puede hacer con 3 casilleros y 1 solo menú, que es más rápido a la hora de cambiar de página, pero da un poco más de lata a la hora de crear la tabla con el estado de las habitaciones.

No te puedo enviar el mapa de ejemplo porque forma parte de una aplicación mucho más compleja y tiene una estructura de tablas muy complicada.

Un saludo
Adjuntos
Fabricacion.jpg
(133.28 KiB) Descargado 258 veces

Yossua
vMate
vMate
Mensajes: 39
Registrado: 17 Ene 2006, 19:59

Mensaje por Yossua » 14 Nov 2007, 09:40

Muchas gracias por contestar,
El planteamiento sería ese, es decir en el menú de la izquierda tuyo yo pondría las habitaciones, y en el de la derecha (1,2,3,4...) yo pondría las fechas.
Ahora bien, yo no sé cuantas habitaciones va a haber, es decir, no puedo establecer 30 variables ya que asi estaría limitando el programa a 30 habitaciones, y esa no es la idea.
El problema que tengo es que en el proceso de alimentar los casilleros, tengo que ir alimentando los casilleros de HAB-ESTADO con el valor de cada habitación, pero no sé cómo pasarle según sea el casillero, el valor de la habitación.
¿Puedo usar el mismo proceso de alimentar casillero para todos los casilleros?
¿Cómo intercambio de habitación según el casillero que sea?

En pantalla podría tener esas 30 habitaciones pero tendría que poder cargar más paginando.
Yo tengo que mostrar cada casillero de pantalla (casillero1=habitación1, casillero2=Habitación2......) para cada habitación en cada fecha, pero no sé como pasarle el parámetro de la habitación para alimentar el casillero. Lo que se me ocurre es tener un valor de la habitación fijo, de la forma:

Para los Valores HAB-FEC del planning

Cargar lista->planning, habitacion, "101",,,
---if->~$PAGINA-PLANNING$ > (n-20)
--------Modificar variable global->PAGINA-PLANNING, n-19,
---Cortar lista->20, $PAGINA-PLANNING$
---Añadir retorno->PLANNING,

Pero no sé como alternar el valor de la habitación ("101") para cada casillero, ya que debería haber un casillero por habitación.

Avatar de Usuario
Agustin
vCoach
vCoach
Mensajes: 2953
Registrado: 21 Sep 2005, 06:17
Ubicación: Gijón-Asturias-España 43°32'15.44"N 5°39'13.70"W

Mensaje por Agustin » 14 Nov 2007, 13:31

Buenos días: he chapuceado algo que te puede orientar
Un saludo
Adjuntos
CasillerosVarios.map
(197.67 KiB) Descargado 230 veces
SC
Veni, vidi, vinci
Panta rei.
https://cagonmimantu.wordpress.com/

Yossua
vMate
vMate
Mensajes: 39
Registrado: 17 Ene 2006, 19:59

Mensaje por Yossua » 14 Nov 2007, 13:57

Muchas gracias Agustin,
lo he ojeado por encima pero creo que me da una idea, voy estudiarlo y os comentaré.

Alejandro Rojas
vMate
vMate
Mensajes: 26
Registrado: 21 Sep 2005, 08:48

Mensaje por Alejandro Rojas » 14 Nov 2007, 14:24

El límite de 30 lo pongo POR PAGINA y está en funcion de la resolucion a la que trabaja el usuario, tú podrías poner más o menos. El número de páginas es ilimitado. En mi aplicación un proyecto puede tener infinitas tareas.

Cada uno de los casilleros tiene su propio proceso. Lógicamente todos son muy parecidos. Adjunto te mando el proceso-4, que corresponde al casillero nº 4, en el dibujo tienes señalado en rojo lo único que hay que cambiar, la variable global T04, y el 3 que sale de (Casillero a mostrar-> 4) - 1. Las variables COL y FIL son fijas y valen 150 y 31 respectivamente y la variable PAGINA sirve para calcular la página a mostrar. Como puedes ver obtengo el valor de las variables de la tabla a la vez que genero el casillero.,

El único truco es el proceso de creación de la tabla donde tengas los ESTADOS de las habitaciones, que tienen que tener tantos registros por habitación con filas en el casillero (en mi caso 150). Yo uso una tabla auxiliar en memoria ZZ0006 que se carga en el proceso oninit del menú.
Adjuntos
Proceso 4.jpg
(63.25 KiB) Descargado 191 veces

Avatar de Usuario
agonzalez
Velneo
Mensajes: 115
Registrado: 12 Sep 2007, 11:37

Mensaje por agonzalez » 14 Nov 2007, 17:04

Si no le vas a dar ninguna funcionalidad a los casilleros, yo lo haría con una salida html, y me olvidaría de coordinar casilleros e historias. Otra cosa es que tengas que poder cambiar el estado de una habitación desde la visualización, etc.

En el vCRM, existen un par de ejemplos para visualizar la agenda diaria y mensual, con este tipo de visualización.

Un saludo.
Opinión personal de agonzalez no vinculante a Velneo.
life is soft

Avatar de Usuario
DomK
vLeader
vLeader
Mensajes: 1901
Registrado: 04 Oct 2005, 14:50
Ubicación: Valencia - Valencia - España (39.4598,-0.4127)
Contactar:

Mensaje por DomK » 14 Nov 2007, 20:13

Ufff! Esta vez no lo he dicho yo... :wink: :lol: :lol: :lol:

Un saludo,
DomK
"La simplicidad es la sofisticación definitiva"

Responder