ene 21

Conoce lo básico de LML

Posted in LML, XML

Como casi la mayoría de las ideas, LML surge por una única razón, para trabajar menos, pero esto supone que hay que trabajar más en la idea y desarrollarla para luego trabajar menos en el uso de esa idea, que la idea prospere o no es otro cantar. Pero al margen de ésto, este proyecto me ha permitido ahorrar muchas horas de trabajo, y las que me ahorrará en el futuro.

Y de paso, porque no decirlo, convencerme aún más, de que no podemos resignarnos a lo que conocemos por el mero hecho de que te lo impone la sociedad, o quién quiera que sea el culpable.

Agradezco a todos aquellos que he consultado y me han dado una respuesta ¡sincera!, aunque la respuesta no fuera la que más me apetecia oir, pero reconozco que es cierto.

Todos coincideron al decirme: ¡Es un gran trabajo! pero “XML” es el estandar y eso no lo puedes cambiar.

¡Gracias a todos!, y no es mi intención quitarle el puesto a “XML” ya que hay muchos intereses creados detrás de un lenguaje tan conocido, pero crei un día que podía mejorar la sintaxis de XML y lo intenté y aqui os dejo el fruto de este trabajo.

Solo espero que pueda seros de tanta utilidad como ya me ha sido a mi, si es que decidis utilizarlo, y si teneis cualquier duda, no tendre inconveniente en asesorar a los que decidan usarlo en sus proyectos.

empezamos a conocer LML  ¡ya! …

PDF Printer    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Conoce lo básico de LML
ene 21

Nueva URL del blog

Posted in off topic

A partir de este momento, hemos cambiado la URL de este blog.

Nuevo sitio, pero con el mismo contenido.

No olvides actualizar los enlaces a esta página.

Durante unos dias se publicarán los articulos en los 2 blogs, pero aqui encontraras mas contenido. Ya que no todos los post serán duplicados en el blog de WordPress.

Gracias por la visita.

PDF Printer    Enviar artculo en formato PDF   
comments: 1 »
ene 21

Casilleros sincronizados III

Posted in v7, vDevelop

Continuamos con el ejercicio, y le toca el turno a los casilleros.

Necesitamos un objeto: casillero para las familias y vemos como en el panel de propiedades de este casillero, necesitamos indicar la tabla asociada al casillero: Familias y el formulario que habiamos creado para mostrar las celdas de cada una de las familias.

En este casillero hemos indicado solo una columna para mostrar las familias, ya que en el diseño de nuestro interfaz, te recuerdo que las familias aparecian a la izquierda y los artículos a la derecha utilizando la mayor parte del area de trabajo.

Si te atreves, intenta crear el casillero de artículos por ti mismo, sin fijarte en las propiedades.

Si aún tienes problemas para entenderlo, aqui tienes las propiedades, pero no te acostumbres a que te lo den todo hecho, que no hay que ser tan perezoso (dicen que es pecado) :) .

Necesitamos otro objeto: casillero para mostrar los articulos y también podemos ver en la imagen como en el panel de propiedades, hemos asignado el casillero a la tabla de Articulos y hemos utilizado como formulario para mostrar las celdas de los articulos, el que habiamos creado anteriormente.

En este caso hemos indicado 5 columnas para mostrar el casillero de articulos.

sugerencia para Velneo:

Aprovecho para sugerir a Velneo que, como ya propuse en una de mis Ideas en el foro apropiado, los casilleros mejorarian considerablemente si:

– La propiedad columnas: se pudiera definir por medio de una Fórmula con contenido inicial y que pudiera cambiar durante la ejecución.

– Que también podamos disponer de una propiedad Filas: para indicar las caracteristicas,

– Que la barra de desplazamiento de un casillero, pudiera ser visible/oculta según las necesidades

– Que las dimensiones del formulario asociado al casillero se ajustase a las dimensiones del casillero en ejecucion, teniendo en cuenta las Filas y Columnas definidas.

– Vamos, en definitiva, que en V6 los casilleros funcionaban “de cojones” y la única pega era no poder definir nº filas y nº columnas, pero con la opción automatico se funcionaba “muy bien”.

PDF Download    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Casilleros sincronizados III
ene 20

ASC al concurso de Open Apps

Posted in OpenApps, v7, velneo

Concurso Open Apps V7 ene-2010Desde A.S.C., y éste blog como medio de difusión, hacemos pública nuestra participación en el concurso de Open Apps organizado por Velneo, y para ello he metido al horno una pequeña aplicación que estará lista en los próximos dias.

Y vamos a participar, no con el animo de ganar, ya que esperamos que el nivel de calidad de las aplicaciones presentadas a concurso, va a ser muy alto, pero si con el animo de aportar un grano a ese granero, y esperando que la gente del foro V7 se anime también.

Os mantendré informados en breve a través de este blog y animo a los que aún lo estan pensando.

PDF Download    Enviar artculo en formato PDF   
comments: Comentarios desactivados en ASC al concurso de Open Apps
ene 20

Las variables globales

Posted in v7, vDevelop

Son estructuras de datos que pueden almacenar valores para ser utilizados en cualquier parte de la ejecución de una aplicación. Como su nombre indica, su valor puede cambiar durante la ejecución, y estará siempre disponible hasta finalizar y salir de la aplicación.

Según el tipo de dato a almacenar, la variable puede ser definida como:

Alfabético Se usa para almacenar caracteres alfanuméricos.
Numérico Permite almacenar valores numéricos. El tamaño del valor almacenado, depende directamente del numero de bytes que indicamos en la definición del campo. Del mismo modo, también podemos indicar los decimales usados, hasta un máximo de 5 dígitos.
Fecha Almacena datos de tipo fecha según la norma ISO-8601
Hora Almacena datos de tipo hora. El formato utilizado para la hora es HH:MM:SS.
Tiempo Permite introducir tiempos con el formato DD:MM:AA HH:MM:SS.sss
Booleano (Si / No) Permite almacenar valores lógicos ( True/False, Si/No, 1/0 ).

Y según el tipo de persistencia, podemos definir las variables, en:

  • Variables en Disco: aquellas que son almacenadas en en el Disco duro del sistema y que son comunes a todos los usuarios, e incluso permanecen después de abandonar la aplicación. Si un usuario cambia el valor de una variable en disco, esta variable afectara al resto de los usuarios en futuras comprobaciones de la misma.
  • Variables en Memoria: a diferencia de las anteriores, se almacenan en memoria, por lo que deben ser inicializadas en el inicio de la aplicación y serán destruidas al finalizar la ejecución. En este caso, las variables son creadas de forma local, e independientes para cada usuario que ejecuta el programa.

También podemos decidir si la variable va a permitir uno o mas valores, convirtiéndola en un Array mediante la propiedad correspondiente en el panel de propiedades del objeto.

PDF    Enviar artculo en formato PDF   
comments: 2 »
ene 20

Las tablas estáticas

Posted in v7, vDevelop

De forma complementaria a las tablas de datos habituales, también disponemos en el entorno del objeto Tabla estática (otro objeto de los proyectos de datos).

Estas, a diferencia de las tablas de datos explicadas anteriormente, solo permiten un número limitado de registros y únicamente disponen de campo Código y Nombre. Ademas, son tablas en las que el usuario no tiene acceso a los registros, y por tanto, no puede alterar el contenido de las mismas.

En nuestro proyecto, vamos a utilizar alguna tabla estática para ver su uso, aunque no deja de ser una tabla más del proyecto. Y por su condición de ser internas al proyecto, y por tener únicamente los campos Código y Nombre, sólo pueden ser maestras de otras tablas, pero nunca históricas.

Las tabas estáticasVamos a crear una tabla estática TIPOS DE FACTURA, con 2 únicos registros,

  1. Factura emitida
  2. Factura recibida

PDF Download    Enviar artculo en formato PDF   
comments: 1 »
ene 19

Pack: Asistente para crear tablas de datos

Posted in packs

En este pack, he agrupado todos los artículos referentes al Asistente para crear tablas de datos, para que podais localizarlos más facilmente:

Los proyectos de datos: intro

Proyectos de datos: Tablas de datos I

Proyectos de datos: Tablas de datos II

Proyectos de datos: Tablas de datos III

Proyectos de datos: Tablas de datos IV

Proyectos de datos: Tablas de datos V y VI

Utiliza la categoría PACK para localizar todos los artículos que han sido divididos por ser demasiado extensos.

Create PDF    Enviar artculo en formato PDF   
comments: 1 »
ene 19

El esqueleto de nuestras aplicaciones

Posted in analisis

Cuando Velneo realizó la presentación de V7 en sociedad, algo cambió, senti que era necesario crear algo nuevo.

Las versiones 6.x y anteriores habian dado su fruto y habian sido rentables, pero habia que cambiar el análisis de las aplicaciones que habiamos estado utilizando hasta el momento, y cuyo resultado habia sido muy bueno, pero le faltaba algo importante.

Velneo V6 tiene grandes carencias, que se han solucionado en V7, vease la multiplataforma, el multiidioma, ODBC bidireccional, y sobre todo, la modularización que es lo que vamos a tratar en este artículo. V7 permite ahorrar innumerables horas de trabajo gracias a la modularización o, lo que es lo mismo, dividir una solución en proyectos.

A partir de ese dia, una idea me quitaba el sueño, conseguir la estructura perfecta para crear una plantilla de E.R.P. válida para cualquier tipo de negocio, o al menos, para la inmensa mayoria, con unas premisas muy básicas y complejas de conseguir al mismo tiempo:

  1. Qué el E.R.P. sea estandar y válido para la mayoría
  2. Qué sea personalizable para cualquier cliente con un mínimo de cambios (y a ser posible, no estructurales)
  3. Qué permita cualquier ampliación estructural sin afectar al resto de componentes
  4. Qué sea sencillo, agradable y agil para el usuario.

La siguiente imagen no ha sido obtenida del escaner de un aeropuerto.

EsqueletosVamos a comparar los 3 esqueletos de la imagen, es fácil ver las diferencias que hay entre ellos: el primero corresponde a un humano, el segundo a un animal,  y el tercero a un ave.

Además, vemos como difieren en la forma en que se mueven, uno es bipedo, el segundo es cuadrupedo y el tercero es bipedo pero las extremidades superiores se han transformado en alas para volar.

Pero lo verdaderamente dificil, no es ver las diferencias entre ellos, sino ver las similitudes.

Asi, podemos ver como los 3 dibujos tienen un craneo, todos tienen 4 extremidades aunque se usen de diferente forma, y lo más importante, todos tienen una columna vertebral que sirve de nexo de unión entre las extremidades y el craneo.

Si llegamos a esta conclusión, estamos abstrayendo la estructura de la mayor parte de los vertebrados. Y eso, es la perfección, ver como un esqueleto tan aparentemente diferente, solo necesita unos pequeños cambios para adaptarse a cualquier forma de vida.

Pues esto mismo, es lo que hemos conseguido con la estructura de nuestro E.R.P., un esqueleto tan solido y fiable que conseguirá con un minimo de cambios, adaptarse a cualquier proyecto, sea cual sea su finalidad.

Han sido 3 años de esfuerzo, tomando decisiones, realizando pruebas, planteando casos hipoteticos reales, documentando todas las pruebas realizadas, incluso las fallidas (especialmente estas para no cometer los mismos errores), y al final, solo se puede llegar a una conclusión. ¡Ha merecido la pena!, y a pesar de que ese esfuerzo aún no es visible, y no lo será en breve, ya que no podemos desarrollar a pleno rendimiento con V7, pero estamos convencidos de que el resultado será excelente.

Esquema del E.R.P. completoAqui podeis ver el esquema final, que logicamente, se realizo con V6, ya que hasta hace poco tiempo, en V7 no estaba disponible el editor de esquemas.

PDF Download    Enviar artculo en formato PDF   
comments: 2 »
ene 19

Tipos de indice en tablas de datos

Posted in v7, vDevelop

Tipos de indiceLos índices en Velneo v7, nos permiten como en cualquier otra base de datos, mantener la información organizada según diferentes criterios.

Básicamente, todas las tablas deben tener al menos, un indice, sea cual sea el tipo de tabla, ya que son los índices los que nos permiten el acceso a los datos en ejecución.

Los tipos de índice que podemos utilizar a la hora de definir una tabla, son los siguientes:

Clave única Este tipo de índice no acepta claves repetidas, y se utiliza principalmente para campos de tipo numérico (autonumérico) y en campos alfabéticos para referencias de artículos y similares.
Palabras Utiliza todas las palabras de cualquier campo alfabético para la indexación.
Múltiples claves Este tipo de índice, permite indexar y buscar por cualquiera de los campos declarados en el indice. Hasta el máximo indicado en el campo Nº DE CLAVES.
Acepta repetidas Es otro de los índices más comunes, permitiendo indexar campos cuyo contenido se repite.
Trozos de palabras Permite indexar campos alfabéticos por grupos de 3 letras (mínimo), y buscar por ellos. En la versión 6.x y anteriores, se denominaba como Aproximación alfabética ternaria.
PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Tipos de indice en tablas de datos
ene 18

Aplicacion de gestión en V6

Posted in aplicaciones, velneo

Además de las aplicaciones mostradas anteriormente, también tenemos cosas más estandar, como la aplicación de gestión tipica que todos hemos instalado, y como en el resto de las anteriores, tampoco esta basada en la plantilla de Velneo, ¿porqué?, pues basicamente, porque cuando se inició el desarrollo de estas aplicaciones, allá por el año 98, las plantillas no existian, y todo habia que currarselo a mano.

Con albaranes de venta, que pueden ser introducidos manualmente o generados directamente desde los pedidos.

Y múltiples tarifas de precios (sin limitación), cada cliente puede llegar a tener 4 tarifas configuradas simultaneamente, y los precios asignados a los productos dependen de condiciones aplicadas a cada cliente.

Las tarifas se pueden imprimir en papel o PDF, con fotografias o sin ellas, y enviar por e-mail. Tambien se pueden generar tarifas para la web.

También esta previsto el control de Rutas de reparto y Zonas de venta en el apartado de logística.

El cálculo de los modelos de impuestos más habituales también esta contemplado y se realizan automaticamente.

Pero al margen del estilo que se ve en las imagenes, te pueda gustar o no, lo verdaderamente importante de estas aplicaciones está dentro, y es un analisis cuidado al detalle y una estructura muy solida, diseñada para permitir cualquier tipo de adaptación a medida sin sorpresas desagradables.

Porque, ciertamente, una aplicación entra por los ojos, pero si una vez instalada, la aplicación no es robusta y fiable, el cliente te saca los ojos con las uñas si hace falta. Y lo que más vende en realidad, es lo bién que hablan los clientes de tús aplicaciones.

Es todo por ahora, seguiremos viendo más opciones en otra ocasión.

PDF Download    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Aplicacion de gestión en V6