Como valido dias de la semana (booleanos)

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Avatar de Usuario
Cuco
vLeader
vLeader
Mensajes: 1179
Registrado: 20 Sep 2005, 20:45

Mensaje por Cuco »

De nada, Wendy.
Besitos aceptados, con devolución; y reserva alguno para Fran y para Desarrollador, que también los merecen.
杜鹃鸟
Juan Miguel Figueroa Dorrego

Fontanía Lógica ™, E.P.I.
Una empresa personal imaginaria
Posición:
43.532928,-5.628616
Avatar de Usuario
Wendy
vMate
vMate
Mensajes: 71
Registrado: 18 Feb 2009, 21:29

Mensaje por Wendy »

:wink: Cuco, espero algun dia tener la oportunidad de conocerlos en persona.


Regresando al tema.

Hasta ahora tengo lo siguiente

Una busqueda con indices, de los booleanos de la semana Lunes martes, etc, estos indices, tienen marcado el check para campo condicionado para indexar, no conocia, esto me parece algo genial, (Gracias Pablo Navarrete) ok, luego en la busqueda y en cada indice tengo en su check Condicion Activo:

fFormatFecha( fHoy(), "&u" ) = 1 para lunes, y 2 para martes etc.

Con esto solo me muestra los registros del dia. 8)

Luego en la pestana, no tengo (~) Formula filtro secuencial tengo:
(fHoy() > (%FECHA-INICIO%-1)) & ( fHoy() < (%FECHA-FIN%+1))

tomado del ejemplo de DESARROLLADOR y un post que leei de Domk ya no se donde quedo ese post.

Pues bien con esto tengo que solo me muestra los registros del dia y los que etan entre el rango de fechas.

Hast aqui todo bien.

Ahora les pregunto, y en base a lo que me comentas Cuco, respecto a validar por rangos de hora.

donde hago la validacion entre horas, dentro del Flitro secuencial, o despues de pedir la formula por medio de un If.

Como comentario aun me falta filtrar por Clasificacion, Grupo 1 grupo 2,. pero creo que hasta ahorita todo va muy bien.

Gracias chicos!!
El verdadero amor es como los espíritus: todos hablan de ellos, pero pocos los han visto...
Avatar de Usuario
Cuco
vLeader
vLeader
Mensajes: 1179
Registrado: 20 Sep 2005, 20:45

Mensaje por Cuco »

Si tienes ya los campos booleanos, hazlo como dice Desarrollador.
Lo que yo te proponía es otro planteamientodistinto.
En cualquier caso me parece que estás un poco liada
Replantea el tema y replantéanoslo..
杜鹃鸟
Juan Miguel Figueroa Dorrego

Fontanía Lógica ™, E.P.I.
Una empresa personal imaginaria
Posición:
43.532928,-5.628616
Avatar de Usuario
Wendy
vMate
vMate
Mensajes: 71
Registrado: 18 Feb 2009, 21:29

Mensaje por Wendy »

Replanteando mi caso.

Cuco siguiendo tu sugerencia, expongo nuevamente lo que deseo hacer, quiero entender que mi problema esta en lo poco que tengo conociendo Velneo y posiblemente la complejidad de mi planteamiento.

En una aplicacion tipo vGestion es decir ventas.

Deseo agregar un modulo de promociones / ofertas / campaña / etc como le quieran llamar o crean que es lo correcto, en mi caso Ofertas.

Pues bien adjunto una imagen de mi esquema de campos, asi como un formulario donde pretendo dar de alta las ofertas.

La idea es, que al realizar una venta de cualquier articulo se mande llamar un proceso OFERTAS para validar si el articulo seleccionado tiene alguna oferta, y si la tiene aplicarla.

-La oferta se puede crear para un grupo, de Articulos, o para un Articulo en particular.

-Se especifica tambien la vigencia de la oferta es decir que dias de la semana aplica, en que rango de fecha, de que horas a que hora.

-Y para finalizar se da la opcion de:
Descuento sobre el total
Descuento por porcentaje
CAmbio de lista de precios
Otro precio.

Pues bien Chicos mi duda en todo esto es que valido primero y como lo hago en Velneo.

El caso es que tengo validar:
Dias de la Semana (lunes, martes, miercoles...)
Fecha inical y final
Hora inicial y final
Clasificacion o grupo al que se aplica la oferta.

Como les decia en comentarios previos y en base a la ayuda que he recibido de ustedes.

Termine utilizando una busqueda, copio un mensaje anterior:
Una busqueda con indices, de los booleanos de la semana Lunes martes, etc, estos indices, tienen marcado el check para campo condicionado para indexar, no conocia, esto me parece algo genial, (Gracias Pablo Navarrete) ok, luego en la busqueda y en cada indice tengo en su check Condicion Activo:

fFormatFecha( fHoy(), "&u" ) = 1 para lunes, y 2 para martes etc.

Con esto solo me muestra los registros del dia.

Luego en la pestana, no tengo (~) Formula filtro secuencial tengo:
(fHoy() > (%FECHA-INICIO%-1)) & ( fHoy() < (%FECHA-FIN%+1))

tomado del ejemplo de DESARROLLADOR y un post que leei de Domk ya no se donde quedo ese post.

Pues bien con esto tengo que solo me muestra los registros del dia y los que etan entre el rango de fechas.

Hast aqui todo bien.
Pues segun mis piensos, la lista de registros que tendria estaria mas reducida.
Solo que me quedo atorada en si luego filtro por GRupos, y al final por horas. :cry:

En fin se me ha hecho pesado todo esto pues como les comente a partir del primero de Julio tengo nuevo puesto, entonces entre dejar en orden mi actual puesto, las capacitaciones sobre lo nuevo, y Velneo pues ya se imaginaran.

Saluditos a todos!!
Adjuntos
OfertasVelneo.jpg
(94.84 KiB) Descargado 103 veces
El verdadero amor es como los espíritus: todos hablan de ellos, pero pocos los han visto...
Avatar de Usuario
Cuco
vLeader
vLeader
Mensajes: 1179
Registrado: 20 Sep 2005, 20:45

Mensaje por Cuco »

Yo resolvería todas las condiciones con campos fórmula en la tabla de Ofertas, el resultado de la fórmula puede ser, p.e., numérico, 0 ó 1, a base de funciones de fórmula 'fDecidirDato()'. Se condicionan por orden, primero el intervalo de fechas ( si no cae en el intervalo la fecha fHoy(), ya no se sigue provando) luego días de la semana, luego intervalo horario. La fórmula se calculará cuando la uses.
Creo que la tabla de ofertas debe de ser maestra de Grupos y/o de Artículos (da la impresión de que la tienes al revés).

Si es como yo te digo, al vender un producto (línea del tiket de caja) al ser OFERTAS maestro de GRUPOS de artículos y , a su vez, GRUPOS maestra de ARTICULOS, no tienes más que preguntarle como está el campo calculado para saber si es oportuna o no la oferta para ese día del mes, ese día de la semana y esa hora, subiendo por los maestros, los cuales están siempre visibles desde los históricos correspondientes. El proceso de venta ya decide automáticamente si calcula la oferta por el estado del campo calculado de la tabla de Ofertas y se aplica el precio adecuado.

Y todo en la parte izquierda, es decir: sólo utilizando las propiedades de la estructura de la tablas.

Es un consejo y no lo he programado nunca, pero me da que no necesito probarlo, esperemos a ver qué opinan los colegas, y tú, claro.
¡Qué te vaya bonito en tu nuevo puesto! y sigue trabajando en Velneo

P.D.: Quizás te resultará más cómodo al principio crear cuatro campos calculados sucesivos:
- C1: Determina si la fecha de hoy está en rango de días de la oferta
- C2: Determina si la fecha está en día de la semana previsto en la oferta
- C3: Determina si la hora de la venta está en el intervalo de la oferta
- C4: fDecidirDato ( ! %C1%, 0, fDecidirDato( ! %C2%, 0, fDecidirDato( ! C3, 0, 1 )
Cuando compruebes que funciona, enlazas las tres primeras condiciones en C4 para evitar cálculos innecesarios.
杜鹃鸟
Juan Miguel Figueroa Dorrego

Fontanía Lógica ™, E.P.I.
Una empresa personal imaginaria
Posición:
43.532928,-5.628616
Avatar de Usuario
Wendy
vMate
vMate
Mensajes: 71
Registrado: 18 Feb 2009, 21:29

Mensaje por Wendy »

:wink: Hola, Cuco!, muchas gracias por estar al pendiente de este tema.

Me parece impresionante tus planteamientos, pues como lo mencionas todo se realiza en la parte izquerda del vDevelop cosa que me cuesta trabajo acostumbrarme, pero veo que es la mejor opcion.

Cuco, en un principio yo tambien me plante el que la Tabla Ofertas fuera Maestra tanto de Grupos como de Articulos, pero jungando un poco con el vDevelop se me presentaron dos casos.

1.- Que pasa , digamos de la tabla Articulos con su campo enlazado de Ofertas, se supone que este campo guarda el codigo de la oferta es decir de su maestro. Pero si tengo para un articulo dos o mas ofertas, por citar un ejemplo de lunes a viernes aplica la oferta 1, y sabados y domingos oferta 2, que pasa con este campo. o es mas se me ocurre que cada dia tenga una oferta diferente, en un principio me atore aqui.

2.-En mi estructura actual defino al inicio del formulario el identificador que enlaza a cada tabla (articulos o Grupos), en caso de que la tenga como Maestra tendria que crear otro formulario para seleccionar su historico (articulos o oferta)

La verdad estoy segura, que algo anda mal desde el inicio, pues el tener dudas si la tabla es maestra o historica quiere decir que algo no he definido correctamente.

Ya llego el fin de semana, prometo sentarme y dedicarle el tiempo que sea necesario.

Un fuerte Abrazo y un beso Cuco, gracias por tu paciencia.
El verdadero amor es como los espíritus: todos hablan de ellos, pero pocos los han visto...
Avatar de Usuario
Wendy
vMate
vMate
Mensajes: 71
Registrado: 18 Feb 2009, 21:29

Mensaje por Wendy »

Busque en mis apuntes, y ahora caigo en porque tengo la Tabla de Ofertas como Historica.

Ejemplo con Articulos

-Una oferta aplica solo a un articulo
-Pero un articulo puede tener varias ofertas( una para lunes, otra para Martes...)
-Al seleccionar un articulo puedo pedir ver las ofertas que tiene.

Para poder seleccionar un varios articulos, aplico la oferta a una clasificacion digamos grupo1 (de articulos).

En fin tengo mas garabatos, y cosas en mi cuaderno de anotaciones, pero segun yo por esto es que Ofertas es historica.

Saluditos
El verdadero amor es como los espíritus: todos hablan de ellos, pero pocos los han visto...
Avatar de Usuario
Cuco
vLeader
vLeader
Mensajes: 1179
Registrado: 20 Sep 2005, 20:45

Mensaje por Cuco »

Es un caso interesante.
No voy a entrar ahora en detalles pero si es como tú dices Artículos maestro de ofertas, tienes que definir una o varias ofertas para cada uno de los artículos mediante una tabla (Ofertas de Artículo) de enlace entre Artículos y de Ofertas, histórica de ambas. Ahora trasladas el tinglado de campos calculados que te expliqué para Artículos a la tabla Ofertas_de_Articulo.

En la tabla Artículos, creas un campo 'fórmula de histórico' que sume los 1 y 0 de cada registro de la tabla 'Ofertas de Artículo' para cada árticulo. Si este campo es mayor que cero, el artículo está en oferta por alguna de las definidas para él, si es cero, no está en oferta para dichas condiciones.
Si hay que conocer el descuento aplicable a cada oferta, lo recogeremos en otro campo 'fórmula de histórico', que sume los productos del descuento aplicable a cada oferta multiplicado por el estado, 0 ó 1, del campo calculado de cada línea de histórico de la tabla 'Ofertas de artículo' para el artículo en cuestión. (En realidad sólo haría falta este último campo 'fórmula de histórico' porque la condición sigue siendo que sea mayor que cero y, al mismo tiempo, sabemos el descuento aplicable)


En el momento de la venta, estando en nueva Línea_de_Tiket, al elegir el maestro Artículo también sabemos si está en oferta en ese momento y cuando sería el descuento y el precio final aplicable..

Advertencias:
- las ofertas no pueden solaparse salvo que sean acumulables.
- no deberían mostrarse los campos fórmula en rejillas en las que puedan contener muchos registros de Ártículos.

Yo iría por esta línea, hay que pararse un poco para entenderlo pero todo sería en la parte izquierda y por tanto del lado del servidor.
Los campos fórmula de histórico no penalizarían mucho porque las ofertas para cada ártículo no pasarían de 5, estimo.
En cualquier caso, probando, se podrían sustituir los campos 'fórmula de histórico' por actualizaciones o eventos de tabla desde las líneas de 'Ofertas_de_Artículo'

Se podrá hacer con procesos en pérdidas de foco u otras soluciones, pero yo prefiero esta que propongo si se demuestra factible, y además las pruebas son incruentas incluso trabajando con datos reales.
Última edición por Cuco el 26 Jun 2009, 19:18, editado 1 vez en total.
杜鹃鸟
Juan Miguel Figueroa Dorrego

Fontanía Lógica ™, E.P.I.
Una empresa personal imaginaria
Posición:
43.532928,-5.628616
Avatar de Usuario
Mgalvezh
vAdviser
vAdviser
Mensajes: 766
Registrado: 13 Sep 2007, 16:36

Mensaje por Mgalvezh »

Hola.
¿Me dejáis meter mano al asunto? :lol: :lol: A ver que te parece esta idea:
Pienso que entre artículos y ofertas hay un doble plural, de esa forma las frases: 'Las ofertas del artículo', 'los artículos de la oferta', son ciertas, vamos creo...

Tablas: 'Artículos', 'Ofertas', 'Aplicación Ofertas', en esta última un campo tipo, que nos dice a que se aplica la oferta, artículo, familia, grupo, etc.


PD:¡¡¡Felicidades!!!
Avatar de Usuario
Cuco
vLeader
vLeader
Mensajes: 1179
Registrado: 20 Sep 2005, 20:45

Mensaje por Cuco »

Mete toda la mano que quieras, MGalvez, siempre que sea a través de los mensajes del Foro.
Como ves, tu propuesta está implícita en la mía

Os agradecería a todos que comentarais mis propuestas para ayudar a Wendy a ir tomando decisiones.

Yo es que soy un apasionado del lado izquierdo, que también es el del corazón.
杜鹃鸟
Juan Miguel Figueroa Dorrego

Fontanía Lógica ™, E.P.I.
Una empresa personal imaginaria
Posición:
43.532928,-5.628616
Responder