jun 28

Analisis de una aplicación completa

Posted in analisis, aplicaciones

En esta ocasión y para variar voy a mostrar el esquema de una pequeña y sencilla, pero completa aplicación de gestión.

Y vamos a ver algunos conceptos importantes que debemos tener en cuenta al diseñar nuestra base de datos.

Para este ejemplo he decidido que necesitamos una gestión que nos permita controlar varias empresas al tiempo, que sea multi-ejercicio y multi-almacén.

Nuestra gestión, tambien debe ser capaz de tramitar albaranes de compra, albaranes de venta, movimientos de almacen y por supuesto, la posibilidad de facturar los albaranes y contabilizar las facturas generadas.

Como ya se explicó anteriormente en el articulo sobre la abstracción, debemos analizar cada punto del esquema y decidir si nos conviene abstraer el esquema o mantener la sencillez en el desarrollo.

El esquema final que ha resultado de todo este planteamiento es el siguiente:

Esquema de gestión

No es quizá el esquema mas abstracto, ya que podriamos haber utilizado una misma tabla para todos los movimientos de almacén, pero he decidido que para según que tipo de negocio, no es necesaria dicha abstracción y he preferido prescindir de ella en favor de un mantenimiento mas sencillo por parte del desarrollador que se inicia.

No obstante, si he usado una única tabla de entidades, que seria utilizada para clientes y proveedores, con el fin de evitar duplicidad en los datos introducidos por el usuario.

Analicemos los puntos mas importantes de la aplicación y veamos cuales son sus ventajas y sus inconvenientes:

¿Utilizar una OpenApp o desarrollar una nueva?

Esta pregunta, debemos responderla antes de comenzar, ya que de no ser asi, podria ser necesario repetir parte de la tarea de analisis y la perdida de tiempo que conlleva. Usar una OpenApp está muy bien, ahorra trabajo, y podria estar preparada en poco tiempo con algunas modificaciones y correcciones, pero ¿se ajusta el esquema a lo que necesito?, o lo que es mas importante, ¿que me va a llevar mas tiempo, realizar mi propio esquema o entender el esquema de la OpenApp?

¿Todo en un proyecto o usamos varios proyectos?

Lo primero que deberiamos decidir, ya que al menos de momento, no es posible separar las tablas de un proyecto en 2 proyectos diferentes, es si vamos a mantener todas las tablas dentro del mismo proyecto o no. Si queremos aprovechar la potencia de la herencia para reutilizar el esquema para otras posibles aplicaciones que pudieramos tener pendientes, deberiamos separar las tablas en varios esquemas, pero ¿cuantos?, ¿que tablas en cada proyecto?, ¿que proyectos heredan y cuales son heredados?. También podemos optar por mantener unido todo el conjunto y hacer mas sencillo el desarrollo, pero en este caso, el futuro de la aplicación estará muy limitado por esta decisión.

¿Que tipos de tablas y que relaciones debe haber entre las tablas?

Ya decidida la parte anterior, ahora nos toca profundizar un poco mas y saber de que tipo va a ser cada una de las tablas usadas en el proyecto, maestra, submaestra, historica, y analizar una a una con sus ventajas e inconvenientes.

¿Entidades multi-empresa o no?

En este punto deberiamos decidir si la tabla de entidades deberia ser historica de empresas o no, si tenemos en cuenta que al ser Multiempresa, un cliente/proveedor deberia ser creado tantas veces como empresas tengamos y dicha entidad realice operaciones con la empresa. Si la tabla Entidades no es multiempresa, al crear un cliente/proveedor estara disponible para todas las empresas desde ese instante.

Compras, ventas y almacén, ¿juntas o separadas en tablas diferentes?

Como he indicado anteriormente, si utilizamos las mismas tablas para movimientos de almacén, el usuario final no deberia notar absolutamente nada, pero para el desarrollador puede ser mas complicado mantener esa aplicación, y puede ocasionar errores en futuras actualizaciones de la aplicación si no se tiene mucho cuidado al realizar los cambios.

Facturas de compra y venta, ¿ que relación deben tener con contabilidad?

Las facturas deben ser maestras o historicas de los asientos y/o apuntes contables, o quizá no deberian tener ninguna relación. Si relacionamos las facturas con los asientos, esto nos permitiria mantener la integridad entre gestión y contabilidad, pero si deseamos que nuestra contabilidad pueda ser usada por multiples aplicaciones de gestión con estructuras diferentes, deberiamos pensar en separar la contabilidad, y desarrollarla completamente por separado.

Los vencimientos, ¿en contabilidad o en gestión?

Si esta pregunta se la hacemos a un contable, su respuesta sería clara y rotunda, ¡en contabilidad!, pero si tenemos una gestión de ventas y procesos de facturación, no tiene mucho sentido que tengamos que introducir los vencimientos manualmente, ¿o quizá si?

¿Hasta donde queremos llegar?

Otra pregunta muy importante que debemos tener muy clara, es ¿hasta donde queremos llegar en este proyecto?, ¿que necesidades tenemos?, ¿el esquema planteado aqui es suficiente o necesitas más?, y si es asi, ¿cuanto más?

Plantear una aplicación, necesita muchas preguntas, y sobre todo, tener claras las respuestas a esas preguntas, y solo asi conseguiremos que en el futuro no tengamos sorpresas desagradables por problemas no previstos.

Y no voy a ser yo quién os diga lo que debeis hacer en cada momento, este articulo, pretende crear un debate y que cada uno pregunte o responda a lo que pueda ser su diseño más apropiado.

Para nuestra solución, ya hemos tomado todas las decisiones importantes y estamos avanzando en el desarrollo, pero cada aplicación es muy personal, y debeis encontrar las respuestas a vuestras necesidades.

PDF Download    Enviar artculo en formato PDF   
comments: 6 »
jun 25

Uno para todos y todos para uno

Posted in analisis, aplicaciones, foro

Al hilo de los ultimos comentarios realizados por nuestro amigo del foro, Luis Palomo “Overall” y basandome en mi corta experiencia con V7, he decidido volver a la carga con una nueva critica, y alla cada cual con las conclusiones que quiera sacar de ella, pero creo que la unica conclusión valida a lo que voy a exponer es: “mejorar lo que tenemos para evitar los problemas que aqui se plantean”.

El hilo al que me refiero en concreto es este:

Copiar una solucion de Overall

Y como yo mismo comente en este hilo, hay existe un problema al copiar proyectos de una solucion a otra, y que se detalla en este articulo que escribi hace varios meses, Las malas costumbres del 7 de abril de 2010, apenas un mes y 1/2 despues de publicarse la version 7.3

Para ir concretando, el problema no surge en el instanciamiento de datos, el problema no lo tiene el cliente final que desarrolla una aplicacion personalizada para su PYME, el problema real, lo tenemos los desarrolladores que nos dedicamos exclusivamente a la programación y vamos a tener multiples aplicaciones, todas muy similares pero personalizadas para cada uno de los clientes, y ante tal planteamiento se me ocurren varias formas de afrontarlos para obtener el mejor resultado posible.

Y cual es ese resultado:

  1. Que el cliente este satisfecho con su aplicación, y el resultado tenga una relación calidad/precio optima.
  2. Que los desarrolladores trabajemos en una aplicación común y solo tengamos que realizar las personalizaciones para cada uno de ellos, abaratando asi los costes para ser competitivos.

Un ejemplo practico “y real” de todo esto, hemos desarrollado un pequeño E.R.P. basico pero lo suficientemente completo como para servir de plantilla para futuros desarrollos y este es es esquema de la solución:

ERP basico

Fijaos en el circulo rojo, que hemos marcado claramente el proyecto de contabilidad que es el único que nos interesa para este ejemplo, mas adelante veremos porque.

Paralelamente, en otro departamento, estamos desarrollando otra aplicación para corredurias de seguros,

Corredurias de seguros

Y aunque no será el último, para este ejemplo lo vamos a dejar aqui, tambien hemos desarrollado una gestión para cristalerías, y algunos modulos adicionales como Flota, etc.

Gestion de cristalerias y flota

Con todo esto, ya tenemos los ingredientes para nuestro guiso, y hasta ahora lo que eran 3 soluciones independientes, se convierte en un problema que debemos solucionar, ¿cual?

Nuesto cliente, “corredor de seguros” quiere tener instalada la contabilidad, y por supuesto nuestro cliente “cristalero” tambien, ya que una vez desarrollada, el coste no es elevado y deciden que es una buena opción.

Hasta ahora, no se ha planteado nada raro, creo yo, es mas, es nuestro caso real y es nuestro problema actual.

Segun lo que se plantea en el foro, y el articulo escrito por mi mismo anteriormente al que se hacia referencia tenemos varias soluciones posibles:

  1. Si seguimos el articulo Las malas costumbres al pie de la letra, bastaria con copiar los poyectos de Contabilidad y sus heredados a la nueva solución, y tendriamos la contabilidad en los 3 proyectos, repetida, pero seguirian siendo pequeños proyectos, con un problema añadido, si realizamos modificaciones en Contabilidad, hay que copiar nuevamente los proyectos y por tanto surgen posibilidad de errores, o realizar las modificaciones 3 veces. ¡Hemos decidido que esta no es la solucion al problema que se plantea!
  2. Si seguimos el consejo de FGutierrez en el hilo de Overall, en el que nos aconseja no copiar los proyectos para no tener ducplicados, solo nos queda una solución, heredar la conta desde los proyectos de Corredurias de seguros, y desde Cristalerias. ¡Esta es una buena solución! y este seria el resultado:

Multiples aplicaciones

Y aqui vemos como el resultado de heredar la contabilidad por las nuevas aplicaciones, convierte nuestros 3 pequeños proyectos en un macro proyecto que seguira creciendo a medida que vayamos incorporando mas funcionalidad.

Como he dicho anteriormente, no me preocupa el resultado de la instalacion en el cliente, no es el tema que nos ocupa en este momento, ya que el instalador se encargara de usar los proyectos que sean necesarios para la instalación.

La intencion de este articulo, vuelvo a repetir, es plantear los problemas que tendremos los desarrolladores ante esta situación, y es que, aunque la solucion de FGutierrez es totalmente validad y la mas correcta, ahora nos surge otro problema añadido, del que tambien he publicado otro articulo hacetan solo un par de semanas, el 6 de junio de 2010, llamado Mejoras en el rendimiento, que nos plantea el problema de redimiento de vDevelop y los refrescos cuando la solución empieza a crecer con multiples proyectos.

Este ejemplo es muy relativo, si tenemos en cuenta que solo he utilizado 3 de los desarrollos que actualmente estamos preparando para nuestros clientes, pero no quiero olvidar y espero que asi se repita, con Velazquez Visual, realizamos más de 80 instalaciones personalizadas en tan solo 4 años, y si con 3 aplicaciones ya tenemos un pequeño problema de rendimiento, como será cuando lleguemos a 15 o 20 aplicaciones…

y ahora, ¿Cual es la solución?

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Uno para todos y todos para uno
jun 24

Calentito, calentito

Esta semana ha sido intensa en emociones, buenas y malas, y os lo voy a contar, para que podais preveer los problemas que me han surgido y que me han dado tantos quebraderos de cabeza en tan poco tiempo.

Todo viene, a cuento de que hay que cambiar los tipos de IVA, de lo que se deduce que al final, el culpable es el gobierno, como de casi todo lo que pasa es este pais.

Pero no nos desviemos del tema, habia que cambiar los tipos de IVA y he realizado los cambios necesarios en el mapa (en V6.x) para preveer todos los posibles problemas que puedan surgir ese dia, ya que debe estar funcionando paralelamente con los 2 tipos de IVA, y permitir realizar ventas en julio al 18% y facturar albaranes de junio al 16% entre otras cosas, modificaciones que no estaban previstas en el mapa.

Total, que se hicieron las modificaciones, y vamos a realizar las pruebas oportunas para comprobar que el dia 1 de julio todo sera correcto, asi pues:

  1. detenemos en el servidor de V6 una de las empresas,
  2. hacemos una copia de seguridad de la carpeta completa para poder usarla como empresa de pruebas,
  3. se publica la nueva empresa en el servidor,
  4. se asignan los permisos a los usuarios,
  5. se instala la nueva versión del mapa modificado para la ocasión,
  6. se reinicia la aplicacioón y ya esta todo listo para probar.

Todo en marcha de nuevo, comienzan las pruebas, se hacen albaranes, pedidos, presupuestos, se prueban todos los procesos implicados en documentos que usan los diferentes tipos de IVA y se procesan los albaranes para ser facturados y contabilizados, y ¡voila!, que alegria :D, porque salvo por un pequeño despiste en presupuestos, todos los demas documentos y procesos funcionaban estupendamente.

Que alegria, despues de unos meses complicados por cambios estructurales imprescindibles, de regeneracion de una parte esencial de la aplicacion que habia desaparecido, y de migraciones en datos que debian ser realizadas “SI o SI”, las cosas parece que empiezan a funcionar y todos estamos alegres y felices.

Lo malo que tienen estas cosas, es que la sensación de euforia suele durar poco, porque a partir de ahi empiezan a surgir otros problemas que nada tenian que ver con los cambios realizados en el mapa,

* desde la ficha del cliente, ¡no puedo entrar en la ficha contable del cliente!
* desde el menu principal, ¡los ficheros de TLR se importan mal, no aparecen los datos del cliente!
* y otros problemas que nada tienen que ver con el IVA, y ademas, en la empresa original, ni siquiera en la copia, teniendo en cuenta que el mapa de la empresa original no habia sido modificado.

Tras varias horas interminables de ayer, y un par de horas mas hoy que solo podia pensar en “Tierra !tragame!”, como una luz me vino a visitar, y parece que el proplema ya esta solucionado.

La causa del problema, precisamente la copia de seguridad, y es que el mapa usado en la empresa hace uso de un fichero VRT, que contiene datos comunes a varias empresas y que por tanto, tambien estaba siendo usado por la nueva empresa de pruebas.

Este problema no hubiera existido de no haber sido por estas pruebas, o quiza hubiera sido mucho peor mas adelante, por otras causas.

El problema en si, “Que habian dos mapas en ejecución, en diferentes empresas, con cambios en la estructura de tablas, abriendo algunos ficheros comunes”

La solución, sencilla, se ha parado el servidor, se ha copiado la carpeta comunes, se ha redireccionado el fichero VRT a la copia de la nueva carpeta y se han separado fisicamente los datos de la empresa original y la de pruebas, y ahora si, ahora todo funciona correctamente y ha vuelto la normalidad.

Y menos mal que teniamos copia el mapa anterior a las modificaciones, porque recuerdo que no es posible restaurar la copia de seguridad si no se dispone de una copia del mismo mapa que hay instalado en la propia copia, en el fichero “VCS”

Pero ¡que susto!, ahora un cafetito y me voy de vacaciones, que me las he ganado, al menos, eso creo.

Y ha salido el sol, al final va a ser un buen dia :)

aunque, siempre habra alquien que intente joderlo … ¿o no?

Create PDF    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Calentito, calentito
jun 13

Un lindo pajarito

Posted in foro, off topic

Estos ultimos dias, con la salida de V7.4 he empezado a probar un poco mas a fondo la nueva versión, a pese a que los articulos creo que son de lo mas correctos, en algunos casos puede que hayan sido mal interpretados, en cualquier caso no tratan de ser otra cosa que lo que son, criticas constructivas para que aquellos que se quieran dar por aludidos, pues hagan lo que consideren oportuno.

No me dedico a dar ordenes, me dedico a hacer sugerencias, que permitan mejorar, que es a fin de cuentas lo que todos queremos, y para calmar un poco esos animos, que parecen caldearse cuando en realidad no es para tanto, os voy a dejar un cuento:

Estaba un lindo pajarito en su nido, en lo alto de un arbol, temblando de frio, pues sus padres habian salido (a la compra de la semana y a esas cosas), cuando en un descuido y la curiosodad de los peques, se acerco demasiado al borde del nido y se calló al suelo y aunque el golpe no fue demasiado fuerte, unido al tremendo frio que hacia, el parajito perdio el conocimiento.

Ya casi a punto de morir, una vaca se acerco y vacio sus escrementos sobre el pajarito (que desconsiderada la vaca), pero el calor de los escrementos permitio al pajarito reponerse, y a pesar del mal olor que le impregnaba, logro sobrevivir.

Loco de contento, (gracias a la vaca) empezo a piar, aunque apenas podia moverse ya que los escrementos le cubrian casi por completo, y en esto un lindo gatito se le acerco, y haciendo un favor al pajarito le ayudo a salir del estiercol, le ayudo a limpiarse un poco de tanta suciedad y luego ¡se lo comio!

…. ah, que no te gusta el final del cuento, … pues puede que tengas razón, pero es un cuento con moraleja.

¿Que cual es la moraleja?

Pues sencilla:

Que aquel que se caga en ti, no es siempre tu enemigo,

y aquel que te saca de la mierda, no siempre es tu amigo.

Y ahora, ¡a pensar!

Create PDF    Enviar artculo en formato PDF   
comments: 2 »
jun 12

Comparar es un asco

Posted in humor

Todo el mundo dice que las comparaciones son odiosas, pero gracias a esas comparaciones todas las cosas que conocemos han ido mejorando dia a dia,

Comparar es innato al ser humano.

Porque los coches tienen 6 airbags, pues porque un dia alguien comparo su marca con la marca de la competencia y decicio que si la competencia tenia 2 airbags, podria vender mas vehiculos si le instalaba 6.

Cuando vais a pedir un credito a un banco, ¿que haceis?, pues preguntar costes financieros en varias entidades y comparar, y despues contratar el que mas os conviene.

¿Porque BOLT batio el record de velocidad?, pues sencillamente porque se han comparado los tiempos empleados en realizar las pruebas con los del anterior record mundial /olimpico.

Ya lo dijó Colón, “busca, compara y si encuentras algo mejor ¡compralo!”, poque estaba seguro que dejaba las camisas mas blancas que nadie.

Cuando eres joven y buscas para pillar chicha, ves a dos amigas, y lo primero que haces ¿que es?, ¿comparar? pues te equivocas, no es comparar, lo primero es imaginarte con las dos al tiempo, pero como decides que eso no va a ser posible, comparas y decides cual te gusta mas, por su sonrisa, por sus ojos, por su trasero, o por lo que mas te guste, pero las comparas y luego te decides, y casi siempre… casi siempre… te equivocas, porque luego resulta que tu le gustas a la otra, 😀 (como tengo los dientes de blancos).

Básicamente, ¿por que comparamos?,  porque lo necesitamos para saber si lo que tenemos es mejor que lo que tiene nuestro vecino, y asi poder pincharle y darle envidia.

Yo que se por que comparamos, porque si…

Asi que, aunque no os guste he comparado V6 y V7 por que son hermanastras (del mismo padre), y porque no tenia otra cosa mejor que hacer.

Velneo nuestro que estas en el norte, hagase tu volutad …

¡Joder! se me ha olvidao el padre nuestro.

PDF Download    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Comparar es un asco
jun 11

Reinstanciar una aplicación

Posted in analisis, vAdmin, vServer

Nuevamente aqui para realizar otra sugerencia / critica al actual sistema de instanciacion de vAdmin, pero antes de eso un poquito de historia:

En V6, instalar una actualización de una aplicación, es tan sencilo como Pegar el Archivo.VAM en el servidor, en la carpeta correspondiente donde tambien estan los datos, excepto que se hayan redireccionado con un VRT. ycon el boton derecho del raton, elegir la opcion de Reiniciar la aplicacion, y esta se reinicia automaticamente o queda en espera hasta que todos los usuarios abandonen su conexion actual

En V7, esto tiene algo mas de lio, porque en condiciones normales es muy similar, pegamos los proyectos de la solucion en la carpeta del servidor (a no ser que ya estemos trabajando con vServer en edición y ejecución al mismo tiempo) y reiniciamos las instancias de aplicación y las instancias de datos, y es aqui donde empieza a liarse la historia, ¿porque?:

  1. Porque cuando se instancia una aplicación (una solución con varios proyectos), normalemente se instancia el proyecto principal (el que hereda a todos los demas) y se acepta casi siempre la misma carpeta para todos los proyectos de datos, juntando en una misma carpeta, todos los archivos de datos de todos los proyectos.
  2. Se podrian instanciar los proyectos por separado, pero la primera opción es la mas rápida y la mas habitual, y serán muy pocos los casos en los que realmente sea necesario compartir estos datos, al menos, de momento.
  3. Cada vez que se modifica una aplicación de forma externa al vServer y pegamos las modificaciones, necesitamos reiniciar ¿que?, porque yo tengo un lio de narices, no se si reiniciar el proyecto principal de aplicaciones que hereda a los demas (no estoy seguro de que esto reinicie todos los proyectos), tambien tengo que reiniciar el proyecto principal de datos (y me pasa lo mismo con los proyectos heredados). En fin, que para evitar tanto lio, lo mas rapido y seguro es, ir al panel de control y Reiniciar el servicio directamente, asi, con 2 pelotas. Quiza en la versión 7.4 esto ya esta solucionado con la opcion de probar las modificaciones
  4. Siguiente problema y muy importante, ¿que pasa si creo un proyecto nuevo y lo interpongo entre otros proyectos ya existentes por medio de la herencia?, pues pasa que vAdmin me da un error y no puedo ejecutar el proyecto con vClient hasta que lo solucionas. Pero ¿cual es la solución?, porque si instancio este nuevo proyecto, me vuelve a instanciar todos los proyectos heredados nuevamente y los repite, quizá funcione bien, pero se empiezan a acumular lineas en vAdmin y encontrar el proyecto que necesitamos reiniciar, puede llegar a ser un puzzle. Quiza la mejor solucion actualmente es , hacer copia de seguridad de los datos (por lo que pudiera pasar) anular todo y reinstanciar de nuevo toda la aplicacion para evitar duplicidades, pero esto lo hago ahora que son pruebas, en un cliente, ni de coña.
  5. ¡Joder!, me ha llamado la mujer para comprar un pollo asado para comer, y se me olvido lo que iba a seguir, asi que, cuando lo recuerde, continuaré… 😉

He aqui yo conmigo mismo y mis problemas, hablando al viento sin saber quien me escucha, y gracias, a los que al menos, aguantais estas paridas.

Pues eso, que el vAdmin tambien necesita una buena revisión …

PDF Printer    Enviar artculo en formato PDF   
comments: 9 »
jun 11

Comparativa entre V6 y V7

Posted in analisis, velneo

He intentado comparar algunos de los conceptos mas importantes para ver realmente como está posicionada actualmente, V7 frente a su competidor mas directo: V6

A mi modo de ver, aqui está la razón por la que parece que los usuarios de Velneo estamos divididos, y es que la decición entre seguir con V6 o lanzarse a la piscina de V7 es muy delicada.

La valoración que cada cual haga de estos temas es muy subjetiva, asi que, ésta es simplemente mi valoración, y no estoy en posesión de la verdad absoluta:

vServer: 1-0 (V6-V7)
Si comparamos la estabilidad del Servidor v6.4 y v7.4, a falta de rodaje que demuestre lo contrario, es mas estable la version 6.4 , aunque con las mejoras incorporadas en la 7.4 ya se le aproxima bastante

VServer como servicio: 0-1
Pues 6.x no es un servicio, y V7 si lo es, esto permite prescindir de la intervencion de un usuario para iniciar vServer

Multiplataforma: 0-1
Pues aqui no cabe duda que gana v7 con versiones para Windows / Linux / Mac / Maemo-Meego , pues V6 solo es para Windows

Multiidioma: 0-1
Aqui tambien gana V7, permitiendo varios idiomas simultaneos, y contando con la herramienta vTranslator para facilitar la tarea de  la traducción

vAdmin: 1-0
La parte buena de la V7 es que el interfaz esta separado del servicio como se ha indicado anteriormente , pero el interfaz de la v6 es mas completo y operativo que el de la V7, el nuevo interfaz, debe mejorar sensiblemente

vDataClient: 0-1
esta herramienta no existe en v6, por tanto y dada su utilidad que permite el acceso a cualquier tabla de datos o indices

Interafaz: 0-1
Las mejoras incorporadas en este aspecto, hacen que V7 sea muy superior a V6, sobre todo con la implementacion de los layauts

Herencia: 0-1
Pues aqui tambien gana V7, permitiendo modularizar las aplicaciones

Almacen de objetos: 1-1
En esta version 7.4 comparada con la 6.4, ya podrian ser equivalentes con la nueva funcionalidad de copiar/pegar

Menus: 0-1
En cuanto al diseño de menus para la interfaz, gana por goleada la version 7.4

Objeto formulario:
Si observamos el uso de botones como Aceptar, Eliminar, y entonces gana la version 6.4, al menos de momento  ( 1-0 )
pero si comparamos la potencia que nos dan los eventos y las conexiones, y subobjetos como el control objeto  ( 0-1 )

Asignacion de teclado a controles: 1-0
La asignacion de teclas rapidas para controles, tal y como conocemos en V6 , no existe en V7 y puesto que nadie se pronuncia sobre cual es el futuro proximo de esta funcionalidad en V7.
En un campo de edicion, Localizar, Editar, Nuevo no pueden ser asignados actualmente en V7, tenemos que hacerlo de forma externa al EDIT del campo

Sincronizacion de objetos: 1-1
En este aspecto, sincronizar 2 rejillas, una rejilla y un formulario, o sincronizar mas objetos me atreveria a decir que hay un empate. Ya que al menos en los Menus-Formulario de 6.4 los refrescos funcionaman de forma envidiable, y en 7.4 ya es comparable a lo que teniamos. V7.4 solo tiene una carencia (espero que temporal), que es no poder refrescar los encarpetados.

Casilleros: 1-0
Sintiendolo en el alma, los casilleros de V6 unido a la sincronizacion en menus de tipo formulario son muy superiores a los de V7

Objeto informe: 1-0
Debido a los bugs existentes y/o carencias del informe en V7.4 sigue siendo 6.4 la ganadora

Objeto TCP: 1-1
Creo que son equiparables cada uno en su version y por tanto, un empate seria lo mas justo

Formularios sin origen / Menus formularios: 0-1
En este aspecto gana sin lugar a dudas 7.4 sobre todo en el aspecto de poder usar Menus de tipo formulario y poder ejecutarlos desde cualquier parte

Procesos:
En este aspecto, V7.4 ya ha superado a 6.4, sobre todo con la aparición de las opciones deshacer/rehacer, las opciones de copiar/pegar, y las sentencias de interfaz   ( 0-1 )
Pero aun asi se echan de menos sentencias de proceso para Envios de EMail  ( 1-0 )

Editor de esquemas:
La version 7.4 ha mejorado los esquemas en cuanto a la posibilidad de introducir textos, y graficos en ellos       ( 0-1 )
Pero el grosor de las lineas hace que los esquemas un poco complicados sean engorrosos y complicados de visualizar, es mejor 6.4 en este sentido       ( 1-0 )

Tutores y ejemplos: 0-1
V7.4 cuenta con multiples ejemplos y tutores dedicados a diferentes objetos y en este sentido creo que es mejor que V6

Plantillas empresariales: 1-0
Por cuanto, las plantillas empresariales como vConta que es beta, y las plantillas de InnobaDB y TheSeed tambien son beta y muy basicas y no se pueden usar para otra cosa que no sea aprender conceptos y el uso de objetos.
Las plantillas de V6 de Conta, ERP, CRM, etc, son totalmente operativas y facilmente adaptables.

Plugin ODBC: 0-0
Tras las pruebas realizadas con vODBC de la version 6.x que fueron un tremendo chasco, y a la espera de realizar pruebas serias con el ODBC de la version 7.4 la puntuacion es nula.

Plugin Excel: 1-1
Al igual que el anterior, y con pruebas basicas realizadas en las dos versiones, los resultados son correctos, aunque la velocidad de proceso de datos deja mucho que desear. Solo que en este caso, hay que decir que la culpa bien pudiera ser del propio Excel.

Plugin Mail: 1-1
Pues igual que el Anterior, funcionan correctamente aunque con ciertas limitaciones, si bien en v7.4 hay un nuevo Plugin con la DLL mejorada para SSL, etc

Plugin Ftp: 1-1
Igual que el anterior, funcionan correctamente y hay poco mas que decir

En cuanto a la WEB: 1-0
El servidor HTML de la version 6.x ha demostrado en multiples aplicacines que funciona estupendamente, aunque para desarrollar las aplicaciones web lleva un curro de la leche.
En V7 tenemos vModApache, que aun tiene que demostrar lo que vale y a falta de aplicaciones para realizar pruebas, pierde la partida

WebClient: 0-1
Permite la ejecucion de aplicaciones en Web para Windows, pero tiene la carencia de no ser multiplataforma, al menos temporalmente.

Como es logico, V7 esta en plena fase de evolucion, y esto hace que aparezcan nuevos objetos en cada version, y que los nuevos objetos esten mejor adaptados a la situacion actual de los nuevos sistemas operativos   ( 0-1 )

Estabilidad de vDevelop: 1-0
Como tambien es logico, esta estabilidad, la da la experiencia, y V6 tiene mucha mas experiencia que V7 y por tanto, apenas existen bugs

Evolucion de la herramienta: 0-1
Dado que V6 se ha quedado estancada y su destino es desaparecer en el olvido a medida que se nos presenten necesidades que no podamos cubrir con esta version, o no podamos implementar en alguna DLL o plugin . Antes o despues sera necesario un cambio de herramienta, ya sea V7 o cambiando a otros IDE´s de la competencia

Comunicación con la comunidad: 1-0

Al menos, aunque no nos guste la noticia, los seguidores de V6, saben que su jubilación esta cerca y que no se va a evoluciónar. A este respecto, los seguidores de V7, sabemos que va a seguir evolucionando, pero no sabemos ni que, ni cuando, ni como.

El foro: 1-0

En este apartado, los usuarios de V6 nos marcan una goleada a diario, por la cantidad de preguntas y respuestas (lógico al tener mas usuarios en aplicaciones operativas), por la calidad de los principales “respondones” porque conocen la herramienta como la palma de la mano.

Los participantes del foro de V7 somos mas quejicas, siempre poniendo pegas: ¡ésto no está!, ¿ésto donde está?, ¿ésto cuando estará?. No hacemos mas que pedir, quejarnos, llorar. Pero si sirve para mejorar, tendremos que seguir asi hasta que nos escuchen. Ya lo decia mi madre, lavate los dientes, lavate los dientes, lavate los dientes, lavate los dientes, …. y al final me los lavaba, solo para que no escucharla de nuevo, y mirad que dientes tengo ahora 😀

La valoracion general:

  • Pues si miramos todos los puntos obtenidos, veremos como todas las caracteristicas que se refieren a estabilidad y funcionalidades, consigue salir ganadora la version 6.4
  • Pero si miramos el futuro, la adaptacion a la nueva tecnologia actual y la evolucion de la herramienta, gana V7

La conclusión:
Ante una instalación de un cliente que ya lleva tiempo con V6.x, no es viable ningun cambio de versión
Ante un cliente que necesita una aplicación nueva de gestión, tipo ERP, habria que valorar varias cosas:

– Estabilidad y seguridad en la implantacion – elegir V6
– Adaptación de una plantilla o desarrollar una nueva – elegir V6
– Instalación y venta de licencias de usuario en V6 sabiendo que va a desaparecer – elegir V7
– Instalación de pequeñas aplicaciones o plugins que mejoren el control de una empresa, pero que no sean determinantes – elegir v7

Que conste, que he apostado por V7 desde que se hizo su presentación en la vConference, pero aún no tengo ninguna instalación seria con V7,  y la razón para no tenerla es que hay varias tonterias tan basicas, que los clientes nos suelen tirar las demos abajo:

  1. No poder pasar de un EDIT a otro con la tecla INTRO dentro de un formulario, cada vez que se pulsa INTRO, la ficha se cierra
  2. No disponer de lanzadores de acciones dentro del EDIT, como hacemos en V6 para Localizar , Editar , Nuevo, a lo que los clientes están muy acostumbrados
  3. No disponer de aceleradores de teclado para lanzar las acciones dentro de los EDIT del punto anterior.
  4. No diponer de la usabilidad de los botones en formularios como ACEPTAR SIN CERRAR FORMULARIO y algún otro botón. Aunque Albert parece haberlo solucionado, solo deberiais imaginar la cantidad de horas que vamos a “dedidar” a  configurar cada una de las fichas de una aplicación, solo porque no existe este botón.

El problema, no es que el cliente necesite estas tonterias para funcionar, quiza podría adaptarse a otros metodos de trabajo, y eso les costaria mucho tiempo y errores, en definitiva, mucha “pasta”.

El problema real, es que tienen razón, y yo tampoco estoy dispuesto a perder el tiempo intentando convencerles de algo en lo que yo mismo no creo.

Como tambien se puede apreciar, todas las opciones pertenecen al objeto formulario, y es que es el mas usado para introducir datos, y por tanto tiene una importancia especial.

Para el resto de objetos, están muy aceptables, y el resultado puede ser muy, pero que muy bueno, porque en definitiva, el trabajo realizado y el resultado reflejado al trabajar con V7 es excelente, y le sobra calidad para realizar cualquier aplicación que se nos pueda ocurrir. ¡Pero se falla en los detalles!

PDF Printer    Enviar artculo en formato PDF   
comments: 8 »
jun 8

Como cambia el cuento

Posted in humor

*Un cubano, que fue en vida muy bueno, al morir, como era de esperar,
fue al Cielo. Llevaba más de mil años disfrutando de la eternidad
cuando un buen día le dijo a Dios:
–“Dios mío, quisiera que me permitieras conocer el Infierno por una
noche para saber cómo es ese lugar.”
Dios, en su infinita bondad, le dijo:  –“Si es tu voluntad, que así sea.”

Nuestro buen hombre se fue esa noche al Infierno.
Bajo hacia su entrada por unas espectaculares escaleras de mármol, el
camino iluminado por luces de neón……. De pronto, se abrió una
enorme puerta, dando paso a un Edén surcado por ríos de ron, whiskey y
champagne… colmado de bandejas llenas de deliciosos manjares….
….. y atestado de las mujeres más hermosas que jamás hubiese visto,
quienes llamaban su nombre mientras bailaban al compás de su rumba
favorita.
**El cubano bebió a lo bestia, comió cuanto quiso,
hizo el amor con todas las mujeres; en fin, pasó una noche inolvidable
De madrugada, regresó al Cielo.

A la mañana siguiente, habla con Dios y le expresa su deseo de mudarse
definitivamente al Infierno.
Dios, en su infinita misericordia, nuevamente, acepta.

Arreglados sus
asuntos burocráticos de empadronamiento celestial, a la semana estaba
camino del Infierno.

El cubano bajó las mismas escaleras, se le abrió nuevamente el portón,
pero esta vez cayo en una gigantesca olla llena de azufre! Mientras se
hundía en ella, el Diablo lo punzaba con su tridente a la vez que otro
demonio le mordía sus partes. Con mucho esfuerzo, el tipo logra
sujetarse al borde de la olla, saca la cabeza y le dice al Diablo, que
reposaba en su trono:

–“Señor de las tinieblas, que es esto? Yo estuve aquí la semana pasada
y todo era maravilloso! Dónde están los manjares, las bebidas, las
mujeres libertinas?”

Y el Diablo respondió:

–“Cubano HUEVON, tú mejor que nadie deberías saber…. que una cosa es
ser turista y otra residente… !!!!”**

PDF Download    Enviar artculo en formato PDF   
comments: 1 »
jun 6

Mejoras en el rendimiento

Posted in ideas, novedades, vDevelop

Como ya he comentado anteriormente, la versión 7.4.0 de Velneo V7, nos ha sorprendido muy gratamente a muchos, y tras unos dias de pruebas de las mejoras incorporadas, he de decir que, en verdad se nota que la estabilidad de toda la herramienta ha mejorado enormemente.

Las novedades incluidas, superan las mejores espectativas que habia realizado para la nueva versión liberada, no por la cantidad, sino por la calidad de las mismas, y aunque, es lógico que en los nuevos componentes liberados pueden surgir bugs que se corregiran con la experiencia y el uso de dichos objetos en próximas versiones, me preocupa que aparezcan bugs donde ya parecia funcionar todo correctamente. Pero estas cosas son asi, y asi las tenemos que aceptar.

Además, esta versión/actualización ha supuesto un verdadero cambio de opinión sobre la herramienta (para mejor, mucho mejor), y espero que en adelante esta gratificante experiencia se convierta en costrumbre. Por que, cuando las cosas se hacen bien, también hay que decirlo. Y cuando se critica, aúnque no les guste, se critica para que las cosas mejoren, y si las criticas van dirigidas a Velneo, es simplemente porque es Velneo V7 ha herramienta en la que estamos confiando para trabajar.

Una cosa podeis dar por cierta, y es que, el dia que deje de trabajar con esta herramienta, ¡no tendré necesidad ni ganas de volver a criticarla!, porque me dará igual, será una experiencia mas, pero quedará en el pasado y tendré otras necesidades y otras herramientas para cubrirlas.

Pero ese dia, aún no ha llegado, y espero que tarde en llegar, y hasta entonces Velneo tendra que soportar mas criticas, que las habrá seguro y espero que muchas mas felicitaciones, que tambien las habrá.

Estos dias, he sacado tiempo de donde no lo habia, y me he dedicado a probar la nueva versión, y avanzar un poco mas en el desarrollo del ERP que avanza lento pero cuyo resultado me reconforta.

El caso es, que ésta solución tiene ya 30 proyectos y algunos, sobre todo de la Base, bastante avanzados, y otros apenas con la estructura de datos recien terminada, y he notado en estos dias, que la fiabilidad y solidez de la herramienta ha mejorado mucho (aún no he conseguido que vDevelop me rompa 😀 ), pero también he podido comprobar como la velocidad de desarrollo, disminuye a medida que se incrementa el numero de objetos en los proyectos, y en estos casos me da por pensar.

Y a veces se me ocurren ideas brillantes y también muchas estupideces, pero hay que decirlas, porque si no se dicen, simplemente no existen.

Si la estupidez que voy ha decir os hace reir, habrá merecido la pena, y si os hace pensar, mejor aún, porque quizá termine siendo algo brillante.

El caso, es que hasta hace 10 minutos, me habia resignado a trabajar, cada vez mas lento, pero contento por la sensación de seguridad que transmitia vDevelop, pero he decidido que no es suficiente, quiero más, y pienso que se puede conseguir mas velocidad si miramos hacia dentro.

Si V7 se hace cada vez mas lenta, es porque a cada movimiento que hacemos, debe:

  • refrescar el panel de propiedades
  • refrescar los paneles de los inspectores de objetos, que usa, donde se usa, campos,
  • refrescar el panel de subobjetos (que a su vez incluye controles, variables, conexiones y eventos)

En todo este proceso de refrescos, he detectado unos pequeños errores que ya he comunicado en el foro:

Bug en refresco de propiedades de formularios

Bug en inspector de errores

Pero la intención de este artículo es otra, es realizar una sugerencia, ¡observa un momento la imagen!

Ideas para mejorar el rendimiento

Ahora pensemos, cada vez que seleccionamos un objeto, ¿se refrescan todos los paneles?, y si es asi, dentro del panel de inspectores ¿también se refrescan todas las carpetas del panel?.

Si la respuesta es afirmativa, solo una pregunta mas, ¿cuantas de esas carpetas se pueden visualizar al mismo tiempo?, la respuesta, solo UNA. Y si solo podemos ver uno de los inspectores, p.e. DONDE SE USA, ¿para que necesitamos refrescar el contenido del resto?, y la respuesta es sencilla, para nada, por que no se esta visualizando.

Si conseguimos que solo se refresque aquella informacion que es visible en cada momento, Velneo V7 será mucho mas eficiente, y no perderá el tiempo que tareas innecesarias.

En mi caso, he superpuesto el panel de PROPIEDADES, junto al de SOLUCIONES y al de SUBOBJETOS, y de esta forma aprovecho mucho mejor las dimensiones de la pantalla a la hora de trabajar. Pero eso tiene un inconveniente para mi, y es que solo puedo tener visible uno de los 3 paneles, pero V7 me lo permite y yo te tomado esa decisión como la mas favorable.

Y llegado a este punto, ¿necesito que se refresque un panel que no estoy visualizando?

Pues, precisamente hoy, NO, quizá mañanaaaaa ….

Create PDF    Enviar artculo en formato PDF   
comments: 19 »
jun 3

Los asistentes de Velneo7 7.4.0

Posted in novedades, v7, vDevelop

Estoy examinando un poquito mas a fondo la nueva versión y estos son los cambios que he podido detectar a simple vista,

En el asistente de funciones:

  • La función isEmpty(cadena) ha cambiado del grupo BASICAS al grupo CADENAS, lógico hasta cierto punto, si tenemos en cuenta que el parametro a comprobar va a ser una cadena de texto, aunque no creo que esto del cambio de un grupo a otro fuera necesario, mas que nada por el simple hecho de que ya estabamos acostumbrados y el cambio puede dar algun que otro “sustillo”.
  • La función remoteFunctionCall(dominioIP, idInstancia, idFuncion, contraseña, parametros) ha desaparecido del mapa,  o mejor dicho del grupo BASICAS y ha pasado a mejor vida. Al menos, no la encuentro por ningún lado.

En cuanto a las sentencias de proceso:

  • En el grupo de CESTAS tenemos nuevas instrucciones que mejoran el manejo de estas,

Cesta: Agregar a la lista en curso
Cesta: Quitar de la lista en curso
Cesta: Cruzar la lista en curso

  • En el grupo de sistema tenemos una nueva sentencia

Salir de la aplicación

  • En el grupo de Protocolo TCP tenemos una nueva sentencia

Protocolo TCP: Recibir buffer

Protocolo TCP: Enviar entero 64 bits

Protocolo TCP: Recibir entero 64 bits

  • Y en el grupo de sentencias de interfaz, se han incluido varias sentencias nuevas

Interfaz: activar subcontrol

Interfaz: obtener multi-selección

Interfaz: limpiar multi-selección

Interfaz: añadir ficha a multi-selección

Interfaz: quitar ficha de multi-selección

Interfaz: ejecutar otro evento-slot

Nuevas sentencias que van a mejorar enormemente el desarrollo y que en algunos casos, se echaban de menos.

PDF Printer    Enviar artculo en formato PDF   
comments: 7 »