Ya no eres suscriptor de ayudavelneo. ¿Quieres volver a serlo?

Dime la verdad… ¿cuántos e-mails recibiste a finales de mayo del tipo “Ultima oportunidad…“; “Ya no podré enviarte mas e-mails…“; “Urgente, visita la política de privacidad…“? Y todo ello “gracias” a la RGPD.

Yo he recibido e-mails de sitios de los que ni me acordaba de estar suscrito a ellos (sólo me faltó recibir el del club de filatelia y el de numismática a los estaba apuntado de pequeño).

Los que me conocéis un poquito, sabéis que no soy mucho de grises… yo o blanco o negro (eso del verde azulado o el azul verdoso no va conmigo: o verde o azul).

Te habrá sorprendido no haber recibido ningún e-mail de ese tipo de mi parte… o tal vez no e incluso lo hayas agradecido.

suscriptor de ayudavelneoHe optado por una solución diferenciadora a la del resto de web, blogs, etc.

En lugar de enviarte un e-mail pidiéndote que pinches en un enlace para leer mi política de privacidad y después darme tu consentimiento y bla bla bla… directamente te he borrado de mi lista de suscriptores. Si, como lo oyes: he vaciado mi lista de 702 suscriptores de mailchimp (700 si tenemos en cuenta que dos suscriptores eran míos)… llamadme loco si queréis.

Algunas empresas “chick” a esto le llaman hacer un “experimento sociológico”… ¡y hasta cobran por ello!.

¿Quieres volver a ser suscriptor de ayudavelneo?

La verdad es que de nada me sirve tener suscriptores que no lean los e-mails con noticias o avisos o las promociones de venta que envío de vez en cuando (mas de lo primero que de lo segundo)… al final no olvides que lo que quiero es venderte algo (soy así de ruin).

Por lo tanto, si quieres volver a ser suscriptor de ayudavelneo y que de nuevo te intente vender algo en algún momento (jejeje) solo tienes que introducir tus datos en la cajita que hay un poco mas abajo… eso si, que no se te olvide leer antes mi política de privacidad.

Para que piques y te suscribas, te regalaré un .vin con un pequeño CRM si lo haces antes del 30 de junio (joder os quería vender algo… y ya estoy regalando).

¿Quieres volver a ser suscriptor de ayudavelneo? 

Suscríbete a continuación y si quieres, déjame también un comentario mas abajo.

La entrada Ya no eres suscriptor de ayudavelneo. ¿Quieres volver a serlo? se publicó primero en AyudaVelneo.

¡Por fin se termino 2017!

Pues si, parecía que no se iba a terminar nunca pero..

¡Por fin se terminó 2017!

La verdad es que si me preguntas como me ha ido el año, te contestaría con otra pregunta ¿a nivel personal, o a nivel profesional?

Llevaba tiempo queriendo escribir este post pero he preferido dejar pasar algo de tiempo para coger mayor perspectiva de todo lo vivido el año pasado.

¡Por fin se termino 2017!

En este post te contaba como me había ido 2016 y los planes que tenía para 2017…

Pero la vida es caprichosa y a veces tu quieres ir por un camino, y ella te lleva por otro.

Objetivos que tenía para 2017

Tenía 3 objetivos principales para el modelo de negocio que tengo con Ayudavelneo:

Centrarme en los desarrolladores que comienzan en Velneo.

Realizar webinar y seminarios de iniciación.

Obtener ingresos recurrentes.

Como puedes ver, sólo conseguí uno de los tres objetivos principales que me propuse para el año 2017.

Después de todos los problemas de salud que aparecieron a principios de año tuve que pivotar el modelo y buscar nuevos objetivos para el último trimestre de 2017 como te conté aquí.

Obtener ingresos recorrentes a través del blog o del software sigue siendo mi asignatura pendiente. Espero avanzar en este apartado durante 2018.

2017 a nivel personal

¿El vaso está medio lleno o medio vacío?

Pues eso es lo que me ha pasado a nivel personal.

Lo que a mediados del año 2017 era el vaso medio vacío (con todos los problemas de salud), mirándolo desde la distancia en estos primeros meses de 2018, se ha convertido en vaso medio lleno.

He retomado muchos hábitos que había olvidado:

  • Desayunos mas saludables.
  • Respetar las horas de sueño (estoy en proceso).
  • Desconectar de la tecnología (o intentarlo) los fines de semana.
  • He vuelto a la lectura ¡de libros en papel!.
  • He vuelto a entrenar (de hecho me estoy preparando el maratón de Madrid del día 22 de abril).
  • Dedicar tiempo de calidad para los míos.

Como consecuencia de todo ello, he perdido 8 kilos desde marzo de 2017.

Al final por muchas metas que nos planteemos a nivel profesional, si la salud no te respeta… y tu no te respetas a ti mismo, difícilmente vas a poder lograrlos.

Lo malo de todo esto es que la vida nos tenga que dar algún sustillo para que nos demos cuenta de ello.

2017 a nivel profesional

Sin lugar a dudas el mejor año desde que estoy con el proyecto ayudavelneo.

Tanto el “Servicio de desarrollo online” como el “Bono de 10 horas de desarrollo” han sido un completo éxito.

Ahora mismo en el “mundo Velneo” hay una realidad: las empresas siguen necesitando desarrolladores en Velneo con experiencia (sólo hay que ver las últimas ofertas de trabajo que han aparecido en el foro).

El “Servicio de desarrollo online” era perfecto para ellas.

Este servicio sólo tiene un problema: el pago es posterior al servicio.

Si se solapan proyectos, puedes tener bastante dinero pendiente de cobro.

Eso supone un riesgo… que he asumido y en algún caso no me ha salido bien.

De hecho sigo intentando resolverlo.

En cuanto al “Bono de 10 horas de desarrollo” es perfecto para empresas que tienen alguna necesidad puntual o programadores que se están iniciando en la plataforma y necesitan un empujón inicial.

Este servicio tiene una ventaja: el pago es anterior a prestar el servicio.

Aquí me ha ocurrido todo lo contrario, he tenido que devolver el importe de algún bono.

Al final es un servicio, no un producto por lo que si ya tienes las horas comprometidas, es mejor devolver el importe que no poder atender a un cliente.

Volvemos a los ingresos recurrentes…

Como consecuencia de estos servicios, he recibido ofertas para pasar a formar parte de alguna empresa (tanto de desarrollo como cliente final) como asalariado.

De momento las he rechazado o me han rechazado al saber mis pretensiones económicas.

Si tengo que abandonar mis sueños por cumplir los sueños de otros, tiene que merecer mucho la pena en todos los aspecto… y uno de ellos es el monetario.

¿Y en 2018 qué?

Pues de momento he aceptado 3 proyectos a largo plazo que me van a tener entretenido durante todo este 2018.

De ahí que esté rechazando algunas ofertas que me habéis hecho llegar a través de la página de contacto para los servicios antes mencionados.

Los webinar tendrán que esperar.

Seguiré escribiendo de manera regular y mi prioridad serán los desarrolladores que se están iniciando en la plataforma.

Tengo pensado cambiar el lead magnet que recibís cuando os suscribís al blog: un curso de 9 horas es un “ladrillo”… hay que hacer algo mas “consumible”.

Invertir en formación será otra prioridad para este año:

  • GTD
  • Oratoria
  • Metodologías Agiles
  • Marketing online

Y a nivel personal me gustaría sacarme el título de entrenador de futbol para formar a chavales (la formación me sigue encantando).

Veremos que se cumple… pero eso ya será un capítulo aparte.

Y a ti, ¿cómo te ha ido 2017? 

No seas tímido y déjame un comentario mas abajo.

La entrada ¡Por fin se termino 2017! se publicó primero en AyudaVelneo.

Triggers o eventos de tabla: Qué son y cómo funcionan

¿Sabes que con los triggers o eventos de tabla puedes realizar acciones antes, durante o después de dar de alta, modificar o eliminar un registro?

Primero vamos a definir que son los triggers o eventos de tabla.

Según la definición de Velneo

Un trigger es un proceso definido por el programador que es ejecutado automáticamente al producirse el evento al que hace referencia.

Desde este enlace puedes acceder a la ayuda oficial sobre los triggers.

Consideraciones importantes sobre los triggers

Antes de ver los tipos de triggers que Velneo pone a nuestra disposición, déjame que te cuente 2 consideraciones muy importantes por si hay algún despistado en la sala… “que haberlos haylos”.

  • Son “eventos de tabla”… por lo tanto se ejecutan en el servidor. No pongas ninguna instrucción que requiera la interacción con el usuario, puesto que no lo verá.
  • Cualquier cambio que se desee realizar en la ficha en la que nos encontremos, siempre deberá ser hecho antes de su grabación, es decir, en el trigger anterior.

Avisado quedas… ¿Vale Rodolfo?

Tipos de triggers o eventos de tabla

Un trigger es un subobjeto del objeto tabla por lo tanto para crearlo tendremos que hacerlo desde el panel de subobjetos de la tabla en cuestión o bien desde la barra de opciones de menú de dicha tabla.

Al dar de alta un nuevo trigger, nos aparece el siguiente formulario:

Tipos de Triggers

Como podéis ver, tenemos 9 triggers disponibles:

  • 3 correspondientes al alta de una ficha.
  • 3 correspondientes a la modificación de una ficha
  • 3 correspondientes a la baja de una ficha.

El tipo de trigger a utilizar dependerá de 2 factores:

  • Si queremos modificar en el proceso la ficha en la que estamos posicionados
  • Si queremos realizar las acciones antes o después de que se lancen las actualizaciones programadas en la tabla.

Además, sobra decirlo, la primera instrucción del proceso tendrá origen ficha.

  • Alta: Anterior a un alta de ficha: el proceso se lanza cuando la ficha todavía no ha sido dada de alta en la base de datos, por lo que podemos realizar cambios en sus campos.
  • Alta: Interno a un alta de ficha: el proceso se lanza cuando la ficha ya ha sido dada de alta en la base de datos, por lo que no podemos realizar cambios en sus campos, pero todavía no se han lanzado las actualizaciones.
  • Alta: Posterior a un alta de ficha: el proceso se lanza cuando la ficha ya ha sido dada de alta en la base de datos, y además ya se han lanzado las actualizaciones.
  • Modificación: Anterior a una modificación de ficha: el proceso se lanza cuando la ficha todavía no ha sido modificada en la base de datos, por lo que podemos realizar cambios en sus campos.
  • Modificación: Interno a una modificación de ficha: el proceso se lanza cuando la ficha ya ha sido modificada en la base de datos, por lo que no podemos realizar cambios en sus campos, pero todavía no se han lanzado las actualizaciones.
  • Modificación: Posterior a una modificación de ficha:  el proceso se lanza cuando la ficha ya ha sido modificada en la base de datos, y además ya se han lanzado las actualizaciones.
  • Baja: Anterior a una baja de ficha: el proceso se lanza cuando la ficha todavía no ha sido eliminada de la base de datos.
  • Baja: Interno a una baja de ficha: el proceso se lanza cuando la ficha ya ha sido eliminada de la base de datos, pero todavía no se han lanzado las actualizaciones.
  • Baja: Posterior a una baja de ficha: el proceso se lanza cuando la ficha ya ha sido eliminada de la base de datos y además ya se han lanzado las actualizaciones.

Por si no ha quedado todavía lo suficientemente claro, te dejo un esquema que lo aclara mas.

Esquema sobre triggers

 

¿Alguna duda sobre los triggers o eventos de tabla?

Cuéntamela dejándome un comentario mas abajo.

La entrada Triggers o eventos de tabla: Qué son y cómo funcionan aparece primero en AyudaVelneo.

No tengo tiempo para iniciarme en Velneo

Hace unos días realicé una encuesta a los suscriptores para saber cual era su principal problema a la hora de desarrollar con la plataforma. Uno de los problemas mas repetidos era “No tengo tiempo para iniciarme en Velneo“.

Resulta curioso que el principal problema no sea como crear vistas de datos, como lanzar las búsquedas o como utilizar los enlaces indirectos.

El principal problema es el tiempo.

 

iniciarme en velneo

La verdad es que no se como me sorprende.

En esta sociedad en la que vivimos se da una paradoja muy interesante en las empresas de programación:

el principal bien que tenemos es el tiempo… y nos dedicamos a programar a toda prisa nuevas funcionalidades en nuestras aplicaciones sin pararnos a pensar si el desarrollo que estamos realizando es realmente necesario para nuestros clientes.

Me pasa incluso a mi. Llevo queriendo sacar tiempo para empezar a desarrollar en QML ya ni me acuerdo desde cuando… y la semana pasada tampoco lo conseguí.

Si no lo habéis hecho todavía, os aconsejo leer este post de Alfonso Gutiérrez. Es para pensar y reflexionar sobre ello.

Causas de la “escasez de tiempo”

La gran mayoría de los que desarrollamos en Velneo somos pequeñas empresas o autónomos. No tenemos grandes departamentos en nuestra empresa de ventas, contabilidad ni de programación.

Estoy convencido de que una de las principales causas de la escasez de tiempo que impide “iniciarme en Velneo” es el “síndrome del hombre orquesta“: como voy a dejar que otro haga esto.. si yo soy el que mejor lo hace.

Gran error.

Yo facturo, yo vendo, yo me encargo de la contabilidad, yo programo, yo hago las nóminas, etc etc etc. y al final no tengo tiempo para lo importante.

Tener tiempo para pensar que vamos a desarrollar en las aplicaciones para hacer rentables nuestras empresas.

Si te sirvo de ejemplo, te voy a contar 4 medidas que he tomado para “ganar tiempo”:

  • Contratar una asesora: Lo siento no soy contable ni asesor fiscal. En España hay demasiados trámites burocráticos y cada 3 meses hay que presentar impuestos. Susana se encarga de todo esto. Es lo primero que hice cuando me decidí a ser autónomo hace ya algunos años. No me arrepiento en absoluto… es mas cada 3 meses me compadezco de ella.
  • Contratar un diseñador para la web: la primera versión de la web la desarrolle, la instalé y la configuré yo. Cuando decidí que era hora de actualizarla por completo (con el aspecto que ves ahora) lo primero que decidí es que no la iba a hacer yo (y se hacerlo puesto que ya lo había sufrido una vez). Otra decisión acertada. En este caso fue mi amigo Dan quien se encargó de ello.
  • Aprender a decir NO y rechazar algunos trabajos: antes decía a todos los trabajos que me llegaban que si. No me preocupaba si “eran rentables” sólo me preocupaba “poder facturar“. Si te fijas acabo de hacer una comparación muy sutil pero bastante importante “rentabilidad vs facturación“. Ahora sólo cojo trabajos que van a ser rentables.
  • Externalizar todos los trabajos mecánicos que tengas en tu empresa. El tiempo que ganarás compensará con creces la inversión que tengas que realizar.

La cuenta es muy sencilla. Ponte un precio/hora (el precio que quieres ganar por tu trabajo). Mira las horas que inviertes en trabajos mecánicos o trabajos que podrías delegar. Multiplica tu precio hora por esas horas que empleas en trabajos que podrías delegar. Y ahora mira cuanto te costaría delegar esos trabajos. ¿Te compensa? A mi te aseguro que si.

Consejos para “iniciarme en Velneo”

El primer consejo que te daría es que comiences poco a poco (vamos, que no quieras desarrollar un ERP el primer día… ni siquiera el segundo jejeje) y sobre todo que te comprometas.

Trata tu formación en Velneo como si de un proyecto de unos de tus clientes se tratase. Resérvate horas en tu planificación semanal. Será la única forma de que avances.

Puedes comenzar con estos post que he seleccionado para “Comenzar con el desarrollo en Velneo“.

Después puedes realizar algún curso online gratutio como este o de pago como el programa formativo “Despega con Velneo V7“.

Por último si no consigues comprometerte con la formación, lo mejor que puedes hacer es un curso presencial. De esta forma te comprometes si o si.

Repite conmigo “voy a iniciarme en Velneo”.

¿Qué medidas vas a tomar para conseguirlo?

Cuéntamelas dejándome un comentario mas abajo.

 

La entrada No tengo tiempo para iniciarme en Velneo aparece primero en AyudaVelneo.

Comienza el curso escolar 2017/2018

La verdad es que estoy como los niños cuando empiezan el nuevo curso escolar: con mucha ilusión por reencontrarme con los “amigos virtuales” ( o sea tu) y deseando hacer cosas nuevas en el blog.

curso escolarEste 2017 no está siendo como yo esperaba a nivel personal.

Cuando estaba a punto de irme de vacaciones para olvidar mis problemas de salud, (y cuando digo a punto de salir, quiero decir la noche antes con las maletas ya preparadas) tuvimos que llevar a mi hijo mayor al hospital: operación de apendicitis y cancelación de las vacaciones.

Tampoco me puedo quejar. Todo se ha cogido a tiempo y no deja de ser ya una “anécdota” familiar.

Siendo sinceros… alguna asignatura pendiente me ha quedado.

De mis propósitos de año nuevo, algunas asignaturas me han quedado pendientes para “septiembre”:

  • Todavía no he logrado crear un sistema de ingresos recurrentes.
  • Creación de un nuevo curso de iniciación.
  • Escribir artículos con mas regularidad. Esto está muy relacionado con el punto 1… si no logro ingresos recurrentes, tengo que intercambiar tiempo por ingresos… y ahí salgo perdiendo.

Prometo aplicarme para “aprobar” estas asignaturas.

¿Y este nuevo curso escolar qué?

La verdad es que estoy muy ilusionado con el proyecto ayudavelneo.

Sentir que con los artículos ayudo a los desarrolladores que se están iniciando en Velneo a ser mas productivos y a obtener beneficios desde el minuto uno, me produce una gran satisfacción.

Además gracias al blog cada vez mas a menudo me llegan propuestas de trabajo: desarrollos, cursos online, cursos presenciales así como ofertas de trabajo en empresas.

Esta última opción, de momento está descartada.

Como te he comentado anteriormente, he prometido aplicarme para “recuperar” las asignaturas que llevo suspensas.

En esta última parte del año, he decidido emprender las siguientes acciones:

  • Publicar un post todos los martes. Si además hay post de algún invitado, se publicarán los jueves.
  • Crear un nuevo curso de iniciación en Velneo para todos aquellos de vosotros que estáis empezando a desarrollar con la plataforma.
  • Enviar un boletín o newsletter los viernes a todos los suscriptores del blog,  con las novedades y artículos interesantes que aparezcan relacionados con Velneo. Si no te has suscrito todavía, puedes hacerlo al pie de este post.
  • Como los grandes clubes de futbol (quitando al Barcelona este año… jejeje), yo también he “fichado” a un nuevo colaborador para el blog: El “profesor vBacterio“. Algún experimento interesante mezclando Velneo y vJavaScript ya he visto que saldrá de su laboratorio.

Además durante el verano he recibido algunos e-mails en los que me preguntábais si los “Cursos Online” relacionados con QML iban a volver a estar disponibles.

Aunque en un principio había decidido no volver a ponerlos a la venta, al final he recapacitado y vuelven a estar disponibles:

También están disponibles en el menú superior de la web (opción “Cursos”)

De momento esto es todo lo que tenía que contarte..

¿Qué te han parecido mis “medidas” para aprobar en septiembre? ¿Acertadas?

¿Prefieres recibir la newsletter el fin de semana?

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Comienza el curso escolar 2017/2018 aparece primero en AyudaVelneo.

¿Es difícil utilizar PaaSOS para mis desarrollos?

La semana pasada contactó conmigo un viejo amigo que quería conocer mas en profundidad el Proyecto PaaSOS. Organicé una reunión con Jorge Hontoria y antes de llegar a los postres mi amigo nos preguntó: “Realmente, ¿es difícil utilizar PaaSOS para mis desarrollos?”

Jorge y yo discrepamos… ¿quieres saber cuales fueron nuestras opiniones?

utilizar PaaSOS

 

Yo argumentaba que utilizar PaaSOS, para alguien que se está iniciando en el desarrollo con Velneo, es demasiado complejo mientras que Jorge opinaba que no es tan difícil de utilizar.

Te voy a contar los argumentos de cada uno.

Conociendo la plataforma PaaSOS

De entrada, PaaSOS asusta.

Si descargas toda la plataforma PaaSOS y ves su estructura, lo cierras y no lo vuelves a abrir.

utilizar PaaSOS

¡Que no cunda el pánico!

Yo lo he abierto unas cuantas veces… y aquí sigo.

También es verdad que hay que diferenciar 3 partes bien diferenciadas

  • Plataforma completa: el árbol que te he enseñado anteriormente es de la versión 1.6… creo que la versión 1.7 trae mas novedades.
  • PaaSOS CORE: verdadero corazón de la plataforma. Este módulo da la funcionalidad común a toda la plataforma y simplemente por heredarlo en tus desarrollos, también la tendrás a tu disposición.PaaSOS Core
  • Módulos de PaaSOS: módulos con funcionalidades específicas. Generalmente están formados por un proyecto de datos y uno de aplicación y suelen funcionar de manera autónoma  (heredando PaaSOS CORE).
    • Cartera de cobros y pagos
    • GTD.
    • Rutas.
    • Redes sociales.
    • etc.

PaaSOS EAC

Mi opinión: Utilizar PaaSOS para mis desarrollos es COMPLICADO

Siendo sincero yo, en este caso, parto con alguna desventaja.

Llevo involucrado en el proyecto casi desde el principio, por lo que me ha tocado desarrollar o modificar alguna de las partes complejas de la plataforma.

Al realizar mi afirmación, yo no diferenciaba entre “utilizar PaaSOS” y “modificar PaaSOS” puesto que he tenido que realizar las dos operaciones.

Una de las mayores dificultades a las que se enfrenta un desarrollador al intentar comprender el CORE de PaaSOS es que se hace un uso intensivo tanto de constantes como de funciones (se puede dar el caso de que desde un manejador se llame a un proceso que ejecute una función… que llame a otra función (en este ejemplo se recalculan los calendarios al realizar una repetición de una actividad).

 

Función PaaSOS

Una de las dificultades añadidas por lo menos para mi) es que TODA la plataforma esta en la lengua de “chespir”, es decir, en Inglés (menos mal que los textos explicativos están en castellano).

Si eres como yo que toda la vida he estudiado francés… pues todavía es mas complicado.

El sistema de conexiones es complejo… pero a la vez muy potente. Permite conectar unos registros con otros sin necesidad de enlaces entre las tablas.

La opinión de Jorge: Utilizar PaaSOS para mis desarrollos es SENCILLO

Jorge argumentaba, y con razón, que hay que diferenciar “utilizar PaaSOS para mis desarrollos” de “modificar el CORE de PaaSOS para mis desarrollos”.

Como te he comentado anteriormente, simplemente por el hecho de heredar “PaaSOS CORE“, podrás:

  • Etiquetar y categorizar cualquier registro.
  • Actividades con repetición de las mismas.
  • Posibilidad de adjuntar ficheros.
  • Realizar anotaciones.
  • Calendario de serie.
  • E-mails.
  • etc.

Es cierto que el código está “mimado” hasta la última coma. Cualquier proceso o función se detalla exhaustivamente (como has podido ver anteriormente).

Otra de las ventajas que señalaba Jorge es que la estructura de cualquiera de los proyectos es la misma:

Módulo PaaSOS

Otra de las ventajas que le veía Jorge es el potente sistema de plantillas disponible según el módulo que tengas que desarrollar:

  • Maestro.
  • Maestro arbolado.
  • Maestro con plural.
  • Maestro con sistema de conexiones.
  • Maestro sin sistema de conexiones.
  • etc.

En este punto le tengo que dar la razón.

Después de un tiempo sin trabajar con PaaSOS, desarrollé un par de módulos para la plataforma, PaaSOS GTD y PaaSOS EAC (cobros y pagos) y no me costó demasiado gracias a estas plantillas.

Cobros y pagos

 

Conclusiones finales

Es cierto que PaaSOS es complejo… muy complejo pero a la vez es potente… muy potente.

Yo te animaría a utilizar PaaSOS para tus desarrollos en Velneo.

Te animaría a “conocer” PaaSOS CORE y a desarrollar tu primera aplicación con PaaSOS.

 

¿Has utilizado PaaSOS en tus desarrollos Velneo? ¿Te ha parecido complejo de utilizar? ¿Te ha parecido sencillo?

Déjame un comentario mas abajo y comenzamos el debate.

La entrada ¿Es difícil utilizar PaaSOS para mis desarrollos? aparece primero en AyudaVelneo.

Consultorio Velneo: ¡Actualizaciones al poder!

Muy interesante la pregunta que me hace David Cueva desde Juarez (México) y que creo que se puede resolver mediante la creación de 3 campos y 1 actualización ¿no te lo crees?.. Sigue leyendo.

Actualizaciones al poder

La pregunta en cuestión es la siguiente:

Tengo un formulario de mantenimiento a x unidad…en el tengo datos de la unidad a servir, fecha, y un boleano que me indicara cuando el mantenimiento actual..esta terminado….abajo….una vista de datos donde esta la rejilla de lineas de mantenimiento (editable)…donde tengo el servicio a dar…y entre otras cosas un campo de finalizado…..
lo que no puedo lograr es que al momento que todas las lineas (servcios), esten en finalizado si….en ese instante me habilite el campo Terninado en el formulario…si hay algun servicio sin terminar…debe permanecer deshabilitado…
Mediante control de evento y eventos….lo hace..pero a destiempo…no en tiempo real…..
Antes de continuar, es muy recomendable que, si no lo has hecho ya, leas este artículo acerca de las actualizaciones.

Definiendo el problema

Básicamente David tiene un registro (maestro) en el que hay que cambiar un campo de tipo booleano en función de si todas sus líneas (plural) están en estado terminado o no (te recomiendo leer también este otro post sobre las relaciones entre tablas).

David lo ha conseguido mediante maneadores de evento pero el problema es que no consigue que el valor del campo booleano se actualice en tiempo real.

Siempre digo que todo lo que podamos hacer en el proyecto de datos, es recomendable hacerlo ahí. Velneo se encargará de realizar las operaciones necesarias para actualizar los registros.

Pues vamos a ello…

Creando los campos necesarios

Para aplicar la solución, en el registro del mantenimiento vamos a crear dos campos de tipo numérico:

  • NUM_LIN_TOT: iremos acumulando en este campo el número de líneas que tiene el registro en cuestión.
  • NUM_LIN_TER: iremos acumulando en este campo el número de líneas que estén terminadas.

Además vamos a modificar el contenido inicial del campo booleano (le llamaremos B_TER) que nos indica si el mantenimiento está terminado o no:

  • choose(#NUM_LIN_TOT= #NUM_LIN_TER, 1, 0)

De esta forma conseguiremos que el campo se marque como “Terminado” cuando el nº de líneas terminadas sea igual al nº de líneas totales.

Velneo se encarga del resto: Actualizaciones al poder

Ahora sólo nos falta que los campos para el número de líneas se vayan actualizando de forma automática.
Para ello vamos a crear una actualización en la tabla de líneas de mantenimiento que actualice el maestro de mantenimientos.
Una vez creada, vamos a dar de alta dos componentes:
Nº de líneas totales
Actualización sencilla… cada vez que demos de alta una línea del mantenimiento… se acumula 1 en el campo NUM_LIN_TOT.

Nº de líneas terminadas

Mediante este componente de actualización, iremos añadiendo 1 al nº de líneas terminadas pero solamente cuando la línea esté terminada (la condicionamos a que el campo B_TER esté a 1).

Conclusión

Pues si esperabas algo mas de dificultad… lo dejaremos para otro día. Con estas sencillas instrucciones, David conseguirá lo que se propone.

Cuando el valor del campo NUM_LIN_TER sea igual al del campo NUM_LIN_TOT, querrá decir que todas las líneas estarán terminadas y por tanto el campo booleano B_TER se marcará a 1.

Ya sabes que si tienes alguna duda sobre Velneo, puedes hacérmela llegar a través del formulario de contacto e intentaré responderla.

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Consultorio Velneo: ¡Actualizaciones al poder! aparece primero en AyudaVelneo.

Consultorio Velneo: Relaciones entre tablas

Nace hoy en el blog la sección “Consultorio Velneo” orientada a resolver las dudas que podáis tener sobre la plataforma Velneo®. El blog sigue aumentando tanto en lectores como en suscriptores y cada vez son más las consultas que me hacéis, sobre todo por e-mail.

He pensado que, quizá, puede ser útil para muchos de vosotros leer mis respuestas, en lugar de enviar el e-mail sólo al desarrollador que tenía la duda.

Además también intentaré responder a cuestiones aparecidas en el foro de Velneo, como es el caso de este post “Relaciones entre tablas“.

El usuario Franpino planteaba en este hilo una cuestión muy interesante y esencial a la hora de desarrollar con Velneo: la relación entre tablas de la aplicación. Si estás comenzando a desarrollar con la plataforma, es muy importante que domines los conceptos de maestro y plural y que sepas diferenciarlos claramente.

Para explicar dicha relación, he seleccionado una serie de tablas de vErp y he creado un esquema a modo de ejemplo:

Relación entre tablas

Antes de comenzar a relacionar las tablas para poder conseguir este esquema, no estaría de mas que refrescases tu conocimiento sobre los distintos tipos de tabla de los que disponemos en Velneo.

Comenzando la relación entre tablas sin tocar Velneo

Lo primero que debemos plantearnos es cómo queremos que se comporte nuestra aplicación en cuanto a los datos se refiere. Voy a comenzar explicando como sería la relación entre las tablas del ejemplo que he planteado sin tocar Velneo:

  • Tabla Contactos: Un contacto puede tener varias direcciones y podemos hacerle varios presupuestos (con lo cual puede tener múltiples líneas de presupuesto en las que le habremos asignado varios artículos). Además sólo tendrá una forma de pago.
  • Tabla Direcciones: Cada dirección SOLO pertenece a un contacto.
  • Tabla Formas de Pago: Ya hemos dicho que un contacto SOLO puede tener una forma de pago, pero la misma forma de pago puede estas asignada a varios clientes. Además en el presupuesto vamos a poder modificar la forma de pago asignada por defecto al contacto. Imaginemos que un contacto siempre paga a 30 días pero un día quiere pagar al contado. Sería absurdo cambiar la forma de pago en la ficha del contacto, hacer el presupuesto y volver a cambiar la forma de pago.
  • Tabla Presupuestos de Venta: Siguiendo con la lógica, un presupuesto estará asignado a un contacto y podrá tener varias líneas de presupuesto. Además un presupuesto sólo tendrá una forma de pago.
  • Tabla Líneas de Presupuesto de Venta: una línea de presupuesto SOLO puede pertenecer a un presupuesto. Además a cada una de las líneas SOLO se le puede asignar un artículo y estará asignada a un contacto (por lo general al contacto del presupuesto de venta).
  • Tabla Artículos: para finalizar el planteamiento, un artículo estará incluido en una línea de presupuesto pero el mismo artículo puede estar en múltiples líneas.

Ya hemos “diseccionado” como queremos que sea nuestra aplicación en nuestra mente (o en un papel). Vamos a ver como podemos responder a la siguiente cuestión: ¿Como relacionamos las tablas en Velneo?.

Realizándonos las preguntas correctas en Velneo para obtener las relaciones entre tablas

Hay dos preguntas básicas a las que deberemos responder para obtener las relaciones entre tablas:

  • “El/La (Tabla_1) del (Tabla_2)”: En este caso, la “Tabla_1” será maestro de la “Tabla_2”.
  • “Los/Las (Tabla_1) del (Tabla_2)”: En este caso, la “Tabla_1” será plural de la “Tabla_2”.

Vamos a verlo contestando a las preguntas con las tablas de nuestro ejemplo:

  • Relación Contactos-Direcciones: “El contacto de la dirección” sería la pregunta correcta a resolver y no “Los contactos de la dirección” puesto que hemos definido que cada dirección sólo tendrá un contacto. Además también se cumple la segunda pregunta “Las direcciones del contacto“. Parece claro pues que contactos será maestra de direcciones y que direcciones será plural de contactos.
  • Relación Contactos-Presupuestos: “El contacto del presupuesto” sería la pregunta correcta a resolver y no “Los contactos del presupuesto” puesto que hemos definido que cada presupuesto sólo tendrá un contacto. Además también se cumple la segunda pregunta “Los presupuestos del contacto“. Parece claro pues que contactos será maestra de presupuestos y que presupuestos será plural de contactos.
  • Relación Contactos-Formas de pago: “La forma de pago del contacto” sería la pregunta correcta a resolver y no “Las formas de pago del contactos” puesto que hemos definido que cada contacto sólo tendrá una forma de pago. Además también se cumple la segunda pregunta “Los contactos de la forma de pago“. Parece claro pues que forma de pago será maestra de contactos y que contactos será plural de forma de pago.
  • Relación Presupuestos-Líneas de presupuesto: “El presupuesto de la línea del presupuesto” sería la pregunta correcta a resolver y no “Los presupuesto de la línea” puesto que hemos definido que cada línea de presupuesto sólo pertenecerá a un presupuesto concreto. Además también se cumple la segunda pregunta “Las líneas del presupuesto“. Parece claro pues que presupuestos será maestra de líneas de presupuesto y que líneas de presupuesto será plural de presupuestos”.

A partir de responder a estas simples preguntas, podéis ir construyendo la relación entre tablas en vuestra aplicación, creando los enlaces a maestro en las tablas correspondientes.

Velneo se encargará de crear el índice correspondiente al campo creado y los enlaces al plural. ¡¡ OJO !! si copiamos el campo de otra tabla, no se creará el indice.

Por ejemplo, en la tabla de presupuestos de venta hemos creado, entre otros, los siguientes enlaces a maestro:

Relación entre tablas: maestros

 

Espero que respondiendo a estas simples preguntas, seas capaz de montar las relaciones entre tablas de tu aplicación.

Ya sabes que si tienes alguna duda sobre Velneo, puedes hacérmela llegar a través del formulario de contacto e intentaré responderla.

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Consultorio Velneo: Relaciones entre tablas aparece primero en AyudaVelneo.

Las 3 únicas formas de ampliar las funcionalidades de Velneo vErp

Hay una pregunta recurrente en los clientes que contratan tanto el “Bono de 10 horas de desarrollo” como el “Servicio de desarrollo online“:

“¿Cuál es la mejor forma de ampliar las funcionalidades de Velneo vErp para mis desarrollos?”

Las 3 únicas formas de ampliar las funcionalidades de Velneo vErp

 

Además de responder a esta pregunta, surgen otras cuestiones no menos importantes:

  • Si modifico directamente la plantilla, ¿qué pasa cuando Velneo saque una nueva versión?
  • Si heredo la plantilla, ¿cómo integro mis desarrollos?
  • Si parto de una versión de vErp y la modifico según mis necesidades, cuando Velneo saque alguna funcionalidad interesante en posteriores versiones, ¿podré adaptarla a mi vErp?

Vamos a intentar responder a todas estas cuestiones viendo los pros y los contras de cada una de las formas.

Opción 1: Ampliar las funcionalidades de velneo vErp modificando directamente la plantilla

La solución “aparentemente” mas fácil… pero con matices.

Todos los objetos que creemos para añadir las funcionalidades de velneo vErp (o modificarlas), irán en los mismos proyecto de la plantilla.

Si trabajamos con este método, tendremos que tener algún mecanismo para que cuando Velneo lance una nueva versión, podamos añadir las nuevas funcionalidades incluidas sin borrar toda nuestra personalización.

Lo que se hace normalmente es crear una una carpeta (tanto en el proyecto de datos como en el proyecto de aplicación) llamada, por ejemplo, “Personalización”.

Cada objeto que modifiquemos (ya sea del proyecto de datos o del proyecto de aplicación), tendremos que moverlo a esta carpeta “Personalización” ¡sin cambiarle el identificador al objeto!.

Cada objeto nuevo tendremos que moverlo también dentro de esta carpeta.

¿Cómo actuar cuando Velneo lance una nueva versión de vErp?

Tendremos que realizar los siguientes pasos cada vez que Velneo lance una actualización de la plantilla:

  • Abrir 2 vDevelop:
    • En uno tendremos nuestro vErp modificado.
    • En el otro tendremos la nueva versión de vErp.
  • Eliminaremos de la nueva versión todos los objetos que tengamos en nuestra carpeta “Personalización” (tanto en el proyecto de datos como en el de aplicación)
  • Copiaremos nuestra carpeta “Personalización” a la nueva versión de Velneo vErp.
  • Creamos un .vin con la nueva versión y la instalaremos en nuestro servidor de producción.

Sencillo… si tenemos cuidado.

Ventajas

Solución + cómoda técnicamente.

Evitamos el uso de herencia (con otras soluciones) y herencia inversa. + sencillo para los desarrolladores que os estáis iniciando en la plataforma.

Podemos modificar a nuestro antojo los triggers y las actualizaciones de las tablas.

Inconvenientes

Exige un mantenimiento cada vez que salga una nueva versión.

Mayor riesgo de cometer errores. Sobre todo en borrado de objetos

Opción 2: Ampliar las funcionalidades de velneo vErp heredando la plantilla

Solución algo mas compleja que la anterior.

Tendremos que crear una nueva solución que “herede” de Velneo vErp.

En esta nueva solución crearemos todos los objetos necesarios para ampliar las funcionalidades de Velneo vErp.

Ampliar las funcionalidades de velneo vErp heredando la plantilla

Si queremos modificar alguno de los objetos del proyecto de aplicación incluidos en Velneo vErp, tendremos que “subirlo” a nuestra solución (en este caso al proyecto vCrm_app 1.0):

Personalización de vErp

Como podéis ver, he creado una carpeta llamada “Personalización de vErp” en la que voy “subiendo” los objetos que quiero modificar de la plantilla vErp.

Si hay que ampliar la funcionalidad de las tablas de vErp, tendremos que crear “Tablas de extensión” en nuestro nuevo proyecto de datos.

¿Cómo actuar cuando Velneo lance una nueva versión de vErp?

Al no haber tocado ningún objeto de la plantilla Velneo vErp, simplemente instalamos el nuevo .vin y a funcionar.

Ventajas

Solución + sencilla de mantener.

Menor riesgo de cometer errores.

Inconvenientes

Mayor dominio de la plataforma al usar herencia inversa.

No podemos modificar ni ampliar las funcionalidades de los trigger y actualizaciones de las tablas incluidas en Velneo vErp puesto que Velneo no permite herencia inversa en tablas.

Opción 3: Ampliar las funcionalidades de velneo vErp partiendo de una versión de la plantilla

Partimos de una versión de la plantilla vErp y a partir de ahí nos olvidamos de dicha plantilla.

Con esta opción ya podemos jugar con diversas variantes.

A mi personalmente la opción que mas me gusta es tener un “Core” o “Núcleo” común para todos mis desarrollos y a partir de ahí, utilizar de nuevo la “Opción 2” pero con mi “Core” para las distintas personalizaciones sectoriales o de distintos clientes.

Con esta opción modifico y amplío las funcionalidades de mi “Core” sin depender de otras empresas.

¿Cómo actuar cuando Velneo lance una nueva versión de vErp?

Cuando Velneo lance una nueva versión de la plantilla, tendremos que integrar manualmente las funcionalidades que nos sean útiles o necesarias que vengan incluidas en vErp.

Ventajas

Solución completamente adaptada a nuestras necesidades.

No dependemos de Velneo para la corrección de errores o ampliación de nuevas funcionalidades.

Inconvenientes

Perdemos la integración con el ecosistema de aplicaciones de velneo vErp.

Integración manual de nuevas funcionalidades incluidas en la plantilla.

 

¿Con cuál de las 3 formas de ampliar las funcionalidades de vErp te quedas? 

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Las 3 únicas formas de ampliar las funcionalidades de Velneo vErp aparece primero en AyudaVelneo.

Cómo ir al médico el día de los inocentes puede hacer cambiar un modelo de negocio

A finales del año pasado y después de un par de semanas con una gripe que se negaba a abandonarme, decidí llamar al médico para pedir cita.

No sabía que esa visita iba a cambiar por completo el modelo de negocio de Ayudavelneo….

¿Quieres saber  el porqué?

Sigue leyendo 

Me dieron cita para el día 28 de diciembre de 2016 ¡Día de los Santos Inocentes!

La verdad es que ya me sonó mal viendo lo que me ocurrió ese mismo día del 2015Tenía que haber visto la señal…

Pero…. al final fui.

¿Puede una visita al médico cambiar un modelo de negocio?

Pivotando de cursos a servicios

Le solté al médico la “chapa” de la gripe y “posyaque” siiiiii le hice un “posyaque” al médico (me sentí como un usuario cuando te dice la mítica frase de: “Posyaque” estás aquí me podrías hacer este cambio en la aplicación que a ti te cuesta 5 minutitos y a mi generar estos informe son horas”… y al final, las horas te las comes tu), se me ocurrió decirle que además, tenía problemas en el estomago desde hacía tiempo…

Me recetó las medicinas para la gripe y me mando al especialista en digestivo.

Los que me seguís desde hace tiempo, sabéis que en 2015 estuve impartiendo y organizando cursos tanto presenciales como online (unas veces los daba yo y otras algún miembro de la comunidad especialista en el tema a impartir).

En 2016 esto cambió y me centré en el servicio de desarrollo online

La verdad es que llevaba un tiempo bastante cansado y lo achacaba a que había vuelto a retomar una de mis pasiones (el running) y a que dicho servicio estaba funcionando muy bien y tenía bastante trabajo.

Conclusión Nº 1: Las empresas de la comunidad Velneo necesitan desarrolladores.

Vender tu tiempo por dinero es vender tu alma al diablo

Después de unas cuantas visitas mas al médico para otras tantas pruebas (obviamente en horario laboral), el diagnóstico fue un pólipo en el intestino (que al final resultaron ser dos). Había que operar.

Análisis de sangre y ¡ohhh sorpresa! el nivel de la Gamma GT (que indica problemas en el hígado) aparece por las nubes.

Mas pruebas médicas, recordad que son en horario laboral, y mi cansancio seguía en aumento.

Antes de continuar con el relato, quiero dar las gracias a todos los que habéis confiado en mi externalizando vuestros desarrollos a través del servicio de desarrollo online

En el modelo de negocio de venta de servicios, si lo que vendes son tus horas, en el momento en el que tengas algún problema (en este caso médico), estas jodido.

Los proyectos se retrasan y el tiempo es lo único que no podemos recuperar.

No trabajas no cobras. Así de sencillo.

Conclusión Nº 2: El modelo de negocio de venta de horas no es escalable.

Al final todo ha quedado en un susto

La última semana de marzo todo llegó a su fin.

Por un lado, el diagnóstico relacionado con la Gamma GT ha sido “hígado graso” (podía haber sido peor… la otra opción era hepatitis autoinmune), además de pre-diabetes y el depósito de hierro bajo mínimos.

Nada que no cure una buena dieta (la cuál ya me han puesto) y algún medicamento que otro.

También me han operado (el pasado jueves) y todo ha salido bien (quitando otros 3/4 días sin poder hacer nada).

En estos días he recibido unos cuantos e-mails solicitando servicios de formación o cursos online para avanzar en el conocimiento de la plataforma.

La verdad es que me encanta dar formación, disfruto con ella. Y sobre todo me gusta ver como mis alumnos avanzan en el conocimiento de la plataforma. Eso es lo que mas me llena.

Conclusión Nº 3: Los desarrolladores de Velneo tienen necesidad de formarse.

Y en el futuro ¿qué modelo de negocio elegir?

Lo primero, hacer caso a las señales que envía tu cuerpo. Y si el cuerpo pide descanso… habrá que descansar.

Lo segundo, como dice la famosa frase: “no meter todos los huevos en la misma cesta”.

Si:

  • Las empresas de la comunidad Velneo necesitan desarrolladores.
  • El modelo de negocio de venta de horas no es escalable.
  • Los desarrolladores de Velneo tienen necesidad de formarse.

Lo mas idóneo es un modelo de negocio mixto.

Seguir ofreciendo el servicio de desarrollo online para las empresas de la comunidad mientras ayudo a otros desarrolladores con su formación en la plataforma Velneo.

Si eres desarrollador y estas comenzando con la plataforma

¿cuál es tu problema Nº 1 a la hora de programar?

¿Qué curso te gustaría recibir? 

Déjame un comentario mas abajo sobre ambas cuestiones.

La entrada Cómo ir al médico el día de los inocentes puede hacer cambiar un modelo de negocio aparece primero en AyudaVelneo.