feb 23

Tablas de extensión

Posted in novedades, v7

Ante la salida de la nueva versión 7.12, no me queda más remedio que felicitar de nuevo al equipo de Velneo por la cantidad y sobre todo por la calidad de las novedades que nos han ofrecido en esta y en las anteriores versiones.

Si las 2 versiones anteriores ya nos aportaban material de estudio para no aburrirse con vJavaScript, esta no se queda corta en funcionalidades y como siempre, es difícil decidir cual de ellas es mejor que el resto, sobre todo, porque cada cual tiene sus propias preferencias.

Pero no he iniciado este artículo para valorar cada una de esas funcionalidades, sino para hablar de una en concreto: La tabla de extensión.

  • ¿Qué es?
  • ¿Para qué sirve?
  • ¿Cómo se utiliza?
  • ¿Cuando debo usarla?

Son algunas de las preguntas más frecuentes que nos vamos a realizar todos en algún momento del desarrollo y que voy a intentar responder en este artículo.

¿Qué es una tabla de extensión?

Una tabla de extensión, es aquella que nos va a permitir añadir campos a otra tabla, manteniendo intacta la estructura de la tabla principal.

Esta tabla mantiene una relación de 1 a 1 con respecto a la tabla maestra principal. Es decir, que la tabla de extensión es plural de la tabla principal, pero cada registro de la tabla principal, solo va a tener un registro en la tabla extendida (o ninguno) y cada registro en la tabla extendida, siempre va a tener un registro en la tabla principal.

Y la relación entre esos registros siempre va a ser establecida por medio del campo #ID de la tabla principal.

¿Para que sirve?

Vamos a recurrir en primer lugar a un ejemplo muy común para intentar explicar de forma sencilla los problemas que podemos resolver con este tipo de tablas:

Imagina que tenemos una tabla de Entidades, en la que, como ya sabemos, vamos a tener todos los datos comunes a Clientes, Proveedores, Agentes, etc. Y esos datos comunes son: Dirección, Población, NIF, Telefonos, etc.

Pero claro, con esos datos, la ficha del cliente se queda coja, nos faltan datos de facturación para ese cliente, pero no debemos incluir la forma de pago y otras condiciones particulares en la ficha de entidades, porque en esa ficha, también habrá proveedores y estos campos quedarán vacíos, o mejor dicho, ni siquiera deberían aparecer.

Pues aquí es donde entra en juego la tabla de extensión. Para solucionar este problema, creamos una tabla de extensión llamada Clientes, y en ella incluimos solo los campos propios del cliente, como: Forma de pago, Nº vencimientos, Periodo de facturación, etc. Pero además, al estar asociada a la tabla Entidades, también tenemos a nuestra disposición todos los campos de la entidad: nombre, dirección, población, etc.

¿Cómo se utiliza?

Si partimos de la base de que ya tenemos la tabla de Entidades en funcionamiento, ahora disponemos de un nuevo tipo de tabla llamado “Maestro de extensión”. Así que, creamos un nuevo objeto tabla de tipo “Maestro de extensión” y le indicamos la tabla “Entidades” como tabla principal y a partir de ahí, la creamos como cualquier otra tabla de las que usamos habitualmente.

En ejecución, esa relación de 1 a 1 de la que hablábamos al principio, implica que:

  1. Cuando creo un cliente, obligatoriamente tengo que crear una entidad o asociarlo a una entidad existente.
  2. Cuando creo una entidad, no necesariamente estoy obligado a crear el cliente, aunque puedo hacerlo desde la propia ficha de la entidad.

Veamoslo de otra forma:

  • Si queremos ver todas las entidades: Cargamos lista (ENTIDADES, ID) y retornamos la lista a la salida (obteniendo así todas las entidades de la tabla)
  • Si queremos ver todos los clientes: Cargamos lista (CLIENTES, ID) y retornamos la lista a la salida (obteniendo así todos los clientes de la tabla)
  • Pero si queremos ver todas las entidades que a su vez son clientes: Cargamos lista (CLIENTES, ID), Cargamos maestros(ENTIDADES) y retornamos la lista a la salida (obteniendo así todas las entidades que tienen ficha de cliente). Esto es así, porque aunque la relación es de 1 a 1, la tabla de Clientes sigue siendo “plural” de Entidades.

¿Cuando debo usarla?

Cómo pasa en multitud de ocasiones, parece que cuando hay una novedad interesante, hay que usarla para todo, y no se trata de eso, se trata de usar cada objeto cuando realmente es necesario.

El ejemplo que hemos puesto antes es uno de los muchos casos donde si es recomendable el uso de una tabla de extensión.

Pero además, las tablas de extensión son, una solución extraordinaria para la personalización de bases de datos. ¿Qué significa esto? Significa qué, podemos trabajar sobre cualquier proyecto heredado y personalizar cualquiera de sus tablas maestras, sin necesidad de alterar la estructura original de la aplicación, lo que nos permite tener una aplicación base muy generalista que posteriormente, vamos a poder verticalizar o especializar para diversos sectores e incluso llegando al desarrollo a medida.

Ya tengo una tabla de Clientes y es Maestra, ¿Puedo convertirla en Maestra de extensión?

Creo que no, pero aunque se pudiera, te recomiendo que no lo hagas.

La forma correcta de operar, es crear una Tabla maestra de extensión nueva y después, copiar todos los campos de una tabla a la otra, salvo el #ID, y los indices nuevos (que por cierto, son indices complejos).

Además, necesitaras crear nuevos formularios de mantenimiento de datos, ya que hay diferencias que deberían solucionarse con las nuevas fichas de extensión (que no es lo mismo que la tabla de extensión). El resto de los objetos visuales, seguramente si que podrás aprovecharlos.

¡Rizando el rizo!

  • ¿Podemos extender una tabla extendida?, posible si que es, a fin de cuentas, una tabla extendida, sigue siendo una tabla maestra con un #ID de clave única y por tanto, una tabla extendida, puede ser a su vez, la tabla principal para otra tabla extendida. Otra cosa es que tenga sentido crear una relación de este tipo, pero para casos raros, haberlos ¡hailos!

Ya se, no he hablado de como crear objetos visuales para el mantenimiento de este tipo de tabla, pero no quiero “extender” este artículo innecesariamente, llegando a originar el aburrimiento de mis apreciados lectores 😉 . Pero no os preocupeis, otro día será.

Create PDF    Enviar artculo en formato PDF   
comments: 6 »
jul 3

Sioux: la solución definitiva

Posted in aplicaciones, saas, v7, web

Ya desde hace tiempo que vengo dando vueltas a una idea que no me deja tranquilo.
Es una idea que me persigue como mi propia sombra y llega un momento en que debes enfrentarte a ella y aportar una base para establecer una relación duradera y sólida. A fin de cuentas es tu sombra, y debes saber convivir con ella durante el resto de tu vida.

Despues de muchas pruebas y de haber investigado y desarrollado todo, y superadas las fases inciales decides que no es suficiente, que puede ser mejor, ¡que debe ser mejor!

A veces, solo es necesaria una pizca de inspiración, y ahora es el momento.

SIOUX es la potencia de Apache, unida a la potencia de la base de datos de Velneo V7, y unida a la potencia de nuestra Gestión.

¿Que hemos conseguido?

Pues casi nada, una Gestión que podrá ser ejecutada en Windows, Mac, Linux, iPad, Android, y cualquier otro sistema con tan solo un navegador.

¿Es fácil?

No, no ha sido fácil, como he dicho, llevamos varios años de investigación, y creemos que ahora si, tenemos la solución óptima.

¿Que puede hacer?

Pues todo lo que puedas imaginar.

¿Lo necesitas para tu empresa?

Llama y te prepararé un presupuesto adaptado a vuestras necesidades.

¡¡¡SIOUX es puro SaaS!!!

Edito:

Aqui dejo unas imagenes de la primera versión de SIOUX que realicé:

Es solo una pequeña parte de lo que realmente tiene.

Menús

Listas de registros

Y formularios para edición de registros.

Por ahora no es posible mostrar la nueva versión, estara unos dias en el horno, a fuego lento, pero os mantendre informados.

PDF Printer    Enviar artculo en formato PDF   
comments: 3 » tags:
abr 17

Nueva versión 7.9 de Velneo V7

Posted in novedades, QML-Qt, v7, velneo

Ya tenemos disponible la nueva versión 7.9 de Velneo V7.

La lista de novedades e incidencias resueltas es interminable, aunque la novedad principal es QML:

http://velneo.es/listado-de-novedades-velneo-v7-7-9-0/

La nube también nos trae muchas novedades:

http://velneo.es/velneo-v7-7-9-open-apps-cloud-y-qml/

Y no olvideis las open apps para aprender QML y sacarle provecho a toda su potencia:

http://velneo.es/velneo-open-apps/

Despues de ver toda la lista de novedades y correcciones que incluye la nueva versión 7.9 solo me queda una cosa por decir:
Felicidades al equipo de Velneo V7 porque la nueva versión tiene una pinta que te cagas !!! 😀

Ahora quedan por delante muchas horas de esfuerzo y dedicación para aprender todo lo que nos ha caido encima, y solo hay una forma de aprender, que es con esfuerzo y dedicación.

Para aquellos que vieron matrix y creian que en 30 segundos podrian aprender a pilotar un helicoptero, siento decirles que eso aun esta por llegar, quien sabe si lo veremos algún dia.

Create PDF    Enviar artculo en formato PDF   
comments: 1 »
mar 6

Desarrollador certificado en Velneo V7

Posted in v7

Tras la superación del examen, aqui esta el resultado:

No ha sido fácil, pero ha merecido la pena:

Si necesitas realizar cualquier proyecto en Velneo V7, puedes contar conmigo para ello, trataré de realizar el trabajo con la mejor calidad.

Aqui teneis mis datos para cualquier proyecto que necesiteis:

José Luis López Delgado

http://ascsl.net

email: info@ascsl.net

skype: jose.luis634

móvil: 637.436.425

También podeis dejar un mensaje con vuestros datos en la zona de contacto del blog y me pondré en contacto en breve.

PDF Creator    Enviar artculo en formato PDF   
comments: 2 »
may 24

Cambia el chip

Que puedo decir, acabo de enterarme por el blog oficial de Velneo, y parece que se refieren a mi, mejor deberiais leer el post original antes de continuar…

Leer la noticia completa…

Espero que ahora podais entender porque he tenido un poco abandonado el blog, como podeis ver, no he dejado de escribir, todo lo contrario, he escrito aún más y con más ilusión.

Han sido varios meses de duro trabajo en el que he gastado la tinta de cientos de boligrafos y una cantidad indecente de oleo para dibujar las imágenes. :)

Espero que el resultado sea del agrado de la mayoría, y sobre todo, que este manuscrito cumpla su objetivo principal, que es:

¡¡¡ Cambiar el chip !!! y ayudar a entender la filosofia de Velneo V7 como herramienta que consigue que algo tan abstracto como puede llegar a ser la programación, sea divertido y ameno.

Espero que reserveis con tiempo vuestro ejemplar, para que así me de tiempo a realizar las copias necesarias para cada uno de los interesados. Además necesitare realizar un pedido de plumas,  oleos y papiros que determinaré en función de los pedidos realizados.

Nos vemos en el evento, 😉

¡LIFE IS SOFT!

Create PDF    Enviar artculo en formato PDF   
comments: 15 »
may 16

New Velneo V7 7.7, coming soon

Posted in novedades, v7

A partir de mañana y coincidiendo con la salida oficial de la nueva versión 7.7, se publicarán en este blog mas detalles de las Open Apps que se han presentado al concurso.

También intentare sacar algo de tiempo para hablar de las novedades, y de como aprovechar esas nuevas funcionalidades en nuestros desarrollos.

Estad atentos los próximos dias, que ya está aqui …

PDF Printer    Enviar artculo en formato PDF   
comments: 2 »
mar 16

El balance de sumas y saldos

Posted in aplicaciones, v7, vClient

Llegados a este punto, seguimos probando informes y le ha tocado el turno al Balance de sumas y saldos, y las pruebas realizadas han sido satisfactorias

El resultado de la prueba es éste: Balance de sumas y saldos

Para realizar dichas pruebas, se ha tomado como referencia un ejercicio con pocos datos (450 cuentas auxiliares, 1445 asientos y 3502 apuntes contables), pero el resultado ha sido bastante bueno.

Prueba nº 1: tiempo empleado en el calculo del balance, 7 min y 15 seg. Todo correcto, salvo por un pequeño fallo en los acumulados de los saldos de las cuentas, fallo que por cierto no influye en el tiempo empleado en el proceso.

Prueba nº 2: tiempo empleado en el calculo del balance, 6 segundos. Sin errores.

Pruebas nº 3, 4, 5 y 6: he realidado algunos cambios pero las diferencias de tiempo son insignificantes, apenas 1 segundo, y pueden ser debidas a picos en la velocidad de internet. Las pruebas son desestimadas.

En ambos casos, los procesos se ejecutaban en 3er plano, pero con diferencias a la hora de realizar los calculos y crear el balance.

Mas adelante, realizaremos pruebas con contabilidades mas pesadas, pero para ser las primeras pruebas, los resultados son optimistas, y sobre todo, lo más importante, ¡¡los balances cuadran!! , 😀

seguiremos informando,

Create PDF    Enviar artculo en formato PDF   
comments: Comentarios desactivados en El balance de sumas y saldos
dic 4

Error en casilleros

Posted in bugs, v7

En esta ocasión se trata de mostrar un error, que seria practicamente insignificante si no fuera por el mal efecto visual que causa.

Podeis observar la foto en primer lugar, y antes de verla, solo debeis saber que se trata de un casillero con 2 columnas y en cada celda del casillero se muestra una fotografia con la propiedad “Proporcionar”.

Error en casilleros con fotos

Ahora que habeis visto la foto, habeis notado algo raro,

Bien, en primer lugar no se trata de una foto, son 3 fotos, o más que fotos, se trata de 3 capturas de pantalla, pero de la misma pantalla con intervalos de algunos segundos de diferencia.

Fijaos bien, porque las fotos son las mismas, cada foto se muestra en una celda del casillero.

Cada celda del casillero, solo tiene una propiedad modificada, el formulario ha sido modificado para que tenga un alto porcentaje de transparencia, en un rango de 0-255, ha sido probado con los valores de transparencia “0” y “10” y en los 2 casos hace lo mismo. Tambien debo decir que por falta de tiempo, ya no he probado a quitar la transparencia.

Porque se visualiza de esta forma, pues no lo se.

Podria ser por tener un tamaño reducido, por la transparencia, porque hace frio, porque llega la navidad, o simplemente, porque se trata de un “poltergeist”.

He de aclarar, que las fotos siempre se visulizan correctamente, lo que falla es el fondo de cada celda.

Una cosa extraña, pero aqui la dejo.

Create PDF    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Error en casilleros
nov 30

Mejoras para proximas versiones

Posted in ideas, v7

Aunque lo que voy a exponer en este articulo no son problemas excesivamente importantes, si considero importante que se sepa para que pueda ser corregido y mejorado.

Asi que sin perder mas tiempo en detalles, voy a intentar ser lo suficientemente claro como para no dar lugar a malas interpretaciones:

1. En las tablas estaticas, no se activan las flechas de los subcontroles que permiten cambiar el orden de los elmementos de la tabla estatica. De echo, los elementos ni siquiera aparecen en la lista para poder ser movidos.

Tabla estatica sin subcontroles

2. Cuando abrimos el editor de Tablas de datos, para incluir un campo enlazado a una tabla maestra, si hay demasiadas tablas ocurre esto:

Enlace a trablas maestras 1

Enlace a tablas maestras 2

y claro, la tabla maestra que queremos enlazar, es muy dificil de encontrar, o como en esta ocasion, ni siquiera aparece en la lista porque no cabe en la pantalla.

Para estos casos, recomiendo que el funcionamiento sea similar a como se hace en los Esquemas, primero se elige el proyecto de datos y luego la tabla de ese proyecto.

Incluir tablas en el esquema de tablas

3. En un evento de un formulario, cuando se hace uso de una CONSTANTE, (suele suceder cuando se copian los formularios de un proyecto a otro), no se muestra como error, aun cuando la constante esta en un proyecto que no ha sido heredado por el proyecto actual.

4. De la misma forma, cuando copiamos formularios que contienen iconos o dibujos y no existen en el proyecto actual o en un proyecto heredado, tampoco son mostrados como errores.

5. De la misma forma que podemos ver las propiedades de un proyecto y saber que proyectos son heredados, deberiamos tambien poder ver cuales de los proyectos “heredan” al proyecto actual.

6. Como ya solicite en el foro de ideas anterior, deberiamos tener sentencias API para saber las tablas de un proyecto, y tambien para ver los proyectos de una solucion.

7. Respecto a vAdmin, poder detener la ejecucion de una aplicacion en vServer, evitando conexiones durante un periodo de mantenimiento (esta idea es original de Gegeo, pero la dejo aqui)

8. en vAdmin, poder programar una parada de vServer, asi como tambien el reinicio, teniendo la opcion de porder elegir si se expulsan los enganches existentes en el momento de la parada o de cancelar la operación y esperar a que todos los usuarios abandonen sus aplicaciones.

9. Cuando copiamos una carpeta con objetos en otro proyecto diferente, y la tabla de origen de los objetos tambien existe en el nuevo proyecto, los objetos se copian directamente, quiza deberia aparecer la pantalla de asignacion de objetos, para confirmar o para poder cambiar el origen de los mismos, porque luego hay que revisar todos los objetos nuevos cambiando el origen uno a uno.

10. Para acelerar un poco mas el inspector “Donde se usa”, que sigue siendo lento (aunque ha mejorado considerablemente), sugiero que solo se comprueben los proyectos que son heredados por el actual y los objetos “Puntos de insercion”, ya que no tiene sentido comprobar todos los objetos que no estan en proyectos heredados.

11. Deberia ser posible ocultar los controles de las ventanas de dialogo de los formularios. De que sirve poner un boton Cancelar en un formulario que ejecute un evento antes de cerrar el formulario, si luego el usuario pulsa la “X” para cerrar el formulario y no se ejecuta el evento.

12. Incluir nuevas sentencias de proceso para permitir el cambio de Instancias en ejecución (gracias a Comercial.Arhes2000), para evitar tener que cerrar vClient para cambiar de instancia, o necesitar 2 vClient que consumen 2 licencias.

13. Sistema de control de licencias similar al que habia en V6, controlando la IP del cliente, y permitiendo abrir varias Instancias o varias Aplicaciones en un mismo equipo consumiendo una sola licencia.

Cuando tenga mas sugerencias volvere con otro recopilatorio.

Y Como sabemos que para exponer las ideas, hay que ser subscriptor y votarlas, yo las dejo aqui, y si alguien quiere y lo estima oportuno, las puede incluir. Otra opcion es que velneo las tenga en cuenta, sin necesidad de pasar por el Foro de ideas, ya que la mayoria son funcionalidades que ayudan bastante y deben requerir poco esfuerzo por parte del equipo de Velneo.

Gracias, y a tener paciencia.

PDF Printer    Enviar artculo en formato PDF   
comments: 11 »
nov 16

Liberada la version 7.5

Posted in novedades, v7

Dicen que no hay quinto malo, y deseamos que verdaderamente sea cierto.

Hoy se libera la version 7.5.o y estaremos atentos para probar todas las novedades que prometen, aunque ya podemos podemos adelantar que hay un objeto que no pudo terminarse a tiempo para esta versión, y es una pena porque nuestros espias infiltrados en la compañia Velneo, lo usaron cuando aun estaba en pruebas, y han desaparecido.

Dicho objeto, de nombre clave “SpaceEngine” iba a ser incorporado en nuestra proxima OpenApp.

Esta OpenApp, a pesar de tener unicamente 2 funcionalidades conocidas nos iba a ser sumamente util, ya que su funcionamiento bidireccional en la comunicacion entre servidores, nos permite trasladar Entidades de un servidor a otro y por tanto nos ahorra una gran cantidad de tiempo en el traslado entre las distintas oficinas e incluso desde la oficia a casa.

El nombre de la aplicacion es, “Teletransportame Spock” y lamentamos decir que hemos tenido que retrasar la publicacion oficial, hasta que el nuevo objeto este completamente operativo.

Mueve rapido tu culo hasta aquiAprovechamos para comunicar a las familias de nuestros infiltrados, que segimos el rastro de IP’s por donde han ido pasando, y lamentamos comunicarles que no van a poder volver con sus familias, durante las pruebas del objeto (traslado de Vigo a Gijon) hubo un fallo en la conexion y ahora estan en el Caribe, y por mas que lo hemos intentado, no hay forma de convencerlos para que vuelvan.

Sentimos enormemente no poder estar con ellos, y esperamos que el dichoso objeto este acabado cuanto antes, 😀

Y ahora que lo pienso, ¿en el caribe?, ¿seguro que fue un fallo?, si vuelven algun dia, van a tener que dar muchas explicaciones, ¡grrrrrr!

PDF Printer    Enviar artculo en formato PDF   
comments: 10 »