Tutorial vídeo club
Visto que la encuesta va ganando por 15 a 1 los si, he decidido empezar este nuevo tutorial de como crear un vídeo club.
Lo haré introduciendo partes 1 ó 2 veces a la semana, cuando me sea posible incluso más. La herramientas que usare son: La biblioteca de iconos: Cristal clear Para crear las tablas y la base de datos: Ibexpert P.E. (Edición personal) El motor de base de datos: Firebird 2.5 El Delphi 2010 y sus componentes estándar Para los informes: El Report manager Y para los diagramas que presento el Diagram desing Salvo el delphi el resto o son gratuitos o son para uso personal Intentaré que sea sencillo de entender, corregidme si no es así y para todos los niveles, pero no explicaré como hacer la base de datos, ya que hay un muy buen tutorial en el club que lo explica. ¿Por qué sobre un vídeo club? Sencillo, es un tipo de negocio en decadencia, además fue mi primer gran proyecto en clipper y tiene conceptos que podremos extrapolar a otros programas. ¿Qué no encontraremos? por ejemplo tablas maestro detalle como tales ¿Qué si encontraremos? El uso de varios sistemas y el aprovechamiento por lo menos en parte de nuevas tecnologías Algo de historia El vídeo club nació con las primeras películas en vídeo beta, sistema 2000 y Vhs, siendo el franco ganador este último sistema a pesar de no ser el más eficiente ni el de mejor calidad, ya que el beta tenía mejor revolución y el sistema 2000 era el más avanzado de todos ellos. Los tiempos fueron avanzando y vino el dvd y el Blue-Ray, pero también los juegos de múltiples consolas que también se fueron añadiendo a productos alquilables y por lo tanto pertenecientes a los vídeo clubs. En los últimos años estos han decaído como muchas otras cosas, en parte por los canales satélites y derivados y en parte por la crisis. Pero aun subsisten algunos teniendo que adaptarse a los tiempos, por lo que tienen salas para llamadas, fotocopiadoras, fax, golosinas, vaporizadores y un largo etc. de productos y servicios Nosotros nos vamos a quedar en la parte media, no dedicándonos a otra cosa que el alquiler y la venta de nuestras películas y juegos, para este tutorial. Programare como si se tratase de un sistema moderno tipo TPV, pero sin entrar en visores, impresoras de tickets y cajoneras, aunque dejándolo apunto para que os sea fácil añadírselo, si intentando implementar otros sistemas a nuestro programa. Por último quiero pedir disculpas por algunas de mis faltas de ortografía que seguro las habrá, pero con 46 años me han detectado que tengo una epilepsia :p cada año descubro partes más jodidas de mi :eek:. Las he descubierto por que al escribir mis libros repetía una y mil veces los mismos fallos y tras hacerme un analisis y la doctora comprobar que sabía esas normas ortográficas y que también sabía como se escribían esas palabras casi el 90% de las veces lo hacía mal. |
Tabla UNIDADES
Como ya hemos comentado en los vídeo clubs ya no se se alquila sólo películas, por lo que nuestra base que contenga los datos se llamará UNIDADES, en esta tabla me extenderé en algunos campos explicándolos un poco más. ALQUILADA_VECES: nos indicará el número de veces que la unidad ha sido alquilada, podríamos sacarlo mediante SQL, pero hay ciertos datos que prefiero tratar así directamente VALOR_ALQUILER: Es el código de una tabla con el mismo titulo, en ella estableceremos varios datos que estimaran su precio y demás, ya lo veremos más adelante FORMATO: Se refiere al formato físico, pero también al formato de soporte Ejemplos: DVD, BLue-Ray, JUEGO PS3, etc. GENERO: al genero de película o juego del que trata esta unidad FECHA_ALTA y FECHA_BAJA: Día en que damos de alta a la unidad y en la que le damos de baja, pero esta última se puede cambiar, ya veremos por qué un poco más abajo COSTE y REDIMIENTO: El primero es cuanto nos ha costado la unidad, el segundo es un campo que incrementará cada vez que la unidad se alquile o cuando se venda DISPONIBLE: La unidad esta disponible para su alquiler o venta haremos que admita S o N simplemente VENDIDA: LA unidad ha sido vendida, por lo que no aparecerá en nuestras búsquedas para alquilar y cambiara el disponible a N y la fecha de la baja será la de la venta, no dejándola cambiar PERDIDA: La unidad no se encuentra, este es nuestro campo, al igual que vendida nos rellena los campos disponible y fecha de baja, pero al recuperarla, podremos seguir usándola nuevamente, por esto la fecha de baja no es fija, salvo que este vendida NOTAS: este es un campo de incidencia sobre la unidad, por si un cliente se queja de un problema y seguimos adelante con el alquiler y otros expresasen el mismo problema, poder tener un registro del mismo |
Tabla CLIENTES
|
Tabla USUARIO
Será la tabla que controle a nuestros empleados, como podéis ver la he reducido bastante, para que sea más manejable el tutorial, pudiendo añadir muchos más campos NIVEL:Será el nivel de nuestro usuario, según este podrá obtener más datos en ciertas pantallas (Por ejemplo el coste y el rendimiento en la unidades) o acceder a ciertos apartados del programa estándole vetados el resto CLAVE:Será la clave que elija nuestro usuario, apareciendo codificado en el programa, para lo que usaremos una función que se encargara de administrar el sistema |
Tabla VALOR_ALQUILER
Esta es la tabla a la que hacíamos referencia en la tabla UNIDADES, comentaré algunos campos DIAS: El número de días de alquiler, contando siempre desde la fecha del alquiler PRECIO y PRECIO_OFERTA: es el precio del alquiler en días normales y los días de oferta según la tabla CONFIGURACION PENALIZACION_DIA: Es la recarga que aplicaremos por cada día de retraso en devolver la unidad |
Varias tablas
Son varias tablas auxiliares sin mucho que comentar sobre ellas, salvo de la última, ya que al tratarse de un sistema TPV podríamos pagar con tarjeta, por lo que lo lógico es que tengamos la imagen de estas para seleccionar, junto a otros muchos sistemas, desde efectivo, bonos, mixto, etc., haciéndolo más rápido de esta manera. |
Tabla CAJA
|
Tabla MOVIMIENTOS
Como podéis ver esta es una tabla idéntica a la de caja o casi, pero la necesitamos independiente para el tema de recibos, facturas o tickets, teniendo en cuenta que el campo cantidad puede ir en positivo o negativo, según sea un cobro (la penalización de un cliente o el a cuenta del mismo, etc.) o pagos (Una remesa nueva de unidades, material auxiliar, etc.) |
Tabla ALQUILER
La parte central del programa, es el alquiler y esta es nuestra tabla por lo que detallare sus campos principales REGISTRO: es el registro de nuestro numerador, debemos tener en cuenta que si hay varios alquileres a la vez tendrán el mismo número de registro. Importante es especificar que digo a la vez y no al día ya que por una parte puede venir el marido y por el otro la mujer o hijos, dándole a cada uno un registro diferente UNIDAD, CLIENTE, USUARIO: El el código de cada uno DIA_ALQUILER:Es la fecha en que alquilamos DIA_DEVOLUCION_PREVISTO: es para cuando estimamos la devolución, se que podríamos tomarlo del VALOR Alquiler usando SQL con esta tabla y la de unidades de la que ya conocemos el código, pero que pasa si hemos cambiado ese campo en VALOR_ALQUILER mientras la unidad estaba alquilada, no nos cuadraría por eso lo registramos DIA_DEVOLUCION: El verdadero día en que se nos devuelve la unidad, fundamental para calcular la penalización PAGADA: Nos dirá si este alquiler ya ha sido pagado RECARGO: Si este alquiler ha generado recargo VALOR_RECARGO_DIA: Lo registramos por el mismo motivo que DIA_DEVOLUCION_PREVISTO Como podéis ver no hay un campo que ponga el valor del alquiler, se lo podríamos añadir, pero no lo veo imprescindible, ya que como veremos más adelante, el cliente tiene una serie de opciones y en caso de no pagarla se registra en su pendiente. |
Con esto hemos terminado el apartado de Tablas, como veréis no he querido hacerlas muy liosas ni extensas, ya que se tratan de un tutorial, si veis que falta algo que consideréis imprescindible decidme lo o añadirlo vosotros mismos, aclarando el porque de su uso.
Por cierto la Base de datos había pensado en llamarla VIDEOCLUB. Lo próximo es unos diagramas de algunos de los apartados del programa, para ir haciendo boca |
Diagrama módulo unidades
Intento expresar según el siguiente diagrama el como veo que debería ir el funcionamiento del programa, como es lógico aunque esta puesto linealmente, esto no es real, ya que podemos saltar de un campo a otro. Aspectos importantes son el genero y el formato, donde creo que no se deberían omitir el dato. Al introducir la caratula podríamos optar por cargar una imagen, bajarla de internet o omitirla, alguien me dijo de escanearla, pero no se como hacerlo sin usar códigos de terceros, que es lo que quiero evitar en el tutorial, esquivando incluso los míos. Si se animan adelante :D. Por último pedimos una cantidad de entrada, ya que podemos haber comprado varios DVD con el mismo título, al poner esta cantidad, el genera con los mismos datos el resto ahorrándonos el trabajo y asignándole a cada uno un código. Importante es que los grabará con los mismos datos a todos, por lo que si hemos comprado 3 Dvd y 3 Blue-Ray, tendremos que hacerlo por separado o más fácilmente editar 3 de las que se hayan generado. |
Diagrama alquiler
Como veis aquí expreso mi idea de como sería el alquiler, no lo comentaré ya que lo haremos cuando estemos en dicho módulo. Si hay dudas sobre alguna de las partes comentarlo en este tema e intentaré responder a ello Por último añado el esquema de entradas, lo mismo que en el anterior, no lo comentaré de momento. Seguramente ya no publique más sobre el tutorial hasta la semana que viene, pero intentaré responder a vuestras dudas y atento a las sugerencias y aportes, por cierto por si alguien se lo pregunta, de momento todo es teoría, por lo que podría cambiar cuando comience a elaborar el programa. |
Muchas gracias por tan gran aporte. Vaya trabajito te has impuesto, amigo
^\||/ |
Es lo que tiene el estar en el paro
|
^\||/^\||/^\||/^\||/
|
Genialérrimo. ^\||/
Una preguntita: Al principio pones "Para crear las tablas y la base de datos: Ibexpert P.E. (Edición personal)". ¿La aplicación no va a crear la base de datos por sí misma si no existe? ¿O se creará en la instalación? |
Cita:
hace años vi una aplicación free que creaba el código para generar la base de datos, todas sus tablas, con indices y demás, pero no recuerdo cual era, si alguien lo sabe que comparta :D o si alguién se atreve a desarrollarla :rolleyes: |
Lo que si añadiré es al sistema que implanto a mis aplicaciones, para que la base de datos no se vincule a una ruta y si a donde este el ejecutable.
|
Felicidades estas haciendo un gran trabajo y ayudando con él a muchos entre los que me incluyo.
Saludos |
La franja horaria es GMT +2. Ahora son las 16:48:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi