Resultados certificaciones Velneo 2018

Tras el magnífico curso de actualización en Velneo que realizamos los pasados días 28, 29 y 30 de noviembre, pusimos en marcha todo el proceso para realizar los exámenes para la acreditación como desarrolladores certificados en Velneo para el próximo año 2018.

Se presentaron un total de 171 desarrolladores de España y diversos países de Latinoamérica,  siendo 145 de ellos los considerados aptos.

El formato del examen, como viene siendo habitual los últimos años constaba de 50 preguntas para los que se certificaban por primera vez y 25 para los que renovaban, siendo necesario obtener una puntuación de 35 sobre 50 en el caso de los nuevos y de 18 sobre 25 en el caso de las renovaciones.

La lista de los desarrolladores certificados se actualizará dentro de unos días con las nuevas incorporaciones y actualizando las renovaciones y bajas, con el fin de que esté ya disponible a partir de enero de 2018.

Algunas de las ventajas de las que disfrutaran los desarrolladores certificados serán las siguientes:

  • Tendrás preferencia a la hora de recibir propuestas de trabajo o proyectos que recibimos en Velneo.
    • En 2017 se han pasado más de 70 oportunidades de negocio.
  • Serás reconocido como una referencia en tu país o zona.
  • Aparecerás en el listado de desarrolladores certificados al que remitimos a las empresas finales que nos preguntan por programadores.
  • Transmitirás la confianza con el aval oficial de Velneo como profesional cualificado.
  • Tendrás derecho a usar el logo oficial de desarrollador certificado en tu curriculum, tarjeta de visita y web.
  • Disfrutarás de una discriminación positiva frente a competidores.
  • Incrementarás las posibilidades de acceso a nuevas oportunidades laborales, en las que las certificaciones pueden ser necesarias.
  • Es uno de los requisitos imprescindibles para acceder al programa de betatesters de Velneo.
  • Tendrás a disposición un diploma acreditando la condición de Desarrollador Certificado.
  • Tendrás acceso preferente a información adelantada sobre las novedades de cada versión, previo a su salida.

Felicidades a los que superaron la certificación y ánimo para el siguiente intento a los que este año no lo consiguieron.

Un saludo.

Este artículo Resultados certificaciones Velneo 2018 es original de Velneo.

Tagged , , , | Comments Off on Resultados certificaciones Velneo 2018

Sabías que … (5)

Nuestro “Papá Noel” Particular nos ha regalado una nueva entrega  “Sabías que“. En este post veremos curiosidades sobre funciones, contenidos iniciales, rejillas y personalización de gráficos nativos mediante CSS.

Por si te perdiste las cuatro primeras entregas del “juego”, no está de mas recordarlas:

¿Sabías que..?

Si no te fijas bien, la función getStringRegExp() te puede jugar una mala pasada

    • La función de cadena getStringRegExp(cadena, expresionRegular, posIni, caseSensitive, numSubExpresion) recibe como expresión regular una cadena.
    • En las expresiones regulares se usan metacaracteres, algunos de los cuales deben escaparse y ¿cuál es el caracter de escape?, pues precisamente el caracter \.
    • Por lo tanto, en Velneo debemos escapar los metacaracteres con doble caracter \ para que funcione correctamente la función getStringRegExp

Un ejemplo para obtener el código a la derecha de la palabra Informe:
 getStringRegExp(“Informe  233421122”, “Informe (\\d{1,}$)”, 0, 0, 1)  = 233421122

    • Cuando copiéis expresiones regulares de Internet, prestad atención a estos detalles, o padeceréis horas de desconcierto

Podemos recorrer los controles de una Caja de grupo (QGroupBox) para aplicar una determinada acción

    • El API de Velneo es una herramienta muy útil y este es un ejemplo de ello.
    • La clase QGroupBox (control caja de Grupo) dispone de 2 funciones, childWidgetAt(nIndex) y childWidget(nCount), que nos permiten recorrer todos los controles contenidos en la caja de grupo.
    • La función childWidgetAt devuelve un objeto Widget al que podremos aplicar una determinada acción.

Se puede establecer el tiempo que se muestran los caracteres en las cajas de edición que tienen la propiedad Contraseña activada

    • Debemos usar un par de propiedades CSS, lineedit-password-character y lineedit-password-mask-delay
    • La propiedad CSS lineedit-password-character determina código UNICODE elegido para ocultar la contraseña.
      Ejem:  ● 9679  * 42
    • La propiedad CSS lineedit-password-mask-delay establece el retardo en milisegundos
QLineEdit { 
   lineedit-password-character: 9679;
   lineedit-password-mask-delay: 300;
}

La columna de la rejilla puede mostrar directamente un icono

    • Si solo deseamos mostrar un icono en la columna de un rejilla no es necesario hacerlo en la parte reservada para ello.
    • Podemos hacerlo en la zona reservada para el contenido de la columna.
    • El editor de fórmulas no nos dejará insertar, por ejemplo, el campo ICONO de la tabla estática. Lo tecleamos manualmente.
      #BLOQUEADO_ICO.ICON

¿En qué plano se determinan los valores iniciales de los campos de la tabla?

    • El plano donde se ejecuta el comando Crear nueva ficha en memoria es en el que se determinan los valores iniciales.
    • Si queremos que siempre se determinen en 3P tendremos que calcular el valor inicial en el Trigger anterior al Alta.
    • En el API con el VRegister, los valores iniciales se calculan en la función setTable(), ¡¡ cuidado con esto !!.

¿Para qué sirve la función de campo getID()?

    • ¿Qué sentido tiene la función GetID() si devuelve el mismo ID que uso para llamarla?
    • Pues nos permite refactorizar los nombres de campo de una tabla cuando éstos son renombrados
      Por ejemplo:
      Hay que pasar a una función un string con los nombres de campo separados por comas.
      Si renombramos los campos AUTOR, CSS_FINAL o NOTAS, la aplicación seguirá funcionando correctamente.
Set (CLISTA_CAMPOS, "ID,NAME," + #AUTOR:getID() + "," + #CSS_FINAL:getID()  + "," + #NOTAS:getID()

Podemos usar el control Combobox en formularios sin Origen

    • El control combobox del formulario es muy cómodo de usar para el usuario si va a seleccionar de una lista corta, entre otras cosas, porque la lista se despliega directamente al pulsar con el ratón.
    • A veces tenemos un formulario sin origen y necesitamos desplegar los valores de una tabla maestra.
    • Una técnica habitual es crear una tabla temporal con todos los punteros a maestro que vayamos a usar en controles de selección
    • En el formulario sin origen añadimos una Ficha de Extensión FIEXT que se alimente por proceso, Alta, Baja y Modificación estarán a cero.
Crear nueva ficha en memoria (hMaestros, MAESTROS_TEMP@MiApp_app)
        Añadir ficha a la salida
    • Añadimos el control combobox y lo asociamos al campo puntero a maestro de la Ficha de Extensión FIEXT.
    • Ya sabemos que el valor seleccionado en el Combobox se lee mediante ##FIEXT.EMPRESA.ID.

Podemos personalizar los Gráficos nativos con CSS

    • El nuevo gráfico de Velneo es un control nativo LifeIsSoft y por lo tanto desesperadamente poco personalizable.
    • Sin embargo, teniendo en cuenta que los Títulos y Etiquetas son objetos Label de Qt, podemos usar tags HTML y código CSS.

Veamos 2 ejemplos que puedes probar en la aplicación del cloud vatp://pruebas:pruebas@c6.velneo.com:16400/0PS__MisCSS_iapp:

/* Gráfico nativo */
/* No existe selector de clase
Aunque podemos usar los tags HTML y código CSS en los Títulos y etiquetas del Gráfico
Pero limitados al subconjunto de HTML4 - http://doc.qt.io/qt-5/richtext-html-subset.html */

/* Cada etiqueta QLbel personaliza un elemento del gráfico.
Lo que hacemos es parsear el código CSS y aplicar un Atributo HTML style="font: bold 18px verdana; ...." mediante variables locales 
definidas en el Gráfico nativo que se añaden como prefijo a los Títulos y Etiquetas
*/

QLabel#GRAF_TITULO {
   font: bold 18px verdana;
   text-align: center;
   background-color: WhiteSmoke;
   color: DarkSlateGray;
   padding: 0 80 0 80;
}
QLabel#GRAF_TITULO_EJEY {
   font: bold 12px arial;
   text-align: center;
   color: DarkSlateGray;
}
QLabel#GRAF_TITULO_EJEX {
   font: bold 11px arial;
   text-align: center;
   color: DarkSlateGray;
}
QLabel#GRAF_ETIQUETAS_EJEY {
   font: bold 12px arial;
   text-align: center;
   color: DimGray;
}
QLabel#GRAF_ETIQUETAS_EJEX {
   font: bold 10px arial;
   background-color: IndianRed;
   color: Cornsilk;
   padding: 3 10 3 10;
}
QLabel#GRAF_ETIQUETAS_SERIE1 {
   font: bold 12px verdana;
   background-color: DarkGreen;
   color: HoneyDew;
   padding: 3 10 3 10;
}
QLabel#GRAF_ETIQUETAS_SERIE2 {
   font: bold 12px arial;
   color: white;
}

Las funciones CurrentDateTime() y CurrentUTCDateTime() tienen truco

    • Un día quise obtener el huso horario de vClient y como no me acordaba de la función getSysTimeZone(), hice lo siguiente:
set ( NDIF_HOR, secondsTo(currentDateTime(), currentUTCDateTime()))

Sin embargo, el resultado es cero.

    • Consultado a soporte, resulta que currentDateTime() y currentUTCDateTime() representan internamente la misma fecha, lo que ocurre es que las variables de tipo Tiempo guardan el huso horario en el que han sido creadas y Velneo no nos proporciona ese dato. Estas funciones devuelven fechas distintas en algunas operaciones y en otras actúan como valores iguales, lo que crea una gran confusión. Como muchas veces ocurre, no está documentado.
    • Así que tenerlo en cuenta:
dateTimeToTime(currentUTCDateTime()) es distinto de dateTimeToTime(currentDateTime())
dateTimeToString(currentUTCDateTime(), "hh:mm") es distinto de dateTimeToTime(currentDateTime(), "hh:mm")
pero
currentUTCDateTime() es igual a currentDateTime()
    • Si no existiera getSysTimeZone() la forma correcta de obtener el huso horario sería:
// Creamos 2 variables Tiempo nuevas a partir de información devuelta por las funciones currentDateTime y currentUTCDateTime
Set (THORA_LOCAL, setDateTime(dateTimeToDate(currentDateTime()), dateTimeToTime(currentDateTime()))
Set (THORA_UTC, setDateTime(dateTimeToDate(currentUTCDateTime()), dateTimeToTime(currentUTCDateTime()))
// Ya podemos operar con las variables Tiempo
Set (NDIF_HORARIA , secondsTo(THORA_UTC, THORA_LOCAL) / 3600)
Mensaje ("Hora local: " + dateTimeToString(currentDateTime(), "dd/MM/yyyy hh:mm") + "<br>" + 
"Hora UTC: " + dateTimeToString(currentUTCDateTime(), "dd/MM/yyyy hh:mm") + "<br>" +
"Diferencia horaria: " + numberToString(NDIF_HORARIA, "L", 0)

Los formularios del Bloc de Formularios no ejecutan el evento PRE_INI

    • Los formularios pueden ser los contenedores de los registros en algunos controles de Vista de datos de tipo Lista como el Bloc de formularios.
    • En este caso hay que tener en cuenta lo siguiente:
      • El evento Pre-inizialización del formulario solo se ejecutará cuando se muestra el Bloc de formularios, es decir, solo se ejecuta para el formulario mostrado en ese momento. Cuando navegamos por la Lista de registros no se dispara este evento.
      • Aparece un evento Item: pre cambio de seleccionado que funciona al contrario que el evento Pre-inizialización. En este caso se ejecuta solo cuando navegamos por la LIsta de registros.
      • En el Bloc de formularios no podemos usar en el manejador PRE_INI código que dependa del registro de la tabla, sobre todo el código que determina el nivel de acceso del Usuario a los registros. 

Y ahora confiesa… ¿cuántas de estas curiosidades sobre gráficos, rejillas y funciones sabías? 

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

La entrada Sabías que … (5) aparece primero en AyudaVelneo.

Tagged , , , , , , , , | Comments Off on Sabías que … (5)

Sabías que … (5)

Nuestro “Papá Noel” Particular nos ha regalado una nueva entrega  “Sabías que“. En este post veremos curiosidades sobre funciones, contenidos iniciales, rejillas y personalización de gráficos nativos mediante CSS.

Por si te perdiste las cuatro primeras entregas del “juego”, no está de mas recordarlas:

¿Sabías que..?

Si no te fijas bien, la función getStringRegExp() te puede jugar una mala pasada

    • La función de cadena getStringRegExp(cadena, expresionRegular, posIni, caseSensitive, numSubExpresion) recibe como expresión regular una cadena.
    • En las expresiones regulares se usan metacaracteres, algunos de los cuales deben escaparse y ¿cuál es el caracter de escape?, pues precisamente el caracter \.
    • Por lo tanto, en Velneo debemos escapar los metacaracteres con doble caracter \ para que funcione correctamente la función getStringRegExp

Un ejemplo para obtener el código a la derecha de la palabra Informe:
 getStringRegExp(“Informe  233421122”, “Informe (\\d{1,}$)”, 0, 0, 1)  = 233421122

    • Cuando copiéis expresiones regulares de Internet, prestad atención a estos detalles, o padeceréis horas de desconcierto

Podemos recorrer los controles de una Caja de grupo (QGroupBox) para aplicar una determinada acción

    • El API de Velneo es una herramienta muy útil y este es un ejemplo de ello.
    • La clase QGroupBox (control caja de Grupo) dispone de 2 funciones, childWidgetAt(nIndex) y childWidget(nCount), que nos permiten recorrer todos los controles contenidos en la caja de grupo.
    • La función childWidgetAt devuelve un objeto Widget al que podremos aplicar una determinada acción.

Se puede establecer el tiempo que se muestran los caracteres en las cajas de edición que tienen la propiedad Contraseña activada

    • Debemos usar un par de propiedades CSS, lineedit-password-character y lineedit-password-mask-delay
    • La propiedad CSS lineedit-password-character determina código UNICODE elegido para ocultar la contraseña.
      Ejem:  ● 9679  * 42
    • La propiedad CSS lineedit-password-mask-delay establece el retardo en milisegundos
QLineEdit { 
   lineedit-password-character: 9679;
   lineedit-password-mask-delay: 300;
}

La columna de la rejilla puede mostrar directamente un icono

    • Si solo deseamos mostrar un icono en la columna de un rejilla no es necesario hacerlo en la parte reservada para ello.
    • Podemos hacerlo en la zona reservada para el contenido de la columna.
    • El editor de fórmulas no nos dejará insertar, por ejemplo, el campo ICONO de la tabla estática. Lo tecleamos manualmente.
      #BLOQUEADO_ICO.ICON

¿En qué plano se determinan los valores iniciales de los campos de la tabla?

    • El plano donde se ejecuta el comando Crear nueva ficha en memoria es en el que se determinan los valores iniciales.
    • Si queremos que siempre se determinen en 3P tendremos que calcular el valor inicial en el Trigger anterior al Alta.
    • En el API con el VRegister, los valores iniciales se calculan en la función setTable(), ¡¡ cuidado con esto !!.

¿Para qué sirve la función de campo getID()?

    • ¿Qué sentido tiene la función GetID() si devuelve el mismo ID que uso para llamarla?
    • Pues nos permite refactorizar los nombres de campo de una tabla cuando éstos son renombrados
      Por ejemplo:
      Hay que pasar a una función un string con los nombres de campo separados por comas.
      Si renombramos los campos AUTOR, CSS_FINAL o NOTAS, la aplicación seguirá funcionando correctamente.
Set (CLISTA_CAMPOS, "ID,NAME," + #AUTOR:getID() + "," + #CSS_FINAL:getID()  + "," + #NOTAS:getID()

Podemos usar el control Combobox en formularios sin Origen

    • El control combobox del formulario es muy cómodo de usar para el usuario si va a seleccionar de una lista corta, entre otras cosas, porque la lista se despliega directamente al pulsar con el ratón.
    • A veces tenemos un formulario sin origen y necesitamos desplegar los valores de una tabla maestra.
    • Una técnica habitual es crear una tabla temporal con todos los punteros a maestro que vayamos a usar en controles de selección
    • En el formulario sin origen añadimos una Ficha de Extensión FIEXT que se alimente por proceso, Alta, Baja y Modificación estarán a cero.
Crear nueva ficha en memoria (hMaestros, MAESTROS_TEMP@MiApp_app)
        Añadir ficha a la salida
    • Añadimos el control combobox y lo asociamos al campo puntero a maestro de la Ficha de Extensión FIEXT.
    • Ya sabemos que el valor seleccionado en el Combobox se lee mediante ##FIEXT.EMPRESA.ID.

Podemos personalizar los Gráficos nativos con CSS

    • El nuevo gráfico de Velneo es un control nativo LifeIsSoft y por lo tanto desesperadamente poco personalizable.
    • Sin embargo, teniendo en cuenta que los Títulos y Etiquetas son objetos Label de Qt, podemos usar tags HTML y código CSS.

Veamos 2 ejemplos que puedes probar en la aplicación del cloud vatp://pruebas:pruebas@c6.velneo.com:16400/0PS__MisCSS_iapp:

/* Gráfico nativo */
/* No existe selector de clase
Aunque podemos usar los tags HTML y código CSS en los Títulos y etiquetas del Gráfico
Pero limitados al subconjunto de HTML4 - http://doc.qt.io/qt-5/richtext-html-subset.html */

/* Cada etiqueta QLbel personaliza un elemento del gráfico.
Lo que hacemos es parsear el código CSS y aplicar un Atributo HTML style="font: bold 18px verdana; ...." mediante variables locales 
definidas en el Gráfico nativo que se añaden como prefijo a los Títulos y Etiquetas
*/

QLabel#GRAF_TITULO {
   font: bold 18px verdana;
   text-align: center;
   background-color: WhiteSmoke;
   color: DarkSlateGray;
   padding: 0 80 0 80;
}
QLabel#GRAF_TITULO_EJEY {
   font: bold 12px arial;
   text-align: center;
   color: DarkSlateGray;
}
QLabel#GRAF_TITULO_EJEX {
   font: bold 11px arial;
   text-align: center;
   color: DarkSlateGray;
}
QLabel#GRAF_ETIQUETAS_EJEY {
   font: bold 12px arial;
   text-align: center;
   color: DimGray;
}
QLabel#GRAF_ETIQUETAS_EJEX {
   font: bold 10px arial;
   background-color: IndianRed;
   color: Cornsilk;
   padding: 3 10 3 10;
}
QLabel#GRAF_ETIQUETAS_SERIE1 {
   font: bold 12px verdana;
   background-color: DarkGreen;
   color: HoneyDew;
   padding: 3 10 3 10;
}
QLabel#GRAF_ETIQUETAS_SERIE2 {
   font: bold 12px arial;
   color: white;
}

Las funciones CurrentDateTime() y CurrentUTCDateTime() tienen truco

    • Un día quise obtener el huso horario de vClient y como no me acordaba de la función getSysTimeZone(), hice lo siguiente:
set ( NDIF_HOR, secondsTo(currentDateTime(), currentUTCDateTime()))

Sin embargo, el resultado es cero.

    • Consultado a soporte, resulta que currentDateTime() y currentUTCDateTime() representan internamente la misma fecha, lo que ocurre es que las variables de tipo Tiempo guardan el huso horario en el que han sido creadas y Velneo no nos proporciona ese dato. Estas funciones devuelven fechas distintas en algunas operaciones y en otras actúan como valores iguales, lo que crea una gran confusión. Como muchas veces ocurre, no está documentado.
    • Así que tenerlo en cuenta:
dateTimeToTime(currentUTCDateTime()) es distinto de dateTimeToTime(currentDateTime())
dateTimeToString(currentUTCDateTime(), "hh:mm") es distinto de dateTimeToTime(currentDateTime(), "hh:mm")
pero
currentUTCDateTime() es igual a currentDateTime()
    • Si no existiera getSysTimeZone() la forma correcta de obtener el huso horario sería:
// Creamos 2 variables Tiempo nuevas a partir de información devuelta por las funciones currentDateTime y currentUTCDateTime
Set (THORA_LOCAL, setDateTime(dateTimeToDate(currentDateTime()), dateTimeToTime(currentDateTime()))
Set (THORA_UTC, setDateTime(dateTimeToDate(currentUTCDateTime()), dateTimeToTime(currentUTCDateTime()))
// Ya podemos operar con las variables Tiempo
Set (NDIF_HORARIA , secondsTo(THORA_UTC, THORA_LOCAL) / 3600)
Mensaje ("Hora local: " + dateTimeToString(currentDateTime(), "dd/MM/yyyy hh:mm") + "<br>" + 
"Hora UTC: " + dateTimeToString(currentUTCDateTime(), "dd/MM/yyyy hh:mm") + "<br>" +
"Diferencia horaria: " + numberToString(NDIF_HORARIA, "L", 0)

Los formularios del Bloc de Formularios no ejecutan el evento PRE_INI

    • Los formularios pueden ser los contenedores de los registros en algunos controles de Vista de datos de tipo Lista como el Bloc de formularios.
    • En este caso hay que tener en cuenta lo siguiente:
      • El evento Pre-inizialización del formulario solo se ejecutará cuando se muestra el Bloc de formularios, es decir, solo se ejecuta para el formulario mostrado en ese momento. Cuando navegamos por la Lista de registros no se dispara este evento.
      • Aparece un evento Item: pre cambio de seleccionado que funciona al contrario que el evento Pre-inizialización. En este caso se ejecuta solo cuando navegamos por la LIsta de registros.
      • En el Bloc de formularios no podemos usar en el manejador PRE_INI código que dependa del registro de la tabla, sobre todo el código que determina el nivel de acceso del Usuario a los registros. 

Y ahora confiesa… ¿cuántas de estas curiosidades sobre gráficos, rejillas y funciones sabías? 

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

La entrada Sabías que … (5) aparece primero en AyudaVelneo.

Tagged , , , , , , , , | Comments Off on Sabías que … (5)

Un bug anda suelto

Uno de los objetivos de nuestros productos es que sean estables, que sean fiables. Intentamos que cada cambio realizado en el producto, en el código fuente, no rompa, no estropea nada. Es vital para todos nosotros que cada usuario disfrute de mejoras y no de disgustos.

En este post voy a intentar explicar como en la última versión velneo 22 un hábil bug ha podido escaparse de todas las barreras de defensa que tenemos.

Barrera 1 – El programador

Un buen desarrollador con años de experiencia comete menos errores, el código que realiza se protege de los bugs. Aunque en algunos casos se ve como el “culpable” de introducir el bug, también es el “culpable” de crear el producto. Si no se toca código es difícil añadir bugs.

Barrera 2 – En la integración continua

Dentro de la integración continua se pueden usar diferentes sistemas para detectar bugs ( Pruebas unitarias, pruebas funcionales, análisis estáticos de código, etc )
Es muy útil tener todas estas pruebas automáticas que detectan fallos de desarrollo y nos da garantías de que los cambios subidos no rompen nada.
En Velneo contamos con la herramienta interna “vEst” que es una aplicación que ejecuta la mayoría de las funciones de Velneo cada vez que un programador toca una línea de código. Vienen a ser unos 2.000 test que prueban base de datos, objetos, procesos, javascript, etc.

Cada día intentamos añadir más tests para poder comprobar el mayor porcentaje de funcionalidades de la plataforma en todos los sistemas operativos (Win, Lin, Mac, iOS, Android)

Barrera 3 – En el equipo de desarrollo

Ya sea por revisión por pares o por programación por parejas, se pueden detectar los bugs antes de que el código salga del departamento de desarrollo.
Actualmente todos los programadores invierten un valioso tiempo en revisar y compartir los cambios de los compañeros. Es vital poner toda la atención posible para descubrir si algún bug paso las dos primeras barreras. En este caso el bug de la versión 22 paso delante de mis ojos y no fui capaz de verlo 🙁

Barrera 4 – En el departamento de pruebas

Todos las incidencias, tienen que ser “cerradas” por el equipo de pruebas o la persona que ha introducido la necesidad/incidencia. Al mismo tiempo se prueban las novedades sobre aplicaciones estándar para ver si funciona correctamente. Un buen tiempo dedicado a probar que todo funciona bien y sin cambios, puede detectar bugs que han llegado a esta barrera.

Barrera 5 – Los betatesters

Si el bug no se ha encontrado dentro de los equipos de desarrollo y pruebas, el producto con el error llega al betatester. Es importante que el betatesters invierta tiempo en probar las novedades y cambios y que actúe casi como un usuario final. En algunos casos intentamos poner esta versión en producción, para poder darle una garantía de prueba real.

 

Si el bug ha pasado todas estas barreras, ha llegado al cliente, posiblemente el coste es ya muy alto. Comunicaciones, revisiones, emails, disculpas, mala imagen, inestabilidad, etc.

Cada vez que un bug salta todas las barreras, intentamos analizar como pudo pasar por cada barrera, para dar un punto de mejora y evitar que pasen más en el futuro.

 

Este artículo Un bug anda suelto es original de Velneo.

Tagged , , , , , , | Comments Off on Un bug anda suelto

Cómo hacer software de gestión en español

¿Cómo hacer software de gestión y administración empresarial y no desesperarse en el intento?

Bien, lo primero de todo repasemos los principales miedos a los que nos enfrentamos a la hora de saber cómo podemos hacer programas de gestión y administración empresarial:

Cómo hacer software de gestión sin saber programación

  • No soy un experto en programación ágil, ni tengo tiempo o ganas de aprender, soy un empresario o un autónomo que gestiona su negocio pero no sé de programación ágil ni tengo motivación por aprender.
  • ¿Cómo puedo crear software de gestión y administración empresarial sin saber código de programación de bajo nivel o informática en inglés?
  • No sé cómo hacer aplicaciones de gestión y administración empresarial, cómo o por dónde empezar: cuales son los básicos, las necesidades legales o las funcionalidades estándar de estas aplicaciones en el sector.

Índice

  1. Cómo crear programas de gestión en español desde el punto de vista del lenguaje de programación
  2. Cómo programar software de gestión en español desde el punto de vista del idioma
  3. Cómo programar aplicaciones de gestión y administración empresarial en español

Cómo crear programas de gestión en español desde el punto de vista del lenguaje de programación

Para responder a la primera de las preguntas y saber cómo desarrollar software de gestión, lo primero que tenemos que tener claro es que no es imprescindible saber programación de bajo nivel ni tener que escribir código informático muy especializado para la mayoría de necesidades. Para saber cómo desarrollar software de administración empresarial estándar lo que seguramente nadie nos ha contado todavía es que no es necesario que nosotros desarrollemos nuestros propios programas de gestión de manera completa, pues ya existen en el mercado a día de hoy cientos o miles de programas y aplicaciones que cumplen esta función. Por lo tanto lo más apropiado sería investigar estas opciones para ver si alguna encaja con nuestras necesidades.

Es decir y siguiendo un ejemplo, si queremos un coche o carro, tenemos dos opciones, nos lo podemos fabricar y construir nosotros mismos o bien podemos acudir a una de las muchas marcas existentes en el mercado y explorar los diferentes modelos que ya se comercializan. Imaginaros que cada personas que quisiera un coche se pusiera a fabricar el suyo propio, ¿resultaría ineficiente verdad?

Pues el el mundo de la informática y el desarrollo de software ocurre algo parecido. Claro que es posible aprender a cómo desarrollar programas de administración empresarial por nuestra propia cuenta, de la misma manera que también podríamos aprender a construir nuestra propia casa o nuestro propio coche, no obstante lo que en la mayoría de casos se está buscando es que un software, programa o aplicación resuelva nuestros problemas y necesidades para con el negocio, no necesariamente aprender nosotros mismos a realizar ese desarrollo de la aplicación desde cero.

Existen hoy día diversos tutoriales sobre cómo desarrollar aplicaciones de gestión y administración empresarial sin necesidad de saber código o programación de bajo nivel, pero nosotros solo podemos recomendarte uno: Velneo. Velneo es la perfecta alternativa a Visual Basic -una fantástica herramienta de desarrollo que muchas empresas y negocios han utilizado durante años, hasta que Microsoft decidió descontinuarla- pues también permite un desarrollo basado en la lógica de negocio de manera visual y no solo a través de código y lenguaje de programación informática.

Cómo programar software de gestión en español desde el punto de vista del idioma

Otro de los grandes miedos a la hora de enfrentarnos al tema de cómo podemos programar programas de gestión o administración reside en el idioma (no confundir con el lenguaje de programación, tratado en el punto anterior). Si hablas español o castellano, si eres hispanohablante o hispanoparlante. Si vives en España, en México, en Colombia, en Argentina, en Chile, en Uruguay, en Ecuador, en Guatemala y alguna vez has tenido necesidades relacionadas con el software de gestión empresarial, es muy probable que más de una vez te hayas hecho alguna de estas preguntas: ¿cómo puedo programar o desarrollar en español?, ¿qué plataformas o lenguajes son nativos para españoles?, ¿no sería mucho más fácil si el editor de mi aplicación estuviera en castellano?, ¿y las funciones no serían más comprensibles en español que en inglés?

Sí amigos, estas mismas preguntas nos las hemos hecho nosotros en multitud de ocasiones. Y si habéis llegado hasta aquí buscando un programa para crear programas en español, estáis de enhorabuena, porque Velneo es una plataforma nativa en español que te permite precisamente eso. Olvídate de complejas herramientas y funciones en otro idioma, que nos obligan a consultar documentaciones, también en inglés, que convierten la tarea en algo arduo y nada gratificante.

¿Has probado alguna vez a crear programas sin código de bajo nivel y en español? Te sorprendería lo natural que resulta respecto a otras soluciones anglosajones, pues esta plataforma está creada por personas que piensan igual que nosotros.

Bien. Ya hemos tratado el tema de la magnitud y alcance de estos softwares de gestión especializados y que no es necesario en la mayoría de los casos que desarrollemos nuestra propia aplicación o programa, si no que partiendo de uno estándar y en algunos casos personalizando de manera sencilla y en español algunas de sus características, serán completamente válidos para mejorar nuestro negocio. También hemos arrojado luz respecto a otra de las barreras: el idioma, pues seguramente muchos de vosotros no conoceríais la existencia de una plataforma y lógica de programación completamente en español, hecho por españoles para hispanohablantes.

Llegados a este punto sólo nos queda responder a la tercera pregunta, para de paso poner ejemplos de los programas y aplicaciones que aquí estamos comentando, así como de la potencia que una plataforma como Velneo brinda para estas tareas.

Cómo programar aplicaciones de gestión y administración empresarial en español

Como hemos comentado en este artículo, la gran mayoría de empresas, autónomos y profesionales tienen las siguientes necesidades en lo que a informatización y modernización de sus operativas necesitan, esto es a saber:

  • Un programa que cubra las operativas de su negocio a nivel de clientes y proveedores, facturas,
    almacén y logística. Y que no sea un lío, que no tengan que programar ni saber ni aprender código.
  • Que para aquellos pequeños cambios y personalizaciones a realizar en el software, programa o aplicación de gestión empresarial que han seleccionado, puedan hacerlo en su idioma (español) y de una manera lógica y natural (no a través de complicados códigos de programación).
  • Si todo ello puede venir integrado en un mismo programa y personalizarse de manera sencilla y ágil, mejor que mejor.

¿Qué software de gestión empresarial es el más demandado por la mayoría de profesionales?

Pues se trata de un ERP, siglas en inglés de Enterprise Resource Planning (Planificación de Recursos Empresariales). Disponer de un ERP para un negocio simplifica enormemente muchas tareas administrativas, operativas y legales, permitiendo así que la empresa o le negocio funcionen de manera mucho más ágil y rentable.

En Velneo además de disponer de una plataforma en español, también disponemos de un ERP en español llamado vERP.

vERP combina toda las ventajas que hemos venido describiendo y comentando en este artículo. Se trata de un programa o aplicación informático para la gestión de empresas. Es un completo software de gestión empresarial diseñado y programado completamente en español para cubrir las necesidades de cualquier empresa o negocio. Es altamente personalizable, por lo que podrás adaptarlo a las necesidades de cualquier empresa de manera rápida y sencilla. Cuenta con múltiple documentación y ejemplos para ello y todo, absolutamente todo en español: cursos, manuales, seminarios, vídeotutoriales, guías, foros, soporte. Sí, todo en español, creado por una empresa española para el público hispano.

Ahora, si te estás preguntando en qué sistemas operativos funcionan Velneo y vERP, no lo hemos comentado porque esto es secundario, al funcionar en los principales sistemas operativos: Windows, Mac, Linux, dispositivos móviles. Pero también en cloud, por supuesto.

Pero la cosa no termina ahí, vERP, el ERP de Velneo además de ser un completo programa con el que podrás mejorar la gestión de cualquier negocio, funciona a modo de tetris en el que podrás conectar otros programas que le doten de mayores funcionalidades como puede ser la gestión contable o la facturación electrónica… y sí, antes de que lo preguntes, todo en español, absolutamente todo.

Ahora que sabes todo esto ¿a qué estás esperando para comenzar a crear programas de gestión para tus empresas y a especializarte en la implantación y venderlos para otros?

Si quieres profundizar en Velneo, en cómo es su plataforma o entorno de desarrollo, cual es su filosofía y metodología de desarrollo y todo lo que te puede aportar, recientemente desde el canal de Programación Fácil de YouTube han publicado un vídeo muy interesante sobre qué es Velneo y cómo empezar que compartimos aquí con vosotros:

Este artículo Cómo hacer software de gestión en español es original de Velneo.

Tagged , , , , , , | Comments Off on Cómo hacer software de gestión en español

Héctor Valladares, nuevo Técnico de Sistemas Internos

Se acaba de incorporar a la familia un nuevo compañero: Héctor Valladares

Héctor se integra en el equipo de Tecnología, donde se responsabilizará del área de sistemas.

Héctor tenía muchas ganas de trabajar con nosotros, y nos ha conquistado.

Nos ha gustado mucho su actitud hacia el aprendizaje continuo, su honestidad, su talante, su espíritu de entrega… y nos lo ha demostrado con ejemplos y anécdotas de todo tipo.

Desde luego, su experiencia profesional, desde ser autónomo hasta responsable de una gran infraestructura de sistemas, le capacitan con polivalencia para las diferentes funciones y retos a los que se enfrentará, entre ellos reforzar la infraestructura de Velneo Cloud.

Y entre otras muchas competencias, conoce entornos Linux, ha implementado Google Apps, y tiene experiencia de desarrollo en Velneo…, de hecho Héctor es conocido en la comunidad Velneo… ¡En fin, estamos encantados de incorporar a un nuevo crack!

Sentimos que incorporamos a un gran profesional, y también a una gran persona, desde el primer momento lo identificamos como una alguien muy afín a nuestra cultura. Todas las personas que han tratado con él en el proceso de selección lo han transmitido así.

¡Bienvenido, Héctor!

Este artículo Héctor Valladares, nuevo Técnico de Sistemas Internos es original de Velneo.

Tagged , , , , , , | Comments Off on Héctor Valladares, nuevo Técnico de Sistemas Internos

Cuando un desarrollador dice: “Eso no se puede hacer…”

La visión de las cosas del programador

Es difícil para los no programadores, entender cuán complejo puede ser el desarrollo de software. Sólo tienes que decirle al al ordenador qué hacer, ¿verdad? ¿Qué tan difícil es eso?

Bueno, es engañosamente difícil, porque el ordenador carece completamente de lo que los teóricos han descrito como un marco de conocimiento. Por ejemplo, puedo pedirle que haga algo simple, como “tráeme un bocadillo de jamón”. Puedes intuir rápidamente que yo en realidad lo que quiero decir es “vete a la cocina,” haz un bocadillo de jamón, y tráemelo “o”vete a la bocatería, pídeme un sándwich de jamón, y me lo traes” basado en el contexto en el que físicamente estamos y lo que ha sucedido las últimas veces que esa misma petición se ha realizado.

Se puede intuir, en el caso del escenario de ir a la cocina, que hay que ir a la nevera, encontrar el jamón, el queso cheddar blanco (porque sabes que me gusta, y no el americano), la mostaza Djion (porque sabes que me gusta en el bocadillo de jamón y no la mayonesa) , encontrar una barra de pan, montar todo el asunto, guardar los ingredientes de nuevo en la nevera, averiguar dónde están los platos, emplatarlo, y traerlo. Y si eres muy observador, notarás que me estoy saltando un mogollón de pasos como saber cuánta mostaza a utilizar, sacarle la envoltura plástica al queso, cuánto jamón entra en un bocadillo estándar de jamón, qué es en realidad un bocadillo, y si nos ponemos qué es el “jamón”…

Cuando te sientas a programar no te puedes saltar ni uno de esos pasos minúsculos. Si no se especifican detalladamente los pequeños pasos aparentemente microscópicos que son intuitivamente obvios para ti, como ser humano, que vives en un mundo lleno de contextos y matices, el ordenador hace lo incorrecto, o falla, o a veces las dos cosas.

Un poco de empatía a la hora de hacer peticiones

Como no programador, probablemente le estés diciendo a los programadores que están trabajando en un software cosas del estilo: “¿puedes hacer que esa ventana sea más grande?” o “dirigirte al usuario por su nombre de pila” o “deja que el usuario publique eso en su página de Facebook” o cosas vagas e indeterminadas del estilo, en un contexto de una gran variedad de cosas de las que el ordenador “no sabe” absolutamente nada.

Para ti es intuitivo, y parece muy fácil…. entonces, ¿Cuál es el problema?

El problema está en que los programadores con este tipo de tareas tienen que manejar diferentes capas de complejidad. Hoy en día, hay que dar por hecho que no han escrito todo el código con el que trabajan ellos mismos, han usado una librería (trozos de código escrito por otra persona para solucionar problemas muy comunes) proporcionada por un tercero, para hacer todo el trabajo “gordo”. Normalmente esto implica usar más de una librería, ya que hay muchos tipos de dependencias e interdependencias.

Así que cuando le dices a un desarrollador: “deja que los usuarios posteen en Facebook”, tienes que tener en cuenta que van a esccuchar tu pertición y van a pensar “eh, claro, eso se puede hacer más o menos de forma sencilla quizás, creo que tenemos su información de Facebook en una base de datos por aquí, creo que tenemos las librerías apropiadas para eso aquí, sí, se puede hacer fácilmente”, lo que conduce a hacer una estimación optimista de cuanto tiempo puede tomar.

Empiezan los problemas imprevistos

Pero cuando se ponen a hacer la tarea en cuestión, los desarrolladores caen en la cuenta de que uno o más de los supuestos que habían pensado estaban equivocados, o que para usar la librería que querían usar implica que no pueden usar la versión de una librería que están usando ahora, y tienen que usar una nueva librería distinta de la versión actual, lo que implica volver a programar todo el código que hace uso de esa librería (nada de esto tiene que ver con el trabajo que tú habías solicitado, si te fijas)  y luego ponerse con la tarea encomendada, para luego darse cuenta de que algo que pensaban que podían usar ahora se ha quedado obsoleto y ahora necesitan encontrar otra librería que luego tienen que volver a valorar para ver si es compatible con el código que tienen montado ahora…

Todo este proceso se va haciendo cada vez más complejo en el momento en que un supuesto mal asentado de base resulta ser equivocado. Al principio todos los supuestos parecen tener lógica y aparentemente están bien planteados, pero cuando te metes a programar es cuando puedes aseverar al 100% que todo va a salir según lo previsto.

La técnica del descargo de la responsabilidad

Los mejores programadores con los que he trabajado empiezan a establecer sus previsiones y estimaciones de tiempo de trabajo en torno a fórmulas de descargo de responsabilidad del tipo: “si damos por cierto X, entonces…” 0 “si algo no funciona como está documentado…” y cosas parecidas. Saben, por experiencia, que siempre hay algo escondido, al acecho, en las profundidades como un oso polar que sorprende a la foca para devorarla. Y por ello preparan al cliente que les paga las aplicaciones en consecuencia, mentalizándolo de que estas cosas suelen pasar de forma inevitable.

Los programadores menos experimentados, llenos de confianza en si mismos tanto a la hora de programar, como a la hora de pensar que saben todo lo que tiene que hacerse y dando a entender que lo tienen todo bajo control, son menos cautos y caen en el “sí, claro, eso me toma una semana”. Pues aveces sí, tienen algo de presupuesto y pueden tapar los problemas que surgen de temas inesperados, pero muchas otras veces no, y se meten en un problemón con el cliente y con la empresa para la que trabajan.

Conclusión: hay que saber traducir lo que dice un programador

Conclusión, hay que saber traducir. Si un programador dice “eso no se puede hacer”, casi siempre lo que quiere decir es “ni de broma voy a poder hacer eso dado que mi forma de percibir intuitivamente las limitaciones operativas reales con las que me tengo que desenvolver en la empresa, y es tan difícil explicarte todo esto, que me va a explotar la cabeza. Vete. Lejos.”

Si eres el jefe de proyectos y recibes muchos “eso no se puede hacer”, es hora de volver a evaluar no solo tus expectativas, sino el entorno de trabajo en el que están los programadores a tu cargo. No hay suficientes, no tienen suficientes recursos, les estás exigiendo demasiado en cosas que no les permite avanzar en tareas fundamentales -algo está fallando…

En vez de poner cara de frustración e incredulidad, enfoca el asunto con un “Vale, ¿y que podemos hacer para que esto sea posible de hacer?”. Llegarás mucho más lejos, y con un poco de suerte podrás corregir la deriva de un barco que va hacia el naufragio.

Nota: este texto es de Stan Hanks, ingeniero de software, y lo publicó originariamente en Quora.

 

 

 

Este artículo Cuando un desarrollador dice: “Eso no se puede hacer…” es original de Velneo.

Tagged , , , , , , , | Comments Off on Cuando un desarrollador dice: “Eso no se puede hacer…”

¿Qué hace un desarrollador profesional de aplicaciones empresariales?

desarrollo de aplicaciones empresariales

Introducción

¿Qué significa desarrollar aplicaciones empresariales de manera profesional? ¿Una página web es una aplicación empresarial? ¿Quién desarrolla profesionalmente aplicaciones empresariales? ¿Cuáles son las aplicaciones empresariales más comunes en todas las empresas? ¿Es lo mismo que el software de gestión empresarial?
Para muchos de vosotros todas estas preguntas serán tan obvias que no necesitan respuesta. Sin embargo, a la hora de sentarse a definir el concepto y escribir sobre ello descubrimos que las respuestas no san tan fáciles como intuimos que son. ¿Qué es el desarrollo profesional de aplicaciones empresariales?

¿Cómo definir el concepto de aplicación empresarial?

Para empezar por algún sitio podemos afirmar lo siguiente: el software empresarial, o software de aplicaciones empresariales, es un software diseñado específicamente para satisfacer las necesidades de una organización en lugar de usuarios individuales.
Esta primera distinción es muy importante: ¿desarrollas aplicaciones para ayudar a la gestión de por ejemplo, una tienda, un almacén, un restaurante, un hospital o un colegio? ¿O por el contrario programas software para usuarios individuales, como por ejemplo, videojuegos, apps móviles de ocio, multimedia?

Las aplicaciones empresariales pueden usarse en la empresa privada, pero también en otro tipo de organizaciones que necesitan software de gestión de datos como, escuelas, clubes deportivos, hospitales, gobiernos, el ejército o las fuerzas del orden, por citar unas cuantas.

Las aplicaciones empresariales son típicamente herramientas orientadas al negocio y pueden ser de muchos tipos:

  • sistemas compras  y procesamiento de pagos online,
  • bases de datos con catálogos de productos interactivos,
  • sistemas automatizados de facturación,
  • sistemas de seguridad,
  • programas de administración de contenido empresarial,
  • software para la administración de servicios de TI,
  • CRMs para administración de relaciones con los clientes,
  • ERPs para la planificación de recursos empresariales,
  • sistemas de inteligencia de negocios,
  • software para administración y gestión de proyectos,
  • herramientas de colaboración empresarial, s
  • sistemas para la administración de recursos humanos,
  • sistemas inteligentes de producción y fabricación,
  • software para la integración de aplicaciones empresariales
  • y una larga lista de aplicaciones que tiende a infinito…

Como las empresas tienen departamentos y sistemas similares en común, el software empresarial a menudo está disponible como un conjunto de programas personalizables. Y es que en general, la complejidad de estas herramientas requiere capacidades especializadas y conocimientos específicos de cada sector o de cada tipo de actividad.

Por ejemplo, puedes tener una plantilla de ERP que tiene módulos comunes para diferentes empresas, pero que también permite la programar personalizaciones y cosas a medida para cubrir las necesidades específicas de un cliente.

¿Qué tipo de aplicaciones empresariales usan las empresas?

Las aplicaciones de software empresarial están diseñados específicamente para ayudar a los negocios a funcionar mejor, facilitando las tareas y optimizando los recursos, mejorando especialmente la relación productividad trabajador/tiempo. Ocupan el espacio de aquellas tareas arduas y repetitivas que antiguamente se hacían a mano y con papel.

Las aplicaciones de negocio ayudan a organizar los datos y los recursos de forma relevante, contextual y sencilla, tareas que por si mismas que no añaden valor a las empresas, pero que consumen mucho tiempo si se hacen a mano. Haciendo un buen uso de las aplicaciones empresariales, podemos centrarnos en las funciones de negocio base, las que en verdad nos diferencian de la competencia y nos hacen ganar dinero.

Por ejemplo, si mi cliente tiene una fábrica de tornillos, y sus tornillos son el negocio base, no debe perder tiempo imputando facturas a mano, ni controlando el stock a mano, ya que puede introducir un software ERP que le facilita enormemente esta tarea y le permite dedicar más tiempo en centrarse en la mejora de los procesos productivos, que es el factor diferencial de su empresa.

Los desarrolladores profesionales de software empresarial hacen dichas aplicaciones para empresas. ¿Pero qué tipo aplicaciones son? Si alguna vez te has preguntado qué es lo que la gran mayoría de las empresas tienen en su caja de herramientas de software, entonces esta lista te puede interesar:

  • Suites ofimáticas: en todas las oficinas se usa software de ofimática para cosas como procesamiento de textos, software de presentación, servicios de correo electrónico y hojas de cálculo. Para la mayoría de las empresas, utilizan un producto como Microsoft Office 365 o Google G Suite. Este tipo de aplicaciones no necesitan ser programadas para ajustarse a las necesidades de los clientes. Tienen opciones de configuración para que el usuario las pueda adaptar, pero no se personalizan via desarrollo por lo general.
  • Software de Gestión de Inventario: el seguimiento del inventario dentro de una empresa es esencial para cualquier negocio que ofrece productos físicos. Los sistemas de gestión de inventario pueden realizar un seguimiento que va desde proveedores, productos en tránsito, almacén, hasta la entrega al cliente, y permite que los productos sean rastreados fácilmente y que no desaparezcan o se pierdan sin ser contabilizados. No todas las empresas gestionan el inventario de la misma manera, y en este sentido muchas empresas necesitan a un desarrollador para programar un software de gestión de inventario personalizado, hecho a la medida de la empresa. Estas funcionalidades suelen ir integrados en un aplicación más grande de gestión, en programas como un ERP.
  • Software de Facturación: un programa de facturación es, fundamentalmente, un software de gestión de facturas de ventas y compras, así como otros documentos acreditativos de una transacción comercial. Toda actividad económica de un autónomo o empresa ha de estar documentada, tanto por motivos fiscales como contables. El documento legal y justificativo de todo intercambio de bienes y servicios es la factura. La facturación puede variar de país a país, pero los conceptos son los mismos con diferentes nombres. Puede requerir algún grado de personalización y suele ir integrado dentro de un software más grande como un ERP.
  • Software de Gestión de Nóminas: el software de nóminas es imprescindible en todas las empresas. Un buen programa de nóminas se encarga de controlar o registrar todo lo relacionado con las nóminas de los trabajadores permitiendo reducir las cargas excesivas de trabajo y disminuir errores, considerando la legislación fiscal y laboral vigente del país incluyendo los cálculos de impuestos locales y retención de los mismos. No necesita mucha personalización a nivel de programación, pero si debe poder  ser configurable por los usuarios.
  • Software para Informes: todas las empresas necesitan obtener informes de forma periódica sobre diferentes aspectos empresariales, ya sea para las reuniones semanales del equipo de trabajo, para sacar información financiera de cada ejercicio, de ventas, etc… El software para informes permite que la información se pueda obtener de forma sencilla y con la misma presentación y estructura de manera reiterada en el tiempo. Este tipo de software muchas veces depende de integraciones con otras bases de datos de donde se extrae la información y casi siempre requiere de la mano de un desarrollador profesional. Hoy en día cada el software empresarial por defecto ya incluye algún módulo para obtener informes estándar.
  • Software para la Gestión de la Productividad de los Empleados: puede ser difícil juzgar la efectividad de los empleados si no se hace un seguimiento adecuado. Una aplicación de informes enfocada en KPIs permitirá a la administración realizar comprobaciones de los empleados a lo largo de su trayectoria en la empresa para asegurarse de que están cumpliendo metas y también para tratar de identificar cuándo ciertos puestos pueden necesitar ayuda adicional o intervención en el desempeño. Este tipo de aplicaciones necesita siempre algún grado de personalización o desarrollo a medida para adaptarse perfectamente a la casuística de cada empresa y de cada puesto de trabajo.
  • Software de Cuadros de Mando: es un tipo de aplicación relativamente nuevo, a menudo con una interfaz basada en Web, y que muestra información de la empresa en son paneles muy visuales. Un cuadro de mandos reúne información de diferentes aplicaciones empresariales en un único punto de lanzamiento, para facilitar el acceso, y mostrar información clave de la empresa que ayuda en la toma de decisiones y que da señales de alarma cuando algo no funciona como es debido. Por ejemplo, un tablero de datos para ayudar a los empleados a encontrar la información de la gestión de stocks. Este tipo de software siempre requiere una adaptación a las necesidades reales de cada empresa, ya que los factores claves deben definirse para cada organización.
  • Software CRM para la Gestión Comercial: Las siglas CRM o Customer Relationship Management hacen referencia a un software que permite a las empresas rastrear cada interacción con los clientes, tanto actuales como futuros. Aunque las capacidades del software pueden varias en función del, al software en sí por lo general se le conoce como CRM. Hoy en día los CRM se están especializando en las diferentes áreas de gestión de clientes. Cada vez hay más software centrados en la venta a clientes nuevos y no tanto en la gestión de la cartera actual, que se gestiona por otros medios, por ejemplo. El trabajo de un desarrollador profesional de aplicaciones empresariales en el contexto del CRM es fundamental, ya que requiere un análisis previo de los flujos de venta de cada cliente para luego poder plasmar los procesos claves en el funcionamiento del software.
  • Software ERP para la Gestión y Planificación de Recursos: Una definición sencilla de qué es un ERP (Enterprise Resource Planning – Planificación de Recursos Empresariales) es un conjunto de sistemas de información que permite la integración de ciertas operaciones de una empresa, especialmente las que tienen que ver con la producción, la logística, el inventario, los envíos y la contabilidad. Al igual que en el punto anterior, el trabajo de un desarrollador profesional de aplicaciones empresariales en el contexto del ERP es fundamental, ya que requiere un análisis previo de los flujos de producción de cada cliente para luego poder plasmar los procesos claves en el funcionamiento del software
  • Software TPV: son parte fundamental de la venta en establecimientos físicos. El software puede ser comercial por sector (para establecimientos que venden al gran público y que suelen ser genéricos para cada tipo de negocio) o puede ser a medida, y contienen software específico para una única empresa. Suelen cumplir con todas las necesidades de los clientes ya que es un sistema a la medida. Normalmente forma parte de sistema mayor como un ERP.
  • Software de Contabilidad: el software contable registra y procesa las transacciones históricas que se generan en una empresa o actividad productiva: las funciones de compras, ventas, cuentas por cobrar, cuentas por pagar, control de inventarios, balances, producción de artículos, nóminas, etc. Suele adaptarse a las necesidades de cada cliente según la industria y el sector. Normalmente forma parte de sistema mayor como un ERP.
  • Software a Medida (no-estándar): es una aplicación vertical o aplicación de mercado vertical, es un software definido por requisitos para un único, o estrechamente definido, mercado. Esto contrasta con la aplicación horizontal. Generalmente aparece en todos los casos en donde la resolución de un problema informático no puede realizarse con una aplicación horizontal existente. Software como éste puede ser comprado cuando está disponible, o el interesado puede contratar a una empresa, consultor o programador independiente para crear desde cero o modificar un software existente y acomodarlo a sus necesidades. El software estará diseñado para un fin específico, y difícilmente pueda aplicarse en otra área sin adaptaciones previas.

¿Qué papel juega el desarrollador de aplicaciones empresariales en todo esto?

Como hemos podido comprobar hasta este punto del artículo, los desarrolladores profesionales de aplicaciones empresariales juegan un papel determinante tanto en la creación de software vertical o a medida, como en la adaptación de aplicaciones via programación. Es decir, siempre intervienen salvo en el caso de suites cerradas o en aplicaciones genéricas de código privativo que no permiten ser adaptadas.

Ahora bien, el desarrollador profesional de aplicaciones empresariales es algo diferente a un programador en sentido estricto.

El desarrollador de software suele desempeñar todas estas tareas:

  • participa en la definición del producto de software que se va a comercializar, incluyendo el análisis de los nichos de mercado al que va dirigido
  • especificaciones del software
  • el análisis de requerimientos del software
  • diseño y mejora de prototipos y de demos para validar requerimientos
  • el análisis del costo-beneficio, que incluye elegir el tipo de arquitectura y el framework que implica tener claro el presupuesto y el calendario de trabajo
  • diseño
  • programación
  • implementación
  • documentación para los usuarios del software desarrollado
  • testeo de las aplicaciones y supervisión del proceso de arranque de prueba de la aplicación
  • mantenimiento

En este sentido, los desarrolladores profesionales de software para empresas son programadores-analistas, tienen que desenvolverse bien en diferentes escenarios lejos del ordenador y con tareas no relacionadas estrictamente con la programación de código.

¿Cuál es la mejor herramienta para hacer software para empresas?

Los desarrolladores profesionales de aplicaciones empresariales necesitan disponer de plataformas de desarrollo que les permitan centrarse más en los procesos del cliente que en los procesos de programación. Las mejores herramientas para el desarrollo de software de gestión tradicionalmente han tenido mucho éxito por eso mismo, porque te permiten dedicarle más tiempo a analizar los procesos del cliente que a programar.

El desarrollo ágil de aplicaciones es otro concepto clave a la hora de hacer software para empresas. También es importante de disponer de código fuente editable del que poder partir a la hora de hacer un ERP o un TPV o una Contabilidad.

También es importante que la plataforma de desarrollo se adapte a las tendencias del mercado, que las aplicaciones hechas en esa tecnología tenga un buen rendimiento en cloud, que funcionen en diferentes dispositivos y en diferentes sistemas operativos.

Conclusión

En el campo del desarrollo de aplicaciones empresariales, un buen programa nace del trabajo que realizan los buenos desarrolladores, no de que el lenguaje o herramienta utilizada sean buenas, ya que en realidad no existen buenas o malas herramientas sino malas selecciones o usos de herramientas de forma inadecuada.

Un buen desarrollador profesional es capaz de programar un software espectacular con cualquier herramienta. Un mal programador no será capaz de desarrollar buen software con ninguna herramienta.

Lo que sí hace bueno a un desarrollador de aplicaciones empresariales es saber elegir qué herramienta es óptima para cada tipo de proyecto de software.

Este artículo ¿Qué hace un desarrollador profesional de aplicaciones empresariales? es original de Velneo.

Tagged , , , , , , , | Comments Off on ¿Qué hace un desarrollador profesional de aplicaciones empresariales?

Novedad Velneo 22: Gráficos nativos

Con la nueva versión Velneo 22 nace el nuevo objeto Gráfico, un objeto de lista que nos permite diseñar gráficos para nuestras aplicaciones en cuestión de segundos, no solo para mostrarlos en formularios, sino que podremos utilizarlos como cualquier otro objeto de lista o incluso imprimirlos. Disfruta de tus datos.

Ventajas principales:

  • Nativo
  • Fácil
  • Optimizado

En el seminario online de presentación de las novedades de la versión, Mario Conde nos mostró la increíble potencia de los gráficos nativos:

Podéis conocer la lista de novedades más destacadas de esta versión en la página de novedades.

 

Si quieres conocer ésta y otras novedades en profundidad y aprender como aprovechar todas la ventajas de las versiones 21 y 22 de Velneo, no puedes perderte el Curso de actualización 2018, un curso online impartido por nuestros expertos. ¡Aprovecha la oportunidad y consigue el título de Desarrollador Certificado Velneo!

Este artículo Novedad Velneo 22: Gráficos nativos es original de Velneo.

Tagged , , , , , , | Comments Off on Novedad Velneo 22: Gráficos nativos

Nueva revisión Velneo 22.1

velneo20Ya está disponible la revisión 22.1 de Velneo que incluye la solución de una serie de incidencias. Te recomendamos la actualización de todos los componentes de Velneo a esta versión.

Están disponibles en la zona de descargas de la web los instalables de las distintos componentes para los diferentes sistemas operativos.

Las incidencias solucionadas en esta revisión son las siguientes:

  • VELNEO-5484 Problema en la migración de la propiedad de formato local de controles de formulario.
  • VERP-289 Se corrige la toolbar de la rejilla que dispara el informe.
  • VERP-288 Se eliminan del menú los controles de búsqueda porque no son funcionales, dejando que la búsqueda muestre todos los traspasos en orden inverso.
  • VERP-286 Se ha corregido la carga de albaranes para que aparezcan los pendientes de facturar de cliente (ventas) y de proveedores (compras).
  • VERP-282 Revisados todos los controles de formularios para que la propiedad formato numérico tenga el valor “Local”, exceptuando los controles que muestran año, ejercicio o nº de documento.

 

¿En qué consiste la incidencia VELNEO-5484?

Al migrar una solución de la 21 a la 22 se inicializa la propiedad “formato local” de controles de edición numéricos de formularios con el valor ninguno.

La incidencia se produce al editar el proyecto en un servidor de la versión 22 con Velneo vDevelop. Si no hemos modificado el proyecto con Velneo vDevelop, la revisión 22.1 evita la incidencia: La revisión 22.1 permite migrar directamente los proyectos desde la versión 21 a la 22.1, sin pasar por la 22.0, evitando que se produzca el problema.

Tienes disponible una nueva extensión del vDevelop “Localizador de formato local en controles de formulario” que permite localizar los controles que tienen esta propiedad en proyectos de la versión 21 o 22 para configurarla según nuestras necesidades.

Está disponible también, la revisión 22.1 de Velneo vERP en la zona de descargas.

¿Será compatible la revisión 22.1 con la versión 22.0?

Las versiones son compatibles, pudiendo conectarse Velneo vClient 22.1 a Velneo vServer 22.0 y viceversa, de todas formas os recomendamos que actualicéis todos los componentes para poder disfrutar de las mejoras de esta nueva revisión.

¿Debo activar de nuevo el servidor tras actualizarlo?

No es necesario. Una vez actualizado reconocerá la activación ya realizada.

Este artículo Nueva revisión Velneo 22.1 es original de Velneo.

Tagged , , , | Comments Off on Nueva revisión Velneo 22.1